genghisapp 2.2.2 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/CHANGELOG.markdown +20 -0
- data/genghis.rb +109 -78
- data/spec/requests/api_spec.rb +23 -13
- metadata +5 -34
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NzkwYmViMmYzMTYwYTk0NGFjMzUyZTdhYzJjN2EzMmQ2MDc2MjhkMg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZDM4OTFiYzQ4YjgxNzM0ZDQ0NDg5YjhjNGU4NjA1MGIxYWRjODllYg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
YmVmZWEyMzMyMTQ3ZmY3YmEwNTA2MTVlZWNhYzQzZGU3YWMxNjE2Mzg0NGZk
|
10
|
+
MjAyMzY3ZWQyZGFiMTg1ODQyOTAyY2U4MjNkZGQxNjlmN2Q3ZGY0ZmQxOThj
|
11
|
+
ZDJlNTMwZDBmN2M5N2EwYmI0MTEwM2E3ZTRlNWYxMTIzZjJmZmI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NjAwNWY0OWE3MTE4MTgxMzUyZDY0MTBmNWExZDk4ZTczNzRiNzkzYjQyMDdl
|
14
|
+
MTk1MTI5Zjc5YzkwZWYxNDNlMmQ3NjdmZDVkNzY2NDI2NWVhMjIzNmM5ZGRl
|
15
|
+
YTE0MjQyOWM4YmMyOGZiNWFiMTJhY2JmYWI0YmI0NDM0MTg1Nzk=
|
data/CHANGELOG.markdown
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
## v2.3.0
|
2
|
+
|
3
|
+
* [Fix #69][i69], [#74][i74] , [#84][i84] and [#91][i91] — Fix errors authenticating against a single database.
|
4
|
+
* Add detailed database and collection size stats.
|
5
|
+
* Friendlier "human" size rounding.
|
6
|
+
* [Fix #89][i89] — Improve handling of databases with invalid names.
|
7
|
+
* [Fix #90][i90] — Fix error loading server list after adding a malformed server DSN (PHP backend).
|
8
|
+
* [Fix #81][i81] — Suppress dependency version warnings for (really) old versions of rubygems.
|
9
|
+
* Fix various and sundry compile errors and edge cases.
|
10
|
+
* Bump Bootstrap and Mousetrap library versions.
|
11
|
+
|
12
|
+
[i69]: https://github.com/bobthecow/genghis/issues/69
|
13
|
+
[i74]: https://github.com/bobthecow/genghis/issues/74
|
14
|
+
[i81]: https://github.com/bobthecow/genghis/issues/81
|
15
|
+
[i84]: https://github.com/bobthecow/genghis/issues/84
|
16
|
+
[i89]: https://github.com/bobthecow/genghis/issues/89
|
17
|
+
[i90]: https://github.com/bobthecow/genghis/issues/90
|
18
|
+
[i91]: https://github.com/bobthecow/genghis/issues/91
|
19
|
+
|
20
|
+
|
1
21
|
## v2.2.2
|
2
22
|
|
3
23
|
* Fix vertical position of GridFS file creation dialog.
|
data/genghis.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
#
|
3
|
-
# Genghis v2.
|
3
|
+
# Genghis v2.3.0
|
4
4
|
#
|
5
5
|
# The single-file MongoDB admin app
|
6
6
|
#
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# @author Justin Hileman <justin@justinhileman.info>
|
10
10
|
#
|
11
11
|
module Genghis
|
12
|
-
VERSION = "2.
|
12
|
+
VERSION = "2.3.0"
|
13
13
|
end
|
14
14
|
GENGHIS_VERSION = Genghis::VERSION
|
15
15
|
|
@@ -341,6 +341,7 @@ module Genghis
|
|
341
341
|
:name => @collection.name,
|
342
342
|
:count => @collection.count,
|
343
343
|
:indexes => @collection.index_information.values,
|
344
|
+
:stats => @collection.stats,
|
344
345
|
}
|
345
346
|
end
|
346
347
|
|
@@ -389,40 +390,47 @@ end
|
|
389
390
|
module Genghis
|
390
391
|
module Models
|
391
392
|
class Database
|
392
|
-
def initialize(
|
393
|
-
@
|
393
|
+
def initialize(client, name)
|
394
|
+
@client = client
|
395
|
+
@name = name
|
394
396
|
end
|
395
397
|
|
396
398
|
def name
|
397
|
-
|
399
|
+
database.name
|
398
400
|
end
|
399
401
|
|
400
402
|
def drop!
|
401
|
-
|
403
|
+
database.connection.drop_database(database.name)
|
402
404
|
end
|
403
405
|
|
404
406
|
def create_collection(coll_name)
|
405
|
-
raise Genghis::CollectionAlreadyExists.new(self, coll_name) if
|
406
|
-
|
407
|
-
Collection.new(
|
407
|
+
raise Genghis::CollectionAlreadyExists.new(self, coll_name) if database.collection_names.include? coll_name
|
408
|
+
database.create_collection coll_name rescue raise Genghis::MalformedDocument.new('Invalid collection name')
|
409
|
+
Collection.new(database[coll_name])
|
408
410
|
end
|
409
411
|
|
410
412
|
def collections
|
411
|
-
@collections ||=
|
413
|
+
@collections ||= database.collections.map { |c| Collection.new(c) unless system_collection?(c) }.compact
|
412
414
|
end
|
413
415
|
|
414
416
|
def [](coll_name)
|
415
|
-
raise Genghis::CollectionNotFound.new(self, coll_name) unless
|
416
|
-
Collection.new(
|
417
|
+
raise Genghis::CollectionNotFound.new(self, coll_name) unless database.collection_names.include? coll_name
|
418
|
+
Collection.new(database[coll_name])
|
417
419
|
end
|
418
420
|
|
419
421
|
def as_json(*)
|
420
422
|
{
|
421
|
-
:id =>
|
422
|
-
:name =>
|
423
|
+
:id => database.name,
|
424
|
+
:name => database.name,
|
423
425
|
:count => collections.count,
|
424
426
|
:collections => collections.map { |c| c.name },
|
425
|
-
:
|
427
|
+
:stats => stats,
|
428
|
+
}
|
429
|
+
rescue Mongo::InvalidNSName => e
|
430
|
+
{
|
431
|
+
:id => @name,
|
432
|
+
:name => @name,
|
433
|
+
:error => e.message,
|
426
434
|
}
|
427
435
|
end
|
428
436
|
|
@@ -432,15 +440,23 @@ module Genghis
|
|
432
440
|
|
433
441
|
private
|
434
442
|
|
443
|
+
def database
|
444
|
+
@database ||= @client[@name]
|
445
|
+
end
|
446
|
+
|
435
447
|
def info
|
436
448
|
@info ||= begin
|
437
|
-
name =
|
438
|
-
|
449
|
+
name = database.name
|
450
|
+
database.connection['admin'].command({:listDatabases => true})['databases'].detect do |db|
|
439
451
|
db['name'] == name
|
440
452
|
end
|
441
453
|
end
|
442
454
|
end
|
443
455
|
|
456
|
+
def stats
|
457
|
+
@stats ||= database.command({:dbStats => true})
|
458
|
+
end
|
459
|
+
|
444
460
|
def system_collection?(coll)
|
445
461
|
[
|
446
462
|
Mongo::DB::SYSTEM_NAMESPACE_COLLECTION,
|
@@ -536,22 +552,22 @@ module Genghis
|
|
536
552
|
end
|
537
553
|
|
538
554
|
def create_database(db_name)
|
539
|
-
raise Genghis::DatabaseAlreadyExists.new(self, db_name) if
|
555
|
+
raise Genghis::DatabaseAlreadyExists.new(self, db_name) if db_exists? db_name
|
540
556
|
begin
|
541
557
|
client[db_name]['__genghis_tmp_collection__'].drop
|
542
558
|
rescue Mongo::InvalidNSName
|
543
559
|
raise Genghis::MalformedDocument.new('Invalid database name')
|
544
560
|
end
|
545
|
-
Database.new(client
|
561
|
+
Database.new(client, db_name)
|
546
562
|
end
|
547
563
|
|
548
564
|
def databases
|
549
|
-
info['databases'].map { |db| Database.new(client
|
565
|
+
info['databases'].map { |db| Database.new(client, db['name']) }
|
550
566
|
end
|
551
567
|
|
552
568
|
def [](db_name)
|
553
|
-
raise Genghis::DatabaseNotFound.new(self, db_name) unless
|
554
|
-
Database.new(client
|
569
|
+
raise Genghis::DatabaseNotFound.new(self, db_name) unless db_exists? db_name
|
570
|
+
Database.new(client, db_name)
|
555
571
|
end
|
556
572
|
|
557
573
|
def as_json(*)
|
@@ -640,13 +656,22 @@ module Genghis
|
|
640
656
|
if @db.nil?
|
641
657
|
client['admin'].command({:listDatabases => true})
|
642
658
|
else
|
659
|
+
stats = client[@db].command(:dbStats => true)
|
643
660
|
{
|
644
661
|
'databases' => [{'name' => @db}],
|
645
|
-
'totalSize' =>
|
662
|
+
'totalSize' => stats['fileSize']
|
646
663
|
}
|
647
664
|
end
|
648
665
|
end
|
649
666
|
end
|
667
|
+
|
668
|
+
def db_exists?(db_name)
|
669
|
+
if @db.nil?
|
670
|
+
client.database_names.include? db_name
|
671
|
+
else
|
672
|
+
@db == db_name
|
673
|
+
end
|
674
|
+
end
|
650
675
|
end
|
651
676
|
end
|
652
677
|
end
|
@@ -692,27 +717,6 @@ module Genghis
|
|
692
717
|
|
693
718
|
def server_status_alerts
|
694
719
|
alerts = []
|
695
|
-
unless defined? ::BSON::BSON_C
|
696
|
-
require 'rubygems'
|
697
|
-
|
698
|
-
Gem.refresh
|
699
|
-
|
700
|
-
installed = Gem::Specification.find_all { |s| s.name == 'mongo' }.map { |s| s.version }.sort.last
|
701
|
-
if Gem::Specification.find_all { |s| s.name == 'bson_ext' && s.version == installed }.empty?
|
702
|
-
msg = <<-MSG.strip.gsub(/\s+/, " ")
|
703
|
-
<h4>MongoDB driver C extension not found.</h4>
|
704
|
-
Install this extension for better performance: <code>gem install bson_ext -v #{installed}</code>
|
705
|
-
MSG
|
706
|
-
alerts << {:level => 'warning', :msg => msg}
|
707
|
-
else
|
708
|
-
msg = <<-MSG.strip.gsub(/\s+/, " ")
|
709
|
-
<h4>Restart required</h4>
|
710
|
-
You have recently installed the <tt>bson_ext</tt> extension.
|
711
|
-
Run <code>genghisapp --kill</code> then restart <code>genghisapp</code> to use it.
|
712
|
-
MSG
|
713
|
-
alerts << {:level => 'info', :msg => msg}
|
714
|
-
end
|
715
|
-
end
|
716
720
|
|
717
721
|
unless defined? ::JSON::Ext
|
718
722
|
msg = <<-MSG.strip.gsub(/\s+/, " ")
|
@@ -722,39 +726,66 @@ module Genghis
|
|
722
726
|
alerts << {:level => 'warning', :msg => msg}
|
723
727
|
end
|
724
728
|
|
725
|
-
|
726
|
-
|
727
|
-
require 'rubygems'
|
729
|
+
# It would be awesome if we didn't have to resort to this :)
|
730
|
+
if Gem::Specification.respond_to? :find_all
|
728
731
|
|
729
|
-
|
732
|
+
unless defined? ::BSON::BSON_C
|
733
|
+
require 'rubygems'
|
730
734
|
|
731
|
-
|
732
|
-
installed = Gem::Specification.find_all { |s| s.name == 'genghisapp' }.map { |s| s.version }.sort.last
|
733
|
-
running = Gem::Version.new(Genghis::VERSION.gsub(/[\+_-]/, '.'))
|
735
|
+
Gem.refresh
|
734
736
|
|
735
|
-
|
736
|
-
|
737
|
-
|
737
|
+
installed = Gem::Specification.find_all { |s| s.name == 'mongo' }.map { |s| s.version }.sort.last
|
738
|
+
if Gem::Specification.find_all { |s| s.name == 'bson_ext' && s.version == installed }.empty?
|
739
|
+
msg = <<-MSG.strip.gsub(/\s+/, " ")
|
740
|
+
<h4>MongoDB driver C extension not found.</h4>
|
741
|
+
Install this extension for better performance: <code>gem install bson_ext -v #{installed}</code>
|
742
|
+
MSG
|
743
|
+
alerts << {:level => 'warning', :msg => msg}
|
744
|
+
else
|
745
|
+
msg = <<-MSG.strip.gsub(/\s+/, " ")
|
746
|
+
<h4>Restart required</h4>
|
747
|
+
You have recently installed the <tt>bson_ext</tt> extension.
|
748
|
+
Run <code>genghisapp --kill</code> then restart <code>genghisapp</code> to use it.
|
749
|
+
MSG
|
750
|
+
alerts << {:level => 'info', :msg => msg}
|
738
751
|
end
|
739
|
-
rescue
|
740
|
-
# do nothing...
|
741
752
|
end
|
742
753
|
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
754
|
+
unless ENV['GENGHIS_NO_UPDATE_CHECK']
|
755
|
+
require 'open-uri'
|
756
|
+
require 'rubygems'
|
757
|
+
|
758
|
+
Gem.refresh
|
759
|
+
|
760
|
+
latest = nil
|
761
|
+
installed = Gem::Specification.find_all { |s| s.name == 'genghisapp' }.map { |s| s.version }.sort.last
|
762
|
+
running = Gem::Version.new(Genghis::VERSION.gsub(/[\+_-]/, '.'))
|
763
|
+
|
764
|
+
begin
|
765
|
+
open('https://raw.github.com/bobthecow/genghis/master/VERSION') do |f|
|
766
|
+
latest = Gem::Version.new(f.read.gsub(/[\+_-]/, '.'))
|
767
|
+
end
|
768
|
+
rescue
|
769
|
+
# do nothing...
|
770
|
+
end
|
771
|
+
|
772
|
+
if latest && (installed || running) < latest
|
773
|
+
msg = <<-MSG.strip.gsub(/\s+/, " ")
|
774
|
+
<h4>A Genghis update is available</h4>
|
775
|
+
You are running Genghis version <tt>#{Genghis::VERSION}</tt>. The current version is <tt>#{latest}</tt>.
|
776
|
+
Visit <a href="http://genghisapp.com">genghisapp.com</a> for more information.
|
777
|
+
MSG
|
778
|
+
alerts << {:level => 'warning', :msg => msg}
|
779
|
+
elsif installed && running < installed
|
780
|
+
msg = <<-MSG.strip.gsub(/\s+/, " ")
|
781
|
+
<h4>Restart required</h4>
|
782
|
+
You have installed Genghis version <tt>#{installed}</tt> but are still running <tt>#{Genghis::VERSION}</tt>.
|
783
|
+
Run <code>genghisapp --kill</code> then restart <code>genghisapp</code>.
|
784
|
+
MSG
|
785
|
+
alerts << {:level => 'info', :msg => msg}
|
786
|
+
end
|
757
787
|
end
|
788
|
+
|
758
789
|
end
|
759
790
|
|
760
791
|
alerts
|
@@ -1014,7 +1045,7 @@ __END__
|
|
1014
1045
|
|
1015
1046
|
@@ style.css
|
1016
1047
|
/**
|
1017
|
-
* Genghis v2.
|
1048
|
+
* Genghis v2.3.0
|
1018
1049
|
*
|
1019
1050
|
* The single-file MongoDB admin app
|
1020
1051
|
*
|
@@ -1022,11 +1053,11 @@ __END__
|
|
1022
1053
|
*
|
1023
1054
|
* @author Justin Hileman <justin@justinhileman.info>
|
1024
1055
|
*/
|
1025
|
-
.CodeMirror{line-height:1em;font-family:monospace;position:relative;overflow:hidden}.CodeMirror-scroll{overflow:auto;height:300px;position:relative;outline:none}.CodeMirror-scrollbar{position:absolute;right:0;top:0;overflow-x:hidden;overflow-y:scroll;z-index:5}.CodeMirror-scrollbar-inner{width:1px}.CodeMirror-scrollbar.cm-sb-overlap{position:absolute;z-index:1;float:none;right:0;min-width:12px}.CodeMirror-scrollbar.cm-sb-nonoverlap{min-width:12px}.CodeMirror-scrollbar.cm-sb-ie7{min-width:18px}.CodeMirror-gutter{position:absolute;left:0;top:0;z-index:10;background-color:#f7f7f7;border-right:1px solid #eee;min-width:2em;height:100%}.CodeMirror-gutter-text{color:#aaa;text-align:right;padding:.4em .2em .4em .4em;white-space:pre !important;cursor:default}.CodeMirror-lines{padding:.4em;white-space:pre;cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;margin:0;padding:0;background:transparent;font-family:inherit;font-size:inherit;padding:0;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;overflow:visible}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror textarea{outline:none !important}.CodeMirror pre.CodeMirror-cursor{z-index:10;position:absolute;visibility:hidden;border-left:1px solid black;border-right:none;width:0}.cm-keymap-fat-cursor pre.CodeMirror-cursor{width:auto;border:0;background:transparent;background:rgba(0,200,0,.4);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#6600c800,endColorstr=#4c00c800)}.cm-keymap-fat-cursor pre.CodeMirror-cursor:not(#nonsense_id){filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite{}.CodeMirror-focused pre.CodeMirror-cursor{visibility:visible}div.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused div.CodeMirror-selected{background:#d7d4f0}.CodeMirror-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-s-default span.cm-keyword{color:#708}.cm-s-default span.cm-atom{color:#219}.cm-s-default span.cm-number{color:#164}.cm-s-default span.cm-def{color:#00f}.cm-s-default span.cm-variable{color:#000}.cm-s-default span.cm-variable-2{color:#05a}.cm-s-default span.cm-variable-3{color:#085}.cm-s-default span.cm-property{color:#000}.cm-s-default span.cm-operator{color:#000}.cm-s-default span.cm-comment{color:#a50}.cm-s-default span.cm-string{color:#a11}.cm-s-default span.cm-string-2{color:#f50}.cm-s-default span.cm-meta{color:#555}.cm-s-default span.cm-error{color:red}.cm-s-default span.cm-qualifier{color:#555}.cm-s-default span.cm-builtin{color:#30a}.cm-s-default span.cm-bracket{color:#997}.cm-s-default span.cm-tag{color:#170}.cm-s-default span.cm-attribute{color:#00c}.cm-s-default span.cm-header{color:blue}.cm-s-default span.cm-quote{color:#090}.cm-s-default span.cm-hr{color:#999}.cm-s-default span.cm-link{color:#00c}span.cm-negative{color:#d44}span.cm-positive{color:#292}span.cm-header,span.cm-strong{font-weight:700}span.cm-em{font-style:italic}span.cm-emstrong{font-style:italic;font-weight:700}span.cm-link{text-decoration:underline}span.cm-invalidchar{color:red}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}@media print{.CodeMirror pre.CodeMirror-cursor{visibility:hidden}}kbd,.key{display:inline;display:inline-block;min-width:1em;padding:.2em .3em;font:400 .85em/1 "Lucida Grande",Lucida,Arial,sans-serif;text-align:center;text-decoration:none;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;border:none;cursor:default;-moz-user-select:none;-webkit-user-select:none;user-select:none}kbd[title],.key[title]{cursor:help}kbd,kbd.dark,.dark-keys kbd,.key,.key.dark,.dark-keys .key{background:#505050;background:-moz-linear-gradient(top,#3c3c3c,#505050);background:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#505050));color:#fafafa;text-shadow:-1px -1px 0 #464646;-moz-box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3);-webkit-box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3);box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3)}kbd.light,.light-keys kbd,.key.light,.light-keys .key{background:#fafafa;background:-moz-linear-gradient(top,#d2d2d2,#fff);background:-webkit-gradient(linear,left top,left bottom,from(#d2d2d2),to(#fff));color:#323232;text-shadow:0 0 2px#fff;-moz-box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9);-webkit-box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9);box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9)}html,body{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPwAAADmBAMAAAADyPWpAAAAHlBMVEUAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAzn7ZSAAAACnRSTlMEAgEFAAMGBwgJHK6+iAAAAjVJREFUeF7t3TFvEzEYh3EnUQJjoaRzCGS/ChW6UsF+pc0eCSkwVqrUwhcAPjZT38fDKzmKuBvQ858qy/bP9mT57LTcvIu8iHxZP2VVIl8Prrmj0TpyHW1OIf9zXl5eXl5eXl5+uX1Kv41gzuC7rHASnS4bzdOBlk+Rj/AMr2tMFP4lPb2OwhOg24CuWJIheXl5eXl5eXl5ef5cpbtKxoR0ktUs1JyzfYV/xTwLSUdaSfDMfsOSoC9YsgsaMbu3wX8eh5eXl5eXl5eXl+9pn/IU7pD2kfswP1B4l/U5ZfRAR53pXj5GKgl+ly3JOcevLMmQvLy8vLy8vLy8fN/YQNL+d5g/4X+F+Q3+Lv/+HmGe1Ub7LO0U/gEpW5L31JykEx2bl5eXl5eXl5eXr25w7iPsKn/AVxL8njQ+oJNZIdPspBYTqVXzonF9AGg1Di8vLy8vLy8vL89h43wdKUd8VS/byDV8Bj17jBQyZ/gMZNO4KpoUNtfpchxeXl5eXl5eXl5+S7K94pL2VLjJvsqfUpjuP9lqPv8TKckF0vSpU3v7nPGz7KLrm31kQF5eXl5eXl5eXj5/rdMdcVa5OHiruaj4/AIpVQc4/a1qDsnLy8vLy8vLy8t3UNkBZj/Ap/ZFSQPP7vuKwn92+rsEGoOXl5eXl5eXl5fPfywp/133CXzVP3z6fr5rvEo6qx/AR7JO1/D9EYtX6GhIXl5eXl5eXl5eHvM7fPUAvvEviOBn1Jwz5orPav4FxfqDRAI+1ZEAAAAASUVORK5CYII=')}.navbar-search .grippie{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAYAAAA4GpVBAAAAFklEQVQIHWPYvXv3f4b/QAAiGBhwcQEh7xt/uRvGTgAAAABJRU5ErkJggg==')}.nav .dropdown,.navbar-search{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAiCAQAAADMxIBtAAABMklEQVQoz2P4z8jA9J+JARUABdj+s2EIerI3cKEJ/2e8zyHE918AXS2njNBFsf+sqIKsfUJJUv9F0Qz4KMSh+EkNzQ3/+Vzktqv/F0IVZNsm46bzXwPdMgkB/Tdm/znQDEjT6DP7r4QqyHJZWdvmvy3Q0yjCUnoW513/i6EK8jcY1bj9N0Uz4KGWktenAHTLZDwctgShOew//2yLqNAfXiiW/eefahUf9t8dVaWcq/Pu4P/KKGF1VVvH+6c/ShD+Fyo06XL7r4emWdb2scd/PmQh9nVqjtb/zVHVCTlqbzD/L4ES9t+kuYx+maOE/X/OcrlC7f8KaJrllB5o/mdHSQ7XheUVURwN0hwotkgOxTFAQR4G8f9SaGlpM1eUILo6NnHuG7zoCYEFmBQ50GMcS6IFAAXadPqU82J+AAAAAElFTkSuQmCC')}section#servers tr.spinning td:first-child{background-image:url('data:image/gif;base64,R0lGODlhEAALAPQAAP///zMzM+Hh4dnZ2e7u7jc3NzMzM1dXV5qamn9/f8fHx05OTm5ubqGhoYKCgsrKylFRUTY2NnFxcerq6t/f3/b29l9fX+Li4vT09MTExLKystTU1PHx8QAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA')}body > section section.spinning > header h2{background-image:url('data:image/gif;base64,R0lGODlhEAALAPQAAN7e3oiIiNHR0c3NzdbW1omJiYiIiJeXl7Ozs6enp8bGxpKSkqCgoLa2tqmpqcjIyJSUlIiIiKKiotXV1dDQ0Nra2pqamtLS0tnZ2cXFxb29vcvLy9jY2AAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA')}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#1d8835;text-decoration:none}a:hover{color:#10491c;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"] + [class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;content:"";line-height:0}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:700}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover{color:#808080}.text-warning{color:#c09853}a.text-warning:hover{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover{color:#2d6987}.text-success{color:#468847}a.text-success:hover{color:#356635}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:700;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid#eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline > li,ol.inline > li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid#eee;border-bottom:1px solid#fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted#999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid#eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid#eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:400;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;vertical-align:middle}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid#ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;border:1px solid#ccc;background-color:#fff}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);cursor:not-allowed}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls > .radio:first-child,.controls > .checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline + .radio.inline,.checkbox.inline + .checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"] + [class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0#fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group > .dropdown-toggle,.input-prepend .btn-group > .dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input + .btn-group .btn:last-child,.input-append select + .btn-group .btn:last-child,.input-append .uneditable-input + .btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child > .dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input + .btn-group .btn,.input-prepend.input-append select + .btn-group .btn,.input-prepend.input-append .uneditable-input + .btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend + .control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input + .help-block,.form-horizontal select + .help-block,.form-horizontal textarea + .help-block,.form-horizontal .uneditable-input + .help-block,.form-horizontal .input-prepend + .help-block,.form-horizontal .input-append + .help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid#ddd}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table caption + thead tr:first-child th,.table caption + thead tr:first-child td,.table colgroup + thead tr:first-child th,.table colgroup + thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody + tbody{border-top:2px solid#ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid#ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid#ddd}.table-bordered caption + thead tr:first-child th,.table-bordered caption + tbody tr:first-child th,.table-bordered caption + tbody tr:first-child td,.table-bordered colgroup + thead tr:first-child th,.table-bordered colgroup + tbody tr:first-child th,.table-bordered colgroup + tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child > th:first-child,.table-bordered tbody:first-child tr:first-child > td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.table-bordered thead:first-child tr:first-child > th:last-child,.table-bordered tbody:first-child tr:first-child > td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px}.table-bordered thead:last-child tr:last-child > th:first-child,.table-bordered tbody:last-child tr:last-child > td:first-child,.table-bordered tfoot:last-child tr:last-child > td:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.table-bordered thead:last-child tr:last-child > th:last-child,.table-bordered tbody:last-child tr:last-child > td:last-child,.table-bordered tfoot:last-child tr:last-child > td:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.table-bordered tfoot + tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0}.table-bordered tfoot + tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0}.table-bordered caption + thead tr:first-child th:first-child,.table-bordered caption + tbody tr:first-child td:first-child,.table-bordered colgroup + thead tr:first-child th:first-child,.table-bordered colgroup + tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.table-bordered caption + thead tr:first-child th:last-child,.table-bordered caption + tbody tr:first-child td:last-child,.table-bordered colgroup + thead tr:first-child th:last-child,.table-bordered colgroup + tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px}.table-striped tbody > tr:nth-child(odd) > td,.table-striped tbody > tr:nth-child(odd) > th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;margin-top:1px}.icon-white,.nav-pills > .active > a > [class^="icon-"],.nav-pills > .active > a > [class*=" icon-"],.nav-list > .active > a > [class^="icon-"],.nav-list > .active > a > [class*=" icon-"],.navbar-inverse .nav > .active > a > [class^="icon-"],.navbar-inverse .nav > .active > a > [class*=" icon-"],.dropdown-menu > li > a:hover > [class^="icon-"],.dropdown-menu > li > a:hover > [class*=" icon-"],.dropdown-menu > .active > a > [class^="icon-"],.dropdown-menu > .active > a > [class*=" icon-"],.dropdown-submenu:hover > a > [class^="icon-"],.dropdown-submenu:hover > a > [class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px;width:16px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{background-position:-408px -120px;width:16px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid#000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff}.dropdown-menu li > a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li > a:hover,.dropdown-menu li > a:focus,.dropdown-submenu:hover > a{text-decoration:none;color:#fff;background-color:#1b8032;background-image:-moz-linear-gradient(top,#1d8835,#19732d);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#19732d));background-image:-webkit-linear-gradient(top,#1d8835,#19732d);background-image:-o-linear-gradient(top,#1d8835,#19732d);background-image:linear-gradient(to bottom,#1d8835,#19732d);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff19732d',GradientType=0)}.dropdown-menu .active > a,.dropdown-menu .active > a:hover{color:#fff;text-decoration:none;outline:0;background-color:#1b8032;background-image:-moz-linear-gradient(top,#1d8835,#19732d);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#19732d));background-image:-webkit-linear-gradient(top,#1d8835,#19732d);background-image:-o-linear-gradient(top,#1d8835,#19732d);background-image:linear-gradient(to bottom,#1d8835,#19732d);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff19732d',GradientType=0)}.dropdown-menu .disabled > a,.dropdown-menu .disabled > a:hover{color:#999}.dropdown-menu .disabled > a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default}.open{*z-index:1000}.open > .dropdown-menu{display:block}.pull-right > .dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid#000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu > .dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover > .dropdown-menu{display:block}.dropup .dropdown-submenu > .dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu > a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px}.dropdown-submenu:hover > a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left > .dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:700;line-height:20px;color:#000;text-shadow:0 1px 0#fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid#bbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block + .btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#1d8843;background-image:-moz-linear-gradient(top,#1d8835,#1d8859);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#1d8859));background-image:-webkit-linear-gradient(top,#1d8835,#1d8859);background-image:-o-linear-gradient(top,#1d8835,#1d8859);background-image:linear-gradient(to bottom,#1d8835,#1d8859);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff1d8859',GradientType=0);border-color:#1d8859 #1d8859 #104930;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#1d8859;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#1d8859;*background-color:#19734b}.btn-primary:active,.btn-primary.active{background-color:#145e3d \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#f89406;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#bd362f;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#51a351;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#2f96b4;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);border-color:#222 #222222#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#222;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{border-color:transparent;cursor:pointer;color:#1d8835;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#10491c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em}.btn-group:first-child{*margin-left:0}.btn-group + .btn-group{margin-left:5px}.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px}.btn-toolbar > .btn + .btn,.btn-toolbar > .btn-group + .btn,.btn-toolbar > .btn + .btn-group{margin-left:5px}.btn-group > .btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group > .btn + .btn{margin-left:-1px}.btn-group > .btn,.btn-group > .dropdown-menu,.btn-group > .popover{font-size:14px}.btn-group > .btn-mini{font-size:10.5px}.btn-group > .btn-small{font-size:11.9px}.btn-group > .btn-large{font-size:17.5px}.btn-group > .btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.btn-group > .btn:last-child,.btn-group > .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group > .btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.btn-group > .btn.large:last-child,.btn-group > .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px}.btn-group > .btn:hover,.btn-group > .btn:focus,.btn-group > .btn:active,.btn-group > .btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group > .btn + .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px}.btn-group > .btn-mini + .dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px}.btn-group > .btn-small + .dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group > .btn-large + .dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#1d8859}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical > .btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical > .btn + .btn{margin-left:0;margin-top:-1px}.btn-group-vertical > .btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical > .btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical > .btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical > .btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success h4{color:#468847}.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block > p,.alert-block > ul{margin-bottom:0}.alert-block p + p{margin-top:5px}.nav{margin-left:0;margin-bottom:20px;list-style:none}.nav > li > a{display:block}.nav > li > a:hover{text-decoration:none;background-color:#eee}.nav > li > a > img{max-width:none}.nav > .pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:700;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li + .nav-header{margin-top:9px}.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0}.nav-list > li > a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list > li > a{padding:3px 15px}.nav-list > .active > a,.nav-list > .active > a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#1d8835}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs > li,.nav-pills > li{float:left}.nav-tabs > li > a,.nav-pills > li > a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs > li{margin-bottom:-1px}.nav-tabs > li > a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs > li > a:hover{border-color:#eee #eeeeee#ddd}.nav-tabs > .active > a,.nav-tabs > .active > a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills > li > a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills > .active > a,.nav-pills > .active > a:hover{color:#fff;background-color:#1d8835}.nav-stacked > li{float:none}.nav-stacked > li > a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked > li > a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked > li:first-child > a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.nav-tabs.nav-stacked > li:last-child > a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.nav-tabs.nav-stacked > li > a:hover{border-color:#ddd;z-index:2}.nav-pills.nav-stacked > li > a{margin-bottom:3px}.nav-pills.nav-stacked > li:last-child > a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{border-top-color:#1d8835;border-bottom-color:#1d8835;margin-top:6px}.nav .dropdown-toggle:hover .caret{border-top-color:#10491c;border-bottom-color:#10491c}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav > .dropdown.active > a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav > li.dropdown.open.active > a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open > a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below > .nav-tabs,.tabs-right > .nav-tabs,.tabs-left > .nav-tabs{border-bottom:0}.tab-content > .tab-pane,.pill-content > .pill-pane{display:none}.tab-content > .active,.pill-content > .active{display:block}.tabs-below > .nav-tabs{border-top:1px solid #ddd}.tabs-below > .nav-tabs > li{margin-top:-1px;margin-bottom:0}.tabs-below > .nav-tabs > li > a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below > .nav-tabs > li > a:hover{border-bottom-color:transparent;border-top-color:#ddd}.tabs-below > .nav-tabs > .active > a,.tabs-below > .nav-tabs > .active > a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left > .nav-tabs > li,.tabs-right > .nav-tabs > li{float:none}.tabs-left > .nav-tabs > li > a,.tabs-right > .nav-tabs > li > a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left > .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left > .nav-tabs > li > a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left > .nav-tabs > li > a:hover{border-color:#eee #dddddd#eee #eeeeee}.tabs-left > .nav-tabs .active > a,.tabs-left > .nav-tabs .active > a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right > .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right > .nav-tabs > li > a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right > .nav-tabs > li > a:hover{border-color:#eee #eeeeee#eee #dddddd}.tabs-right > .nav-tabs .active > a,.tabs-right > .nav-tabs .active > a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav > .disabled > a{color:#999}.nav > .disabled > a:hover{text-decoration:none;background-color:transparent;cursor:default}.navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2}.navbar-inner{min-height:60px;padding-left:20px;padding-right:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065);*zoom:1}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{float:left;display:block;padding:20px 20px 20px;margin-left:-20px;font-size:20px;font-weight:200;color:#fff;text-shadow:0 1px 0#fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:60px;color:#777}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:60px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid#fff}.navbar .btn,.navbar .btn-group{margin-top:15px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:15px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:15px;margin-bottom:0}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1010;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav > li{float:left}.navbar .nav > li > a{float:none;padding:20px 15px 20px;color:#777;text-decoration:none;text-shadow:0 1px 0#fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav > li > a:focus,.navbar .nav > li > a:hover{background-color:transparent;color:#333;text-decoration:none}.navbar .nav > .active > a,.navbar .nav > .active > a:hover,.navbar .nav > .active > a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e5e5e5;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar + .icon-bar{margin-top:3px}.navbar .nav > li > .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute;top:-7px;left:9px}.navbar .nav > li > .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid#fff;position:absolute;top:-6px;left:10px}.navbar-fixed-bottom .nav > li > .dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0;bottom:-7px;top:auto}.navbar-fixed-bottom .nav > li > .dropdown-menu:after{border-top:6px solid#fff;border-bottom:0;bottom:-6px;top:auto}.navbar .nav li.dropdown > a:hover .caret{border-top-color:#555;border-bottom-color:#555}.navbar .nav li.dropdown.open > .dropdown-toggle,.navbar .nav li.dropdown.active > .dropdown-toggle,.navbar .nav li.dropdown.open.active > .dropdown-toggle{background-color:#e5e5e5;color:#555}.navbar .nav li.dropdown > .dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open > .dropdown-toggle .caret,.navbar .nav li.dropdown.active > .dropdown-toggle .caret,.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right > li > .dropdown-menu,.navbar .nav > li > .dropdown-menu.pull-right{left:auto;right:0}.navbar .pull-right > li > .dropdown-menu:before,.navbar .nav > li > .dropdown-menu.pull-right:before{left:auto;right:12px}.navbar .pull-right > li > .dropdown-menu:after,.navbar .nav > li > .dropdown-menu.pull-right:after{left:auto;right:13px}.navbar .pull-right > li > .dropdown-menu .dropdown-menu,.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0);border-color:#252525}.navbar-inverse .brand,.navbar-inverse .nav > li > a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav > li > a:hover{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav > li > a:focus,.navbar-inverse .nav > li > a:hover{background-color:transparent;color:#fff}.navbar-inverse .nav .active > a,.navbar-inverse .nav .active > a:hover,.navbar-inverse .nav .active > a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-left-color:#111;border-right-color:#222}.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle{background-color:#111;color:#fff}.navbar-inverse .nav li.dropdown > a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0#fff;background-color:#fff;border:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15);outline:0}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);border-color:#040404 #040404#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#040404;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb > li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0#fff}.breadcrumb > li > .divider{padding:0 5px;color:#ccc}.breadcrumb > .active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul > li{display:inline}.pagination ul > li > a,.pagination ul > li > span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid#ddd;border-left-width:0}.pagination ul > li > a:hover,.pagination ul > .active > a,.pagination ul > .active > span{background-color:#f5f5f5}.pagination ul > .active > a,.pagination ul > .active > span{color:#999;cursor:default}.pagination ul > .disabled > span,.pagination ul > .disabled > a,.pagination ul > .disabled > a:hover{color:#999;background-color:transparent;cursor:default}.pagination ul > li:first-child > a,.pagination ul > li:first-child > span{border-left-width:1px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.pagination ul > li:last-child > a,.pagination ul > li:last-child > span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul > li > a,.pagination-large ul > li > span{padding:11px 19px;font-size:17.5px}.pagination-large ul > li:first-child > a,.pagination-large ul > li:first-child > span{-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.pagination-large ul > li:last-child > a,.pagination-large ul > li:last-child > span{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px}.pagination-mini ul > li:first-child > a,.pagination-small ul > li:first-child > a,.pagination-mini ul > li:first-child > span,.pagination-small ul > li:first-child > span{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.pagination-mini ul > li:last-child > a,.pagination-small ul > li:last-child > a,.pagination-mini ul > li:last-child > span,.pagination-small ul > li:last-child > span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.pagination-small ul > li > a,.pagination-small ul > li > span{padding:2px 10px;font-size:11.9px}.pagination-mini ul > li > a,.pagination-mini ul > li > span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1}.pager:before,.pager:after{display:table;content:"";line-height:0}.pager:after{clear:both}.pager li{display:inline}.pager li > a,.pager li > span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li > a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next > a,.pager .next > span{float:right}.pager .previous > a,.pager .previous > span{float:left}.pager .disabled > a,.pager .disabled > a:hover,.pager .disabled > span{color:#999;background-color:#fff;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:none}.modal.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff;*zoom:1}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0}.modal-footer:after{clear:both}.modal-footer .btn + .btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn + .btn{margin-left:-1px}.modal-footer .btn-block + .btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1030;display:none;width:236px;padding:1px;text-align:left;background-color:#fff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left .arrow:after{right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails > li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#1d8835;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail > img{display:block;max-width:100%;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#555}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:700;line-height:14px;color:#fff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.progress .bar{width:0;height:100%;color:#fff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar + .bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{overflow:hidden;width:100%;position:relative}.carousel-inner > .item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner > .item > img{display:block;line-height:1}.carousel-inner > .active,.carousel-inner > .next,.carousel-inner > .prev{display:block}.carousel-inner > .active{left:0}.carousel-inner > .next,.carousel-inner > .prev{position:absolute;top:0;width:100%}.carousel-inner > .next{left:100%}.carousel-inner > .prev{left:-100%}.carousel-inner > .next.left,.carousel-inner > .prev.right{left:0}.carousel-inner > .active.left{left:-100%}.carousel-inner > .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid#fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{left:auto;right:15px}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{color:#fff;line-height:20px}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.container,.navbar .container{padding-left:20px;padding-right:20px;width:auto;min-width:320px;max-width:1400px}.navbar .brand{font-size:32px;line-height:32px;padding:16px 20px 12px;font-weight:700;color:#ddd;text-shadow:0 -1px 0 rgba(0,0,0,0.25),0 1px 0#fff,0 0 30px rgba(0,0,0,0.125);-webkit-transition:color .1s linear;-moz-transition:color .1s linear;-o-transition:color .1s linear;transition:color .1s linear}.navbar .brand:hover{color:#1d8835}.navbar .nav > li > a{min-height:18px}.navbar .nav li.dropdown .dropdown-toggle{padding:20px 10px 21px 20px;white-space:nowrap}.navbar .nav li.dropdown > .dropdown-toggle,.navbar .nav li.dropdown.open > .dropdown-toggle,.navbar .nav li.dropdown.active > .dropdown-toggle{background-color:transparent}.navbar .nav .dropdown-menu li a{padding-right:4em;position:relative}.navbar .nav .dropdown-menu li a span{padding:0 6px;display:inline-block;position:absolute;top:50%;right:10px;margin-top:-8px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;line-height:16px;color:#666;background-color:rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2);-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2);box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2)}.navbar .nav .dropdown-menu li a:hover span{color:#DDD}.navbar .nav .dropdown-menu li.active a span{color:#CCC;background-color:rgba(0,0,0,0.2)}.navbar form{padding-left:20px;margin:15px 0 0 -10px}.navbar .control-group{margin-bottom:0}code,pre{font-family:'Source Code Pro',monospace}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(29,136,53,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6)}.nav .dropdown,.navbar-search{background-color:transparent;background-position:center left;background-repeat:no-repeat}.navbar-search{background-position:left -1px}.popover-title{font-size:18px}.confirm-modal{width:420px;margin-left:-210px}.confirm-modal .confirm-input{width:97%}html,body{color:#111;background-color:#D3D3D3}h1,h2,h3,a.brand,#footer p{font-family:"Rokkitt",serif;font-weight:700}noscript h1{font-size:2.2em;text-align:center;margin:80px 40px}::-moz-selection{background:#b4d6bc;text-shadow:none}::-webkit-selection{background:#b4d6bc;text-shadow:none}::selection{background:#b4d6bc;text-shadow:none}html,body{margin:0;padding:0}body{padding-top:60px}#alerts{margin-top:20px}#footer{font-weight:400;text-align:center}#footer a.keyboard-shortcuts:link,#footer a.keyboard-shortcuts:visited{color:#888}#footer a.keyboard-shortcuts:link img,#footer a.keyboard-shortcuts:visited img{opacity:.5;filter:alpha(opacity=50)}#footer a.keyboard-shortcuts:hover,#footer a.keyboard-shortcuts:active{color:#666}#footer a.keyboard-shortcuts:hover img,#footer a.keyboard-shortcuts:active img{opacity:1;filter:alpha(opacity=100)}#footer a.keyboard-shortcuts img{line-height:1px;vertical-align:text-top;height:11px;width:19px}.navbar .servers{display:none}.navbar .nav-section{display:none}body.section-databases .navbar .nav-section.server,body.section-collections .navbar .nav-section.server,body.section-collections .navbar .nav-section.database,body.section-documents .navbar .nav-section.server,body.section-documents .navbar .nav-section.database,body.section-documents .navbar .nav-section.collection,body.section-document .navbar .nav-section.server,body.section-document .navbar .nav-section.database,body.section-document .navbar .nav-section.collection{display:block}.navbar form{display:none}body.section-documents .navbar form,body.section-document .navbar form{display:block}html.textoverflow .navbar .nav-section > a{max-width:8em;overflow:hidden;text-overflow:ellipsis}.navbar-search{padding-bottom:16px}.navbar-search .grippie{position:absolute;bottom:2px;left:50%;margin-left:-5px;clear:both;display:block;height:12px;width:30px;background-color:transparent;background-position:center center;background-repeat:repeat-x;border:none;opacity:.5;filter:alpha(opacity=50)}.navbar-search .grippie:hover{opacity:1;filter:alpha(opacity=100)}.navbar-search .search-advanced{display:none;position:absolute;top:0;left:0;right:0;bottom:10px}.navbar-search .search-advanced .well{position:absolute;top:0;left:0;right:0;bottom:30px;padding:0;overflow:hidden}.navbar-search .search-advanced.focused .well{border-color:rgba(29,136,53,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6)}.navbar-search .search-advanced .form-actions{position:absolute;left:0;right:0;bottom:0;padding:0;margin:-20px 0 5px;border-top:none;background:transparent}.navbar-search .search-advanced .form-actions .btn{float:right;margin-left:5px}.navbar-search.expanded{position:relative;clear:both;float:none;margin:0 20px;padding:0;background-image:none;min-height:120px}.navbar-search.expanded .grippie{margin-left:-15px}.navbar-search.expanded input.search-query{display:none}.navbar-search.expanded .search-advanced{display:block}.masthead{position:relative;padding:40px 0;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.4),0 0 30px rgba(0,0,0,0.1);background:-webkit-radial-gradient(#115120 25%,transparent 26%) 0 0,-webkit-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-moz-radial-gradient(#115120 25%,transparent 26%) 0 0,-moz-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-ms-radial-gradient(#115120 25%,transparent 26%) 0 0,-ms-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-o-radial-gradient(#115120 25%,transparent 26%) 0 0,-o-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:radial-gradient(#115120 25%,transparent 26%) 0 0,radial-gradient(#115120 25%,transparent 26%) 16px 16px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;-webkit-background-size:32px 30px;-moz-background-size:32px 30px;-ms-background-size:32px 30px;-o-background-size:32px 30px;background-size:32px 30px;background-color:#145e25;-webkit-box-shadow:inset 0 3px 7px rgba(0,0,0,.2),inset 0 -3px 7px rgba(0,0,0,.2);-moz-box-shadow:inset 0 3px 7px rgba(0,0,0,.2),inset 0 -3px 7px rgba(0,0,0,.2);box-shadow:inset 0 3px 7px rgba(0,0,0,.2),inset 0 -3px 7px rgba(0,0,0,.2)}.masthead .container{position:relative;z-index:2}.masthead:after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,0.01);background-image:-moz-linear-gradient(left,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-image:-webkit-gradient(linear,0 0,100% 0,from(rgba(0,0,0,0.5)),to(rgba(255,255,255,0.01)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-image:-o-linear-gradient(left,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-image:linear-gradient(to right,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#03ffffff',GradientType=1)}.masthead h1{font-size:60px;font-weight:700;letter-spacing:-1px;line-height:1}.masthead p{font-size:24px;line-height:1.25;margin-bottom:20px;font-weight:300}.masthead.epic{text-align:center;padding:70px 80px}.masthead.epic h1{font-size:120px}.masthead.epic h2{font-size:80px}.masthead.epic p{font-size:40px;font-weight:200;margin-bottom:30px}.masthead.error{background:-webkit-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-webkit-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-moz-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-moz-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-ms-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-ms-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-o-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-o-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:radial-gradient(#8a3635 25%,transparent 26%) 0 0,radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;-webkit-background-size:32px 30px;-moz-background-size:32px 30px;-ms-background-size:32px 30px;-o-background-size:32px 30px;background-size:32px 30px;background-color:#953b39}.masthead.muted{background:-webkit-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-webkit-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-moz-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-moz-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-ms-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-ms-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-o-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-o-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;-webkit-background-size:32px 30px;-moz-background-size:32px 30px;-ms-background-size:32px 30px;-o-background-size:32px 30px;background-size:32px 30px;background-color:#333}#genghis{min-height:150px}.app-section{display:none;background-color:#fff;margin:20px 0;padding:20px;border:1px solid #AAA;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0 white;-moz-box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0 white;box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0 white}.app-section > header{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;margin:-20px -20px 20px;padding:9px 20px;background-color:#f5f5f5;border-bottom:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff}.app-section > header h2{font-size:24px;margin:0;line-height:30px}.app-section > .content{min-height:100px;-webkit-transition:.1s linear all;-moz-transition:.1s linear all;-o-transition:.1s linear all;transition:.1s linear all}.app-section > p:first-child{margin-top:0}.app-section > p:last-child{margin-bottom:0}.app-section.spinning{height:180px}.app-section.spinning header h2{background-color:transparent;background-position:left center;background-repeat:no-repeat;text-indent:-10000em}.app-section.spinning .controls,.app-section.spinning .add-form,.app-section.spinning .content{display:none}.app-section .details{display:none}.app-section .has-details{border-bottom:1px dotted#998;cursor:default}.add-form button.show,.add-form button.dropdown-toggle{display:none}.add-form.inactive button,.add-form.inactive input,.add-form.inactive .input-append{display:none}.add-form.inactive button.show,.add-form.inactive button.dropdown-toggle{display:inherit}.add-form.inactive .help{display:none}.add-form span.input-append .add-on{margin-right:4px}.add-form .help{cursor:default}table{width:100%;margin-bottom:20px;border:1px solid#ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}table th,table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid#ddd}table th{font-weight:700}table thead th{vertical-align:bottom}table caption + thead tr:first-child th,table caption + thead tr:first-child td,table colgroup + thead tr:first-child th,table colgroup + thead tr:first-child td,table thead:first-child tr:first-child th,table thead:first-child tr:first-child td{border-top:0}table tbody + tbody{border-top:2px solid#ddd}table .table{background-color:#fff}table th,table td{border-left:1px solid#ddd}table caption + thead tr:first-child th,table caption + tbody tr:first-child th,table caption + tbody tr:first-child td,table colgroup + thead tr:first-child th,table colgroup + tbody tr:first-child th,table colgroup + tbody tr:first-child td,table thead:first-child tr:first-child th,table tbody:first-child tr:first-child th,table tbody:first-child tr:first-child td{border-top:0}table thead:first-child tr:first-child > th:first-child,table tbody:first-child tr:first-child > td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}table thead:first-child tr:first-child > th:last-child,table tbody:first-child tr:first-child > td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px}table thead:last-child tr:last-child > th:first-child,table tbody:last-child tr:last-child > td:first-child,table tfoot:last-child tr:last-child > td:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}table thead:last-child tr:last-child > th:last-child,table tbody:last-child tr:last-child > td:last-child,table tfoot:last-child tr:last-child > td:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}table tfoot + tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0}table tfoot + tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0}table caption + thead tr:first-child th:first-child,table caption + tbody tr:first-child td:first-child,table colgroup + thead tr:first-child th:first-child,table colgroup + tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}table caption + thead tr:first-child th:last-child,table caption + tbody tr:first-child td:last-child,table colgroup + thead tr:first-child th:last-child,table colgroup + tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px}table tbody tr:hover td,table tbody tr:hover th{background-color:#f5f5f5}table .header{cursor:pointer}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden}table .header.headerSortUp,table .header.headerSortDown{background-color:rgba(29,136,53,0.050000000000000044);text-shadow:0 1px 1px rgba(255,255,255,0.75)}table .header:hover:after{visibility:visible}table .header.headerSortDown:after,table .header.headerSortDown:hover:after{visibility:visible;opacity:.6;filter:alpha(opacity=60)}table .header.headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.6;filter:alpha(opacity=60)}tr td.action-column{padding:7px 10px 0;text-align:right}tr td.action-column button{visibility:hidden;-webkit-transition-property:color,background,box-shadow;-moz-transition-property:color,background,box-shadow;-o-transition-property:color,background,box-shadow;transition-property:color,background,box-shadow}tr:hover td.action-column button{visibility:inherit}#servers .alert-error{padding:3px 10px;font-weight:700}#servers tr.spinning td:first-child{padding-left:35px;background-color:transparent;background-position:10px center;background-repeat:no-repeat}#servers tr input{display:none}#servers tr.editing span.name{display:none}#servers tr.editing input{display:inherit}html.no-filereader #documents .file-upload{display:none}.index-details{color:#111;list-style:none;margin:0}.index-details li{display:block;margin-bottom:5px}#documents .controls{*zoom:1;margin-bottom:20px}#documents .controls:before,#documents .controls:after{display:table;content:"";line-height:0}#documents .controls:after{clear:both}#documents .add-document{float:left}#documents .pagination{margin:0}#documents .pagination li.prev a:after{content:' Previous'}#documents .pagination li.next a:before{content:'Next '}#document h2 small{font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding-left:10px}#document article h3{display:none}.document{font-family:'Source Code Pro',monospace;line-height:1.4em}.document-wrapper div.well{overflow-x:auto}.document-wrapper div.well h3{margin-top:0}.document-wrapper div.well h3 a{color:#333}.document-wrapper div.well h3 a:hover,.document-wrapper div.well h3 a:active{color:#1d8835}.document-wrapper div.well h3 small{font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding-left:10px}.document-wrapper article{position:relative}.document-wrapper article .document-actions{position:absolute;right:20px;z-index:10}.document-wrapper article .document-actions button.save,.document-wrapper article .document-actions button.cancel{display:none}.document-wrapper article .document-actions button.edit,.document-wrapper article .document-actions button.destroy,.document-wrapper article .document-actions a.grid-download,.document-wrapper article .document-actions a.grid-file{visibility:hidden}.document-wrapper article:hover .document-actions button.edit,.document-wrapper article:hover .document-actions button.destroy,.document-wrapper article:hover .document-actions a.grid-download,.document-wrapper article:hover .document-actions a.grid-file{visibility:inherit}.document-wrapper article div.well{-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.document-wrapper article.edit .document-actions{margin-top:20px}.document-wrapper article.edit .document-actions button.edit,.document-wrapper article.edit .document-actions button.destroy,.document-wrapper article.edit .document-actions a.grid-download,.document-wrapper article.edit .document-actions a.grid-file{display:none}.document-wrapper article.edit .document-actions button.save,.document-wrapper article.edit .document-actions button.cancel{display:inline-block}.document-wrapper article.edit div.well{padding:0;background-color:#fff;*zoom:1}.document-wrapper article.edit div.well h3{display:none}.document-wrapper article.edit div.well:before,.document-wrapper article.edit div.well:after{display:table;content:"";line-height:0}.document-wrapper article.edit div.well:after{clear:both}.document-wrapper article.edit.focused div.well{border-color:rgba(29,136,53,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6)}.modal-editor{width:820px;margin-left:-410px}.modal-editor .wrapper,.modal-file-upload .wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:1px solid#ccc}.modal-editor .wrapper.focused,.modal-file-upload .wrapper.focused{border:1px solid rgba(29,136,53,0.8);-webkit-box-shadow:0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:0 0 8px rgba(29,136,53,0.6);box-shadow:0 0 8px rgba(29,136,53,0.6)}.modal-editor .CodeMirror-scroll,.modal-file-upload .CodeMirror-scroll{height:250px}#keyboard-shortcuts ul{*zoom:1;list-style:none;margin:0;padding:0}#keyboard-shortcuts ul:before,#keyboard-shortcuts ul:after{display:table;content:"";line-height:0}#keyboard-shortcuts ul:after{clear:both}#keyboard-shortcuts li{width:50%;float:left;list-style:none;margin:0;padding:0}#keyboard-shortcuts h4{font-size:1em;line-height:2;padding-left:2em}#keyboard-shortcuts dt,#keyboard-shortcuts dd{line-height:1.5}#keyboard-shortcuts dt{float:left;text-align:right;width:6em;margin:0 0 0 -2em;padding:0}#keyboard-shortcuts dd{margin:0 0 0 5em}.document-wrapper article h3{line-height:1;margin-bottom:10px}.document-wrapper .document{color:#111;position:relative;white-space:pre}.document-wrapper .document .null,.document-wrapper .document .bool,.document-wrapper .document .z,.document-wrapper .document .b{color:#0086b3}.document-wrapper .document .num,.document-wrapper .document .n{color:#40A070}.document-wrapper .document .quoted,.document-wrapper .document .q{color:#D20}.document-wrapper .document .quoted .string,.document-wrapper .document .q .string,.document-wrapper .document .quoted .s,.document-wrapper .document .q .s{color:#D14}.document-wrapper .document .quoted .string a:link,.document-wrapper .document .q .string a:link,.document-wrapper .document .quoted .s a:link,.document-wrapper .document .q .s a:link,.document-wrapper .document .quoted .string a:visited,.document-wrapper .document .q .string a:visited,.document-wrapper .document .quoted .s a:visited,.document-wrapper .document .q .s a:visited{color:#D14;text-decoration:underline}.document-wrapper .document .quoted .string a:hover,.document-wrapper .document .q .string a:hover,.document-wrapper .document .quoted .s a:hover,.document-wrapper .document .q .s a:hover,.document-wrapper .document .quoted .string a:active,.document-wrapper .document .q .string a:active,.document-wrapper .document .quoted .s a:active,.document-wrapper .document .q .s a:active{color:#0058E1}.document-wrapper .document .re{color:#009926}.document-wrapper .document .ref .ref-ref .v .s,.document-wrapper .document .ref .ref-db .v .s,.document-wrapper .document .ref .ref-id .v .s{cursor:pointer;border-bottom:1px dotted #D14}.document-wrapper .document .ref .ref-ref .v .s:hover,.document-wrapper .document .ref .ref-db .v .s:hover,.document-wrapper .document .ref .ref-id .v .s:hover{color:#1d8835;border-bottom:1px solid #1d8835}.document-wrapper .document .ref .ref-id .v.n{cursor:pointer;border-bottom:1px dotted #D14;border-bottom-color:#40A070}.document-wrapper .document .ref .ref-id .v.n:hover{color:#1d8835;border-bottom:1px solid #1d8835}.document-wrapper .document var{font-style:normal}.document-wrapper .document .p{position:relative}.document-wrapper .document .p .ellipsis,.document-wrapper .document .p .e{display:none;cursor:pointer}.document-wrapper .document .p .ellipsis .summary,.document-wrapper .document .p .e .summary,.document-wrapper .document .p .ellipsis q,.document-wrapper .document .p .e q{color:#998;font-style:italic}.document-wrapper .document .p .collapser,.document-wrapper .document .p .c,.document-wrapper .document .p button{display:block;cursor:pointer;position:absolute;height:16px;width:16px;left:-16px;top:0;padding:0;font-size:0;line-height:0;color:transparent;overflow:hidden}.document-wrapper .document .p .collapser:after,.document-wrapper .document .p .c:after,.document-wrapper .document .p button:after{display:block;position:absolute;left:4px;top:6px;height:0;width:0;content:' ';border:4px solid transparent;border-top-color:#c8c8bf}.document-wrapper .document .p .collapser:hover:after,.document-wrapper .document .p .c:hover:after,.document-wrapper .document .p button:hover:after,.document-wrapper .document .p .collapser:active:after,.document-wrapper .document .p .c:active:after,.document-wrapper .document .p button:active:after{border-top-color:#998}.document-wrapper .document .p button{border:none;background-color:transparent}.document-wrapper .document .p.collapsed button:after{left:6px;top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.document-wrapper .document .p.collapsed button:hover:after,.document-wrapper .document .p.collapsed button:active:after{border-top-color:transparent;border-left-color:#998}.document-wrapper .document .p.collapsed .ellipsis,.document-wrapper .document .p.collapsed .e{display:inline}.document-wrapper .document .p.collapsed .collapser:after,.document-wrapper .document .p.collapsed .c:after{top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.document-wrapper .document .p.collapsed .collapser:hover:after,.document-wrapper .document .p.collapsed .c:hover:after,.document-wrapper .document .p.collapsed .collapser:active:after,.document-wrapper .document .p.collapsed .c:active:after{border-top-color:transparent;border-left-color:#998}.document-wrapper .document .p.collapsed > .v{height:0;width:0;overflow:hidden;display:inline-block;visibility:hidden}.index-details li{color:#111;position:relative;white-space:pre;white-space:normal}.index-details li .null,.index-details li .bool,.index-details li .z,.index-details li .b{color:#0086b3}.index-details li .num,.index-details li .n{color:#40A070}.index-details li .quoted,.index-details li .q{color:#D20}.index-details li .quoted .string,.index-details li .q .string,.index-details li .quoted .s,.index-details li .q .s{color:#D14}.index-details li .quoted .string a:link,.index-details li .q .string a:link,.index-details li .quoted .s a:link,.index-details li .q .s a:link,.index-details li .quoted .string a:visited,.index-details li .q .string a:visited,.index-details li .quoted .s a:visited,.index-details li .q .s a:visited{color:#D14;text-decoration:underline}.index-details li .quoted .string a:hover,.index-details li .q .string a:hover,.index-details li .quoted .s a:hover,.index-details li .q .s a:hover,.index-details li .quoted .string a:active,.index-details li .q .string a:active,.index-details li .quoted .s a:active,.index-details li .q .s a:active{color:#0058E1}.index-details li .re{color:#009926}.index-details li .ref .ref-ref .v .s,.index-details li .ref .ref-db .v .s,.index-details li .ref .ref-id .v .s{cursor:pointer;border-bottom:1px dotted #D14}.index-details li .ref .ref-ref .v .s:hover,.index-details li .ref .ref-db .v .s:hover,.index-details li .ref .ref-id .v .s:hover{color:#1d8835;border-bottom:1px solid #1d8835}.index-details li .ref .ref-id .v.n{cursor:pointer;border-bottom:1px dotted #D14;border-bottom-color:#40A070}.index-details li .ref .ref-id .v.n:hover{color:#1d8835;border-bottom:1px solid #1d8835}.index-details li var{font-style:normal}.index-details li .p{position:relative}.index-details li .p .ellipsis,.index-details li .p .e{display:none;cursor:pointer}.index-details li .p .ellipsis .summary,.index-details li .p .e .summary,.index-details li .p .ellipsis q,.index-details li .p .e q{color:#998;font-style:italic}.index-details li .p .collapser,.index-details li .p .c,.index-details li .p button{display:block;cursor:pointer;position:absolute;height:16px;width:16px;left:-16px;top:0;padding:0;font-size:0;line-height:0;color:transparent;overflow:hidden}.index-details li .p .collapser:after,.index-details li .p .c:after,.index-details li .p button:after{display:block;position:absolute;left:4px;top:6px;height:0;width:0;content:' ';border:4px solid transparent;border-top-color:#c8c8bf}.index-details li .p .collapser:hover:after,.index-details li .p .c:hover:after,.index-details li .p button:hover:after,.index-details li .p .collapser:active:after,.index-details li .p .c:active:after,.index-details li .p button:active:after{border-top-color:#998}.index-details li .p button{border:none;background-color:transparent}.index-details li .p.collapsed button:after{left:6px;top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.index-details li .p.collapsed button:hover:after,.index-details li .p.collapsed button:active:after{border-top-color:transparent;border-left-color:#998}.index-details li .p.collapsed .ellipsis,.index-details li .p.collapsed .e{display:inline}.index-details li .p.collapsed .collapser:after,.index-details li .p.collapsed .c:after{top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.index-details li .p.collapsed .collapser:hover:after,.index-details li .p.collapsed .c:hover:after,.index-details li .p.collapsed .collapser:active:after,.index-details li .p.collapsed .c:active:after{border-top-color:transparent;border-left-color:#998}.index-details li .p.collapsed > .v{height:0;width:0;overflow:hidden;display:inline-block;visibility:hidden}.cm-s-default span.cm-keyword{color:#111}.cm-s-default span.cm-atom{color:#0086b3}.cm-s-default span.cm-number{color:#40A070}.cm-s-default span.cm-def{color:#111}.cm-s-default span.cm-variable{color:#111}.cm-s-default span.cm-variable-2{color:#111}.cm-s-default span.cm-variable-3{color:#111}.cm-s-default span.cm-property{color:#111}.cm-s-default span.cm-operator{color:#111}.cm-s-default span.cm-comment{color:#111}.cm-s-default span.cm-string{color:#D14}.cm-s-default span.cm-string-2{color:#009926}.cm-s-default span.cm-meta{color:#111}.cm-s-default span.cm-error{color:red}.cm-s-default span.cm-qualifier{color:#111}.cm-s-default span.cm-builtin{color:#111}.cm-s-default span.cm-bracket{color:#111}.cm-s-default span.cm-tag{color:#111}.cm-s-default span.cm-attribute{color:#111}.cm-s-default span.cm-header{color:#111}.cm-s-default span.cm-quote{color:#111}.cm-s-default span.cm-hr{color:#111}.cm-s-default span.cm-link{color:#1d8835}.CodeMirror-focused div.CodeMirror-selected{background:#b4d6bc}.CodeMirror{font-family:'Source Code Pro',monospace;line-height:1.4em}.CodeMirror .line-error:before{content:'!';display:inline-block;color:#fff;font-weight:700;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#b94a48;text-align:center;margin-right:3px;font-size:12px;line-height:12px;width:12px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.CodeMirror-scroll{background-color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.CodeMirror-gutter{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.welcome-links{margin:0;padding:0;list-style:none}.welcome-links li{display:inline;padding:0 10px;color:#729e7c}.welcome-links a:link,.welcome-links a:visited{color:#b9cfbd;-webkit-transition:color .2s ease-in-out;-moz-transition:color .2s ease-in-out;-o-transition:color .2s ease-in-out;transition:color .2s ease-in-out}.welcome-links a:hover,.welcome-links a:active{color:#fff}@media screen and (max-width:1200px){#documents .pagination li.next a:before{content:'Next '}#documents .pagination li.prev a:after{content:' Prev'}}@media screen and (max-width:860px),screen and (max-height:860px){.masthead.epic.welcome{padding:40px 20px}.masthead.epic.welcome h1{font-size:90px}.masthead.epic.welcome h2{font-size:60px}.masthead.epic.welcome p{font-size:24px}}@media screen and (max-width:860px){.masthead{padding:40px 20px;margin-right:-20px;margin-left:-20px}.masthead.epic{padding:40px 20px}.masthead.epic h1{font-size:90px}.masthead.epic h2{font-size:60px}.masthead.epic p{font-size:24px}.modal-editor{left:20px;right:20px;width:auto;margin-left:0}table th,table td{padding:4px 5px}table td.action-column{padding-top:2px}#documents .pagination li.prev a:after,#documents .pagination li.next a:before{content:''}#keyboard-shortcuts{width:440px;margin-left:-220px}}@media only screen and (max-width:480px),only screen and (max-height:680px){.masthead.epic.welcome h1{font-size:60px}.masthead.epic.welcome h2{font-size:40px}.masthead.epic.welcome p{font-size:20px}}@media only screen and (max-width:480px){.container{padding:0}.navbar .nav{float:none}.navbar .btn.search{display:inline-block;z-index:10}body.section-documents .navbar form,body.section-document .navbar form{display:none;height:0;overflow:hidden}.navbar .brand{display:none}body.section-servers .navbar .brand,body:not(.has-section) .navbar .brand{display:block;text-align:center;float:none}.navbar .nav-section{position:absolute;background:none}.navbar .nav-section .dropdown-menu{display:none}body.section-servers .navbar .nav-section.servers,body.section-servers .navbar .nav-section.server,body.section-servers .navbar .nav-section.database,body.section-servers .navbar .nav-section.collection,body.section-databases .navbar .nav-section.database,body.section-databases .navbar .nav-section.collection,body.section-collections .navbar .nav-section.servers,body.section-collections .navbar .nav-section.collection,body.section-documents .navbar .nav-section.servers,body.section-documents .navbar .nav-section.server,body.section-document .navbar .nav-section.servers,body.section-document .navbar .nav-section.server{display:none}body.section-databases .navbar .nav-section.servers,body.section-collections .navbar .nav-section.server,body.section-documents .navbar .nav-section.database,body.section-document .navbar .nav-section.database{display:inline-block;float:left;padding:16px 0 0 2px;z-index:1012}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle,body.section-collections .navbar .nav-section.server > a.dropdown-toggle,body.section-documents .navbar .nav-section.database > a.dropdown-toggle,body.section-document .navbar .nav-section.database > a.dropdown-toggle,body.section-databases .navbar .nav-section.servers > a,body.section-collections .navbar .nav-section.server > a,body.section-documents .navbar .nav-section.database > a,body.section-document .navbar .nav-section.database > a{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid#bbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;z-index:10;overflow:visible}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:hover,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:hover,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-document .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-databases .navbar .nav-section.servers > a:hover,body.section-collections .navbar .nav-section.server > a:hover,body.section-documents .navbar .nav-section.database > a:hover,body.section-document .navbar .nav-section.database > a:hover,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active,body.section-document .navbar .nav-section.database > a.dropdown-toggle:active,body.section-databases .navbar .nav-section.servers > a:active,body.section-collections .navbar .nav-section.server > a:active,body.section-documents .navbar .nav-section.database > a:active,body.section-document .navbar .nav-section.database > a:active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.active,body.section-document .navbar .nav-section.database > a.dropdown-toggle.active,body.section-databases .navbar .nav-section.servers > a.active,body.section-collections .navbar .nav-section.server > a.active,body.section-documents .navbar .nav-section.database > a.active,body.section-document .navbar .nav-section.database > a.active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.disabled,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.disabled,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-document .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-databases .navbar .nav-section.servers > a.disabled,body.section-collections .navbar .nav-section.server > a.disabled,body.section-documents .navbar .nav-section.database > a.disabled,body.section-document .navbar .nav-section.database > a.disabled,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle[disabled],body.section-collections .navbar .nav-section.server > a.dropdown-toggle[disabled],body.section-documents .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-document .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-databases .navbar .nav-section.servers > a[disabled],body.section-collections .navbar .nav-section.server > a[disabled],body.section-documents .navbar .nav-section.database > a[disabled],body.section-document .navbar .nav-section.database > a[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active,body.section-document .navbar .nav-section.database > a.dropdown-toggle:active,body.section-databases .navbar .nav-section.servers > a:active,body.section-collections .navbar .nav-section.server > a:active,body.section-documents .navbar .nav-section.database > a:active,body.section-document .navbar .nav-section.database > a:active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.active,body.section-document .navbar .nav-section.database > a.dropdown-toggle.active,body.section-databases .navbar .nav-section.servers > a.active,body.section-collections .navbar .nav-section.server > a.active,body.section-documents .navbar .nav-section.database > a.active,body.section-document .navbar .nav-section.database > a.active{background-color:#ccc \9}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:first-child,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:first-child,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:first-child,body.section-document .navbar .nav-section.database > a.dropdown-toggle:first-child,body.section-databases .navbar .nav-section.servers > a:first-child,body.section-collections .navbar .nav-section.server > a:first-child,body.section-documents .navbar .nav-section.database > a:first-child,body.section-document .navbar .nav-section.database > a:first-child{*margin-left:0}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:hover,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:hover,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-document .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-databases .navbar .nav-section.servers > a:hover,body.section-collections .navbar .nav-section.server > a:hover,body.section-documents .navbar .nav-section.database > a:hover,body.section-document .navbar .nav-section.database > a:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:focus,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:focus,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-document .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-databases .navbar .nav-section.servers > a:focus,body.section-collections .navbar .nav-section.server > a:focus,body.section-documents .navbar .nav-section.database > a:focus,body.section-document .navbar .nav-section.database > a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.active,body.section-document .navbar .nav-section.database > a.dropdown-toggle.active,body.section-databases .navbar .nav-section.servers > a.active,body.section-collections .navbar .nav-section.server > a.active,body.section-documents .navbar .nav-section.database > a.active,body.section-document .navbar .nav-section.database > a.active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active,body.section-document .navbar .nav-section.database > a.dropdown-toggle:active,body.section-databases .navbar .nav-section.servers > a:active,body.section-collections .navbar .nav-section.server > a:active,body.section-documents .navbar .nav-section.database > a:active,body.section-document .navbar .nav-section.database > a:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.disabled,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.disabled,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-document .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-databases .navbar .nav-section.servers > a.disabled,body.section-collections .navbar .nav-section.server > a.disabled,body.section-documents .navbar .nav-section.database > a.disabled,body.section-document .navbar .nav-section.database > a.disabled,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle[disabled],body.section-collections .navbar .nav-section.server > a.dropdown-toggle[disabled],body.section-documents .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-document .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-databases .navbar .nav-section.servers > a[disabled],body.section-collections .navbar .nav-section.server > a[disabled],body.section-documents .navbar .nav-section.database > a[disabled],body.section-document .navbar .nav-section.database > a[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle .label,body.section-collections .navbar .nav-section.server > a.dropdown-toggle .label,body.section-documents .navbar .nav-section.database > a.dropdown-toggle .label,body.section-document .navbar .nav-section.database > a.dropdown-toggle .label,body.section-databases .navbar .nav-section.servers > a .label,body.section-collections .navbar .nav-section.server > a .label,body.section-documents .navbar .nav-section.database > a .label,body.section-document .navbar .nav-section.database > a .label,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle .badge,body.section-collections .navbar .nav-section.server > a.dropdown-toggle .badge,body.section-documents .navbar .nav-section.database > a.dropdown-toggle .badge,body.section-document .navbar .nav-section.database > a.dropdown-toggle .badge,body.section-databases .navbar .nav-section.servers > a .badge,body.section-collections .navbar .nav-section.server > a .badge,body.section-documents .navbar .nav-section.database > a .badge,body.section-document .navbar .nav-section.database > a .badge{position:relative;top:-1px}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle,html.cssmask body.section-databases .navbar .nav-section.servers > a,html.cssmask body.section-collections .navbar .nav-section.server > a,html.cssmask body.section-documents .navbar .nav-section.database > a,html.cssmask body.section-document .navbar .nav-section.database > a{display:inline-block;position:relative;padding-left:8px;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:before,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle:before,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle:before,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle:before,html.cssmask body.section-databases .navbar .nav-section.servers > a:before,html.cssmask body.section-collections .navbar .nav-section.server > a:before,html.cssmask body.section-documents .navbar .nav-section.database > a:before,html.cssmask body.section-document .navbar .nav-section.database > a:before{position:absolute;left:-9px;top:2px;height:23px;width:23px;content:" ";background-color:#fff;background-image:-webkit-gradient(linear,top left,bottom right,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(-45deg,#fff,#e6e6e6);background-image:-moz-linear-gradient(-45deg,#fff,#e6e6e6);background-image:-o-linear-gradient(-45deg,#fff,#e6e6e6);background-image:linear-gradient(-45deg,#fff,#e6e6e6);background-repeat:repeat-x;border-left:1px solid #c8c8c8;border-bottom:1px solid #aeaeae;-webkit-border-radius:7px 0 7px 0;-moz-border-radius:7px 0 7px 0;border-radius:7px 0 7px 0;display:inline-block;-webkit-transform:rotate(45deg) skew(3deg,3deg);-moz-transform:rotate(45deg) skew(3deg,3deg);-ms-transform:rotate(45deg) skewx(3deg) skewy(3deg);-o-transform:rotate(45deg) skew(3deg,3deg);transform:rotate(45deg) skew(3deg,3deg);-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.2);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.2);box-shadow:inset 1px 0 0 rgba(255,255,255,0.2);-webkit-mask-image:-webkit-gradient(linear,left bottom,right top,from(#000),color-stop(0.5,#000),color-stop(0.5,transparent),to(transparent));-webkit-mask-image:-webkit-linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);-moz-mask-image:-moz-linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);-o-mask-image:-o-linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);mask-image:linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);-webkit-background-clip:content;-moz-background-clip:content;background-clip:content}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:hover:before,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle:hover:before,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle:hover:before,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle:hover:before,html.cssmask body.section-databases .navbar .nav-section.servers > a:hover:before,html.cssmask body.section-collections .navbar .nav-section.server > a:hover:before,html.cssmask body.section-documents .navbar .nav-section.database > a:hover:before,html.cssmask body.section-document .navbar .nav-section.database > a:hover:before{background-color:#e8e8e8;background-position:-10px -10px}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active:before,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active:before,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active:before,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle:active:before,html.cssmask body.section-databases .navbar .nav-section.servers > a:active:before,html.cssmask body.section-collections .navbar .nav-section.server > a:active:before,html.cssmask body.section-documents .navbar .nav-section.database > a:active:before,html.cssmask body.section-document .navbar .nav-section.database > a:active:before{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;-webkit-box-shadow:inset 0 3px 4px rgba(0,0,0,0.15);-moz-box-shadow:inset 0 3px 4px rgba(0,0,0,0.15);box-shadow:inset 0 3px 4px rgba(0,0,0,0.15)}body.section-databases .navbar .nav-section.servers.dropdown .dropdown-toggle,body.section-collections .navbar .nav-section.server.dropdown .dropdown-toggle,body.section-documents .navbar .nav-section.database.dropdown .dropdown-toggle,body.section-document .navbar .nav-section.database.dropdown .dropdown-toggle{padding:4px 14px}body.section-databases .navbar .nav-section.server,body.section-collections .navbar .nav-section.database,body.section-documents .navbar .nav-section.collection,body.section-document .navbar .nav-section.collection{width:12em;left:50%;margin-left:-6em;padding-top:20px;display:inline-block;float:none;text-align:center;z-index:1011}body.section-databases .navbar .nav-section.server > a,body.section-collections .navbar .nav-section.database > a,body.section-documents .navbar .nav-section.collection > a,body.section-document .navbar .nav-section.collection > a{font-family:"Rokkitt",serif;font-size:24px;line-height:24px}body.section-databases .navbar .nav-section.server .dropdown-toggle,body.section-collections .navbar .nav-section.database .dropdown-toggle,body.section-documents .navbar .nav-section.collection .dropdown-toggle,body.section-document .navbar .nav-section.collection .dropdown-toggle{padding:0}.masthead{text-align:center}.masthead .container{padding:0 20px}.masthead.epic h1{font-size:60px}.masthead.epic h2{font-size:40px}.masthead.epic p{font-size:20px}.app-section{border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}table,thead,tbody,th,td,tr{display:block}table{border:none}table thead tr{position:absolute;top:-9999px;left:-9999px}table tr{border:1px solid #DDD;border-bottom:none}table tr:last-child{border-bottom:1px solid #DDD}table tr:first-child,table tr:first-child > td:first-child{-webkit-border-top-left-radius:5px;-moz-border-radius-topleft:5px;border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-moz-border-radius-topright:5px;border-top-right-radius:5px}table tr:last-child,table tr:last-child > td:last-child{-webkit-border-bottom-left-radius:5px;-moz-border-radius-bottomleft:5px;border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-radius-bottomright:5px;border-bottom-right-radius:5px}table td{border:none;position:relative;padding-left:35%}table td:before{position:absolute;top:6px;left:6px;width:30%;padding-right:10px;white-space:nowrap;font-weight:700}#keyboard-shortcuts{width:360px;margin-left:-180px}#servers table td:nth-of-type(1):before{content:"name"}#servers table td:nth-of-type(2):before{content:"databases"}#servers table td:nth-of-type(3):before{content:"size"}#servers table td:nth-of-type(4),#servers table td.action-column{display:none}#databases table td:nth-of-type(1):before{content:"name"}#databases table td:nth-of-type(2):before{content:"collections"}#databases table td:nth-of-type(3):before{content:"size"}#databases table td:nth-of-type(4),#databases table td.action-column{display:none}#collections table td:nth-of-type(1):before{content:"name"}#collections table td:nth-of-type(2):before{content:"documents"}#collections table td:nth-of-type(3):before{content:"indexes"}#collections table td:nth-of-type(4),#collections table td.action-column{display:none}}
|
1056
|
+
.CodeMirror{line-height:1em;font-family:monospace;position:relative;overflow:hidden}.CodeMirror-scroll{overflow:auto;height:300px;position:relative;outline:none}.CodeMirror-scrollbar{position:absolute;right:0;top:0;overflow-x:hidden;overflow-y:scroll;z-index:5}.CodeMirror-scrollbar-inner{width:1px}.CodeMirror-scrollbar.cm-sb-overlap{position:absolute;z-index:1;float:none;right:0;min-width:12px}.CodeMirror-scrollbar.cm-sb-nonoverlap{min-width:12px}.CodeMirror-scrollbar.cm-sb-ie7{min-width:18px}.CodeMirror-gutter{position:absolute;left:0;top:0;z-index:10;background-color:#f7f7f7;border-right:1px solid #eee;min-width:2em;height:100%}.CodeMirror-gutter-text{color:#aaa;text-align:right;padding:.4em .2em .4em .4em;white-space:pre !important;cursor:default}.CodeMirror-lines{padding:.4em;white-space:pre;cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;margin:0;padding:0;background:transparent;font-family:inherit;font-size:inherit;padding:0;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;overflow:visible}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror textarea{outline:none !important}.CodeMirror pre.CodeMirror-cursor{z-index:10;position:absolute;visibility:hidden;border-left:1px solid black;border-right:none;width:0}.cm-keymap-fat-cursor pre.CodeMirror-cursor{width:auto;border:0;background:transparent;background:rgba(0,200,0,.4);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#6600c800,endColorstr=#4c00c800)}.cm-keymap-fat-cursor pre.CodeMirror-cursor:not(#nonsense_id){filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.CodeMirror pre.CodeMirror-cursor.CodeMirror-overwrite{}.CodeMirror-focused pre.CodeMirror-cursor{visibility:visible}div.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused div.CodeMirror-selected{background:#d7d4f0}.CodeMirror-searching{background:#ffa;background:rgba(255,255,0,.4)}.cm-s-default span.cm-keyword{color:#708}.cm-s-default span.cm-atom{color:#219}.cm-s-default span.cm-number{color:#164}.cm-s-default span.cm-def{color:#00f}.cm-s-default span.cm-variable{color:#000}.cm-s-default span.cm-variable-2{color:#05a}.cm-s-default span.cm-variable-3{color:#085}.cm-s-default span.cm-property{color:#000}.cm-s-default span.cm-operator{color:#000}.cm-s-default span.cm-comment{color:#a50}.cm-s-default span.cm-string{color:#a11}.cm-s-default span.cm-string-2{color:#f50}.cm-s-default span.cm-meta{color:#555}.cm-s-default span.cm-error{color:red}.cm-s-default span.cm-qualifier{color:#555}.cm-s-default span.cm-builtin{color:#30a}.cm-s-default span.cm-bracket{color:#997}.cm-s-default span.cm-tag{color:#170}.cm-s-default span.cm-attribute{color:#00c}.cm-s-default span.cm-header{color:blue}.cm-s-default span.cm-quote{color:#090}.cm-s-default span.cm-hr{color:#999}.cm-s-default span.cm-link{color:#00c}span.cm-negative{color:#d44}span.cm-positive{color:#292}span.cm-header,span.cm-strong{font-weight:700}span.cm-em{font-style:italic}span.cm-emstrong{font-style:italic;font-weight:700}span.cm-link{text-decoration:underline}span.cm-invalidchar{color:red}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}@media print{.CodeMirror pre.CodeMirror-cursor{visibility:hidden}}kbd,.key{display:inline;display:inline-block;min-width:1em;padding:.2em .3em;font:400 .85em/1 "Lucida Grande",Lucida,Arial,sans-serif;text-align:center;text-decoration:none;-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;border:none;cursor:default;-moz-user-select:none;-webkit-user-select:none;user-select:none}kbd[title],.key[title]{cursor:help}kbd,kbd.dark,.dark-keys kbd,.key,.key.dark,.dark-keys .key{background:#505050;background:-moz-linear-gradient(top,#3c3c3c,#505050);background:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#505050));color:#fafafa;text-shadow:-1px -1px 0 #464646;-moz-box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3);-webkit-box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3);box-shadow:inset 0 0 1px #969696,inset 0 -.05em .4em #505050,0 .1em 0 #1e1e1e,0 .1em .1em rgba(0,0,0,.3)}kbd.light,.light-keys kbd,.key.light,.light-keys .key{background:#fafafa;background:-moz-linear-gradient(top,#d2d2d2,#fff);background:-webkit-gradient(linear,left top,left bottom,from(#d2d2d2),to(#fff));color:#323232;text-shadow:0 0 2px#fff;-moz-box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9);-webkit-box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9);box-shadow:inset 0 0 1px#fff,inset 0 0 .4em #c8c8c8,0 .1em 0 #828282,0 .11em 0 rgba(0,0,0,.4),0 .1em .11em rgba(0,0,0,.9)}html,body{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPwAAADmBAMAAAADyPWpAAAAHlBMVEUAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAzn7ZSAAAACnRSTlMEAgEFAAMGBwgJHK6+iAAAAjVJREFUeF7t3TFvEzEYh3EnUQJjoaRzCGS/ChW6UsF+pc0eCSkwVqrUwhcAPjZT38fDKzmKuBvQ858qy/bP9mT57LTcvIu8iHxZP2VVIl8Prrmj0TpyHW1OIf9zXl5eXl5eXl5+uX1Kv41gzuC7rHASnS4bzdOBlk+Rj/AMr2tMFP4lPb2OwhOg24CuWJIheXl5eXl5eXl5ef5cpbtKxoR0ktUs1JyzfYV/xTwLSUdaSfDMfsOSoC9YsgsaMbu3wX8eh5eXl5eXl5eXl+9pn/IU7pD2kfswP1B4l/U5ZfRAR53pXj5GKgl+ly3JOcevLMmQvLy8vLy8vLy8fN/YQNL+d5g/4X+F+Q3+Lv/+HmGe1Ub7LO0U/gEpW5L31JykEx2bl5eXl5eXl5eXr25w7iPsKn/AVxL8njQ+oJNZIdPspBYTqVXzonF9AGg1Di8vLy8vLy8vL89h43wdKUd8VS/byDV8Bj17jBQyZ/gMZNO4KpoUNtfpchxeXl5eXl5eXl5+S7K94pL2VLjJvsqfUpjuP9lqPv8TKckF0vSpU3v7nPGz7KLrm31kQF5eXl5eXl5eXj5/rdMdcVa5OHiruaj4/AIpVQc4/a1qDsnLy8vLy8vLy8t3UNkBZj/Ap/ZFSQPP7vuKwn92+rsEGoOXl5eXl5eXl5fPfywp/133CXzVP3z6fr5rvEo6qx/AR7JO1/D9EYtX6GhIXl5eXl5eXl5eHvM7fPUAvvEviOBn1Jwz5orPav4FxfqDRAI+1ZEAAAAASUVORK5CYII=')}.navbar-search .grippie{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAICAYAAAA4GpVBAAAAFklEQVQIHWPYvXv3f4b/QAAiGBhwcQEh7xt/uRvGTgAAAABJRU5ErkJggg==')}.nav .dropdown,.navbar-search{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAiCAQAAADMxIBtAAABMklEQVQoz2P4z8jA9J+JARUABdj+s2EIerI3cKEJ/2e8zyHE918AXS2njNBFsf+sqIKsfUJJUv9F0Qz4KMSh+EkNzQ3/+Vzktqv/F0IVZNsm46bzXwPdMgkB/Tdm/znQDEjT6DP7r4QqyHJZWdvmvy3Q0yjCUnoW513/i6EK8jcY1bj9N0Uz4KGWktenAHTLZDwctgShOew//2yLqNAfXiiW/eefahUf9t8dVaWcq/Pu4P/KKGF1VVvH+6c/ShD+Fyo06XL7r4emWdb2scd/PmQh9nVqjtb/zVHVCTlqbzD/L4ES9t+kuYx+maOE/X/OcrlC7f8KaJrllB5o/mdHSQ7XheUVURwN0hwotkgOxTFAQR4G8f9SaGlpM1eUILo6NnHuG7zoCYEFmBQ50GMcS6IFAAXadPqU82J+AAAAAElFTkSuQmCC')}section#servers tr.spinning td:first-child{background-image:url('data:image/gif;base64,R0lGODlhEAALAPQAAP///zMzM+Hh4dnZ2e7u7jc3NzMzM1dXV5qamn9/f8fHx05OTm5ubqGhoYKCgsrKylFRUTY2NnFxcerq6t/f3/b29l9fX+Li4vT09MTExLKystTU1PHx8QAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA')}body > section section.spinning > header h2{background-image:url('data:image/gif;base64,R0lGODlhEAALAPQAAN7e3oiIiNHR0c3NzdbW1omJiYiIiJeXl7Ozs6enp8bGxpKSkqCgoLa2tqmpqcjIyJSUlIiIiKKiotXV1dDQ0Nra2pqamtLS0tnZ2cXFxb29vcvLy9jY2AAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA')}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#1d8835;text-decoration:none}a:hover,a:focus{color:#10491c;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;content:"";line-height:0}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"] + [class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;content:"";line-height:0}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:700}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:700;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:400;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid#eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline > li,ol.inline > li{display:inline-block;*display:inline;*zoom:1;padding-left:5px;padding-right:5px}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:700}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid#eee;border-bottom:1px solid#fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted#999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid#eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid#eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:400;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;vertical-align:middle}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid#ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;border:1px solid#ccc;background-color:#fff}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);cursor:not-allowed}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls > .radio:first-child,.controls > .checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline + .radio.inline,.checkbox.inline + .checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"] + [class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;vertical-align:middle;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0#fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group > .dropdown-toggle,.input-prepend .btn-group > .dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input + .btn-group .btn:last-child,.input-append select + .btn-group .btn:last-child,.input-append .uneditable-input + .btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child > .dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input + .btn-group .btn,.input-prepend.input-append select + .btn-group .btn,.input-prepend.input-append .uneditable-input + .btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend + .control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input + .help-block,.form-horizontal select + .help-block,.form-horizontal textarea + .help-block,.form-horizontal .uneditable-input + .help-block,.form-horizontal .input-prepend + .help-block,.form-horizontal .input-append + .help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid#ddd}.table th{font-weight:700}.table thead th{vertical-align:bottom}.table caption + thead tr:first-child th,.table caption + thead tr:first-child td,.table colgroup + thead tr:first-child th,.table colgroup + thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody + tbody{border-top:2px solid#ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid#ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid#ddd}.table-bordered caption + thead tr:first-child th,.table-bordered caption + tbody tr:first-child th,.table-bordered caption + tbody tr:first-child td,.table-bordered colgroup + thead tr:first-child th,.table-bordered colgroup + tbody tr:first-child th,.table-bordered colgroup + tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child > th:first-child,.table-bordered tbody:first-child tr:first-child > td:first-child,.table-bordered tbody:first-child tr:first-child > th:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.table-bordered thead:first-child tr:first-child > th:last-child,.table-bordered tbody:first-child tr:first-child > td:last-child,.table-bordered tbody:first-child tr:first-child > th:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px}.table-bordered thead:last-child tr:last-child > th:first-child,.table-bordered tbody:last-child tr:last-child > td:first-child,.table-bordered tbody:last-child tr:last-child > th:first-child,.table-bordered tfoot:last-child tr:last-child > td:first-child,.table-bordered tfoot:last-child tr:last-child > th:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.table-bordered thead:last-child tr:last-child > th:last-child,.table-bordered tbody:last-child tr:last-child > td:last-child,.table-bordered tbody:last-child tr:last-child > th:last-child,.table-bordered tfoot:last-child tr:last-child > td:last-child,.table-bordered tfoot:last-child tr:last-child > th:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.table-bordered tfoot + tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0}.table-bordered tfoot + tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0}.table-bordered caption + thead tr:first-child th:first-child,.table-bordered caption + tbody tr:first-child td:first-child,.table-bordered colgroup + thead tr:first-child th:first-child,.table-bordered colgroup + tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.table-bordered caption + thead tr:first-child th:last-child,.table-bordered caption + tbody tr:first-child td:last-child,.table-bordered colgroup + thead tr:first-child th:last-child,.table-bordered colgroup + tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px}.table-striped tbody > tr:nth-child(odd) > td,.table-striped tbody > tr:nth-child(odd) > th{background-color:#f9f9f9}.table-hover tbody tr:hover > td,.table-hover tbody tr:hover > th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success > td{background-color:#dff0d8}.table tbody tr.error > td{background-color:#f2dede}.table tbody tr.warning > td{background-color:#fcf8e3}.table tbody tr.info > td{background-color:#d9edf7}.table-hover tbody tr.success:hover > td{background-color:#d0e9c6}.table-hover tbody tr.error:hover > td{background-color:#ebcccc}.table-hover tbody tr.warning:hover > td{background-color:#faf2cc}.table-hover tbody tr.info:hover > td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../../vendor/bootstrap/less/../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;margin-top:1px}.icon-white,.nav-pills > .active > a > [class^="icon-"],.nav-pills > .active > a > [class*=" icon-"],.nav-list > .active > a > [class^="icon-"],.nav-list > .active > a > [class*=" icon-"],.navbar-inverse .nav > .active > a > [class^="icon-"],.navbar-inverse .nav > .active > a > [class*=" icon-"],.dropdown-menu > li > a:hover > [class^="icon-"],.dropdown-menu > li > a:focus > [class^="icon-"],.dropdown-menu > li > a:hover > [class*=" icon-"],.dropdown-menu > li > a:focus > [class*=" icon-"],.dropdown-menu > .active > a > [class^="icon-"],.dropdown-menu > .active > a > [class*=" icon-"],.dropdown-submenu:hover > a > [class^="icon-"],.dropdown-submenu:focus > a > [class^="icon-"],.dropdown-submenu:hover > a > [class*=" icon-"],.dropdown-submenu:focus > a > [class*=" icon-"]{background-image:url("../../vendor/bootstrap/less/../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{background-position:-216px -120px;width:16px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px;width:16px}.icon-folder-open{background-position:-408px -120px;width:16px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid#000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff}.dropdown-menu > li > a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu > li > a:hover,.dropdown-menu > li > a:focus,.dropdown-submenu:hover > a,.dropdown-submenu:focus > a{text-decoration:none;color:#fff;background-color:#1b8032;background-image:-moz-linear-gradient(top,#1d8835,#19732d);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#19732d));background-image:-webkit-linear-gradient(top,#1d8835,#19732d);background-image:-o-linear-gradient(top,#1d8835,#19732d);background-image:linear-gradient(to bottom,#1d8835,#19732d);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff19732d',GradientType=0)}.dropdown-menu > .active > a,.dropdown-menu > .active > a:hover,.dropdown-menu > .active > a:focus{color:#fff;text-decoration:none;outline:0;background-color:#1b8032;background-image:-moz-linear-gradient(top,#1d8835,#19732d);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#19732d));background-image:-webkit-linear-gradient(top,#1d8835,#19732d);background-image:-o-linear-gradient(top,#1d8835,#19732d);background-image:linear-gradient(to bottom,#1d8835,#19732d);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff19732d',GradientType=0)}.dropdown-menu > .disabled > a,.dropdown-menu > .disabled > a:hover,.dropdown-menu > .disabled > a:focus{color:#999}.dropdown-menu > .disabled > a:hover,.dropdown-menu > .disabled > a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default}.open{*z-index:1000}.open > .dropdown-menu{display:block}.pull-right > .dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid#000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu > .dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover > .dropdown-menu{display:block}.dropup .dropdown-submenu > .dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu > a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px}.dropdown-submenu:hover > a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left > .dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:700;line-height:20px;color:#000;text-shadow:0 1px 0#fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid#ccc;*border:0;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block + .btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#1d8843;background-image:-moz-linear-gradient(top,#1d8835,#1d8859);background-image:-webkit-gradient(linear,0 0,0 100%,from(#1d8835),to(#1d8859));background-image:-webkit-linear-gradient(top,#1d8835,#1d8859);background-image:-o-linear-gradient(top,#1d8835,#1d8859);background-image:linear-gradient(to bottom,#1d8835,#1d8859);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1d8835',endColorstr='#ff1d8859',GradientType=0);border-color:#1d8859 #1d8859 #104930;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#1d8859;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#1d8859;*background-color:#19734b}.btn-primary:active,.btn-primary.active{background-color:#145e3d \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#f89406;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#bd362f;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#51a351;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#2f96b4;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);border-color:#222 #222222#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#222;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{border-color:transparent;cursor:pointer;color:#1d8835;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#10491c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em}.btn-group:first-child{*margin-left:0}.btn-group + .btn-group{margin-left:5px}.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px}.btn-toolbar > .btn + .btn,.btn-toolbar > .btn-group + .btn,.btn-toolbar > .btn + .btn-group{margin-left:5px}.btn-group > .btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group > .btn + .btn{margin-left:-1px}.btn-group > .btn,.btn-group > .dropdown-menu,.btn-group > .popover{font-size:14px}.btn-group > .btn-mini{font-size:10.5px}.btn-group > .btn-small{font-size:11.9px}.btn-group > .btn-large{font-size:17.5px}.btn-group > .btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.btn-group > .btn:last-child,.btn-group > .dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group > .btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.btn-group > .btn.large:last-child,.btn-group > .large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px}.btn-group > .btn:hover,.btn-group > .btn:focus,.btn-group > .btn:active,.btn-group > .btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group > .btn + .dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125),inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px}.btn-group > .btn-mini + .dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px}.btn-group > .btn-small + .dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group > .btn-large + .dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#1d8859}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical > .btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical > .btn + .btn{margin-left:0;margin-top:-1px}.btn-group-vertical > .btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical > .btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical > .btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical > .btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success h4{color:#468847}.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block > p,.alert-block > ul{margin-bottom:0}.alert-block p + p{margin-top:5px}.nav{margin-left:0;margin-bottom:20px;list-style:none}.nav > li > a{display:block}.nav > li > a:hover,.nav > li > a:focus{text-decoration:none;background-color:#eee}.nav > li > a > img{max-width:none}.nav > .pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:700;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li + .nav-header{margin-top:9px}.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0}.nav-list > li > a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list > li > a{padding:3px 15px}.nav-list > .active > a,.nav-list > .active > a:hover,.nav-list > .active > a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#1d8835}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid#fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs > li,.nav-pills > li{float:left}.nav-tabs > li > a,.nav-pills > li > a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs > li{margin-bottom:-1px}.nav-tabs > li > a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs > li > a:hover,.nav-tabs > li > a:focus{border-color:#eee #eeeeee#ddd}.nav-tabs > .active > a,.nav-tabs > .active > a:hover,.nav-tabs > .active > a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills > li > a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills > .active > a,.nav-pills > .active > a:hover,.nav-pills > .active > a:focus{color:#fff;background-color:#1d8835}.nav-stacked > li{float:none}.nav-stacked > li > a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked > li > a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked > li:first-child > a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.nav-tabs.nav-stacked > li:last-child > a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.nav-tabs.nav-stacked > li > a:hover,.nav-tabs.nav-stacked > li > a:focus{border-color:#ddd;z-index:2}.nav-pills.nav-stacked > li > a{margin-bottom:3px}.nav-pills.nav-stacked > li:last-child > a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{border-top-color:#1d8835;border-bottom-color:#1d8835;margin-top:6px}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#10491c;border-bottom-color:#10491c}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav > .dropdown.active > a:hover,.nav > .dropdown.active > a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav > li.dropdown.open.active > a:hover,.nav > li.dropdown.open.active > a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open > a:hover,.tabs-stacked .open > a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below > .nav-tabs,.tabs-right > .nav-tabs,.tabs-left > .nav-tabs{border-bottom:0}.tab-content > .tab-pane,.pill-content > .pill-pane{display:none}.tab-content > .active,.pill-content > .active{display:block}.tabs-below > .nav-tabs{border-top:1px solid #ddd}.tabs-below > .nav-tabs > li{margin-top:-1px;margin-bottom:0}.tabs-below > .nav-tabs > li > a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below > .nav-tabs > li > a:hover,.tabs-below > .nav-tabs > li > a:focus{border-bottom-color:transparent;border-top-color:#ddd}.tabs-below > .nav-tabs > .active > a,.tabs-below > .nav-tabs > .active > a:hover,.tabs-below > .nav-tabs > .active > a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left > .nav-tabs > li,.tabs-right > .nav-tabs > li{float:none}.tabs-left > .nav-tabs > li > a,.tabs-right > .nav-tabs > li > a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left > .nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left > .nav-tabs > li > a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left > .nav-tabs > li > a:hover,.tabs-left > .nav-tabs > li > a:focus{border-color:#eee #dddddd#eee #eeeeee}.tabs-left > .nav-tabs .active > a,.tabs-left > .nav-tabs .active > a:hover,.tabs-left > .nav-tabs .active > a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right > .nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right > .nav-tabs > li > a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right > .nav-tabs > li > a:hover,.tabs-right > .nav-tabs > li > a:focus{border-color:#eee #eeeeee#eee #dddddd}.tabs-right > .nav-tabs .active > a,.tabs-right > .nav-tabs .active > a:hover,.tabs-right > .nav-tabs .active > a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav > .disabled > a{color:#999}.nav > .disabled > a:hover,.nav > .disabled > a:focus{text-decoration:none;background-color:transparent;cursor:default}.navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2}.navbar-inner{min-height:60px;padding-left:20px;padding-right:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065);*zoom:1}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{float:left;display:block;padding:20px 20px 20px;margin-left:-20px;font-size:20px;font-weight:200;color:#fff;text-shadow:0 1px 0#fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:60px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:60px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid#fff}.navbar .btn,.navbar .btn-group{margin-top:15px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:15px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:15px;margin-bottom:0}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1010;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav > li{float:left}.navbar .nav > li > a{float:none;padding:20px 15px 20px;color:#777;text-decoration:none;text-shadow:0 1px 0#fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav > li > a:focus,.navbar .nav > li > a:hover{background-color:transparent;color:#333;text-decoration:none}.navbar .nav > .active > a,.navbar .nav > .active > a:hover,.navbar .nav > .active > a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e5e5e5;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar + .icon-bar{margin-top:3px}.navbar .nav > li > .dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute;top:-7px;left:9px}.navbar .nav > li > .dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid#fff;position:absolute;top:-6px;left:10px}.navbar-fixed-bottom .nav > li > .dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0;bottom:-7px;top:auto}.navbar-fixed-bottom .nav > li > .dropdown-menu:after{border-top:6px solid#fff;border-bottom:0;bottom:-6px;top:auto}.navbar .nav li.dropdown > a:hover .caret,.navbar .nav li.dropdown > a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open > .dropdown-toggle,.navbar .nav li.dropdown.active > .dropdown-toggle,.navbar .nav li.dropdown.open.active > .dropdown-toggle{background-color:#e5e5e5;color:#555}.navbar .nav li.dropdown > .dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open > .dropdown-toggle .caret,.navbar .nav li.dropdown.active > .dropdown-toggle .caret,.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right > li > .dropdown-menu,.navbar .nav > li > .dropdown-menu.pull-right{left:auto;right:0}.navbar .pull-right > li > .dropdown-menu:before,.navbar .nav > li > .dropdown-menu.pull-right:before{left:auto;right:12px}.navbar .pull-right > li > .dropdown-menu:after,.navbar .nav > li > .dropdown-menu.pull-right:after{left:auto;right:13px}.navbar .pull-right > li > .dropdown-menu .dropdown-menu,.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0);border-color:#252525}.navbar-inverse .brand,.navbar-inverse .nav > li > a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav > li > a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav > li > a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav > li > a:focus,.navbar-inverse .nav > li > a:hover{background-color:transparent;color:#fff}.navbar-inverse .nav .active > a,.navbar-inverse .nav .active > a:hover,.navbar-inverse .nav .active > a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-left-color:#111;border-right-color:#222}.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle{background-color:#111;color:#fff}.navbar-inverse .nav li.dropdown > a:hover .caret,.navbar-inverse .nav li.dropdown > a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0#fff;background-color:#fff;border:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15);outline:0}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);border-color:#040404 #040404#000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#040404;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb > li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0#fff}.breadcrumb > li > .divider{padding:0 5px;color:#ccc}.breadcrumb > .active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul > li{display:inline}.pagination ul > li > a,.pagination ul > li > span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid#ddd;border-left-width:0}.pagination ul > li > a:hover,.pagination ul > li > a:focus,.pagination ul > .active > a,.pagination ul > .active > span{background-color:#f5f5f5}.pagination ul > .active > a,.pagination ul > .active > span{color:#999;cursor:default}.pagination ul > .disabled > span,.pagination ul > .disabled > a,.pagination ul > .disabled > a:hover,.pagination ul > .disabled > a:focus{color:#999;background-color:transparent;cursor:default}.pagination ul > li:first-child > a,.pagination ul > li:first-child > span{border-left-width:1px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.pagination ul > li:last-child > a,.pagination ul > li:last-child > span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul > li > a,.pagination-large ul > li > span{padding:11px 19px;font-size:17.5px}.pagination-large ul > li:first-child > a,.pagination-large ul > li:first-child > span{-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px}.pagination-large ul > li:last-child > a,.pagination-large ul > li:last-child > span{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px}.pagination-mini ul > li:first-child > a,.pagination-small ul > li:first-child > a,.pagination-mini ul > li:first-child > span,.pagination-small ul > li:first-child > span{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px}.pagination-mini ul > li:last-child > a,.pagination-small ul > li:last-child > a,.pagination-mini ul > li:last-child > span,.pagination-small ul > li:last-child > span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px}.pagination-small ul > li > a,.pagination-small ul > li > span{padding:2px 10px;font-size:11.9px}.pagination-mini ul > li > a,.pagination-mini ul > li > span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1}.pager:before,.pager:after{display:table;content:"";line-height:0}.pager:after{clear:both}.pager li{display:inline}.pager li > a,.pager li > span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li > a:hover,.pager li > a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next > a,.pager .next > span{float:right}.pager .previous > a,.pager .previous > span{float:left}.pager .disabled > a,.pager .disabled > a:hover,.pager .disabled > a:focus,.pager .disabled > span{color:#999;background-color:#fff;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:none}.modal.fade{-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out;top:-25%}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff;*zoom:1}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0}.modal-footer:after{clear:both}.modal-footer .btn + .btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn + .btn{margin-left:-1px}.modal-footer .btn-block + .btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1030;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left .arrow:after{right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails > li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#1d8835;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail > img{display:block;max-width:100%;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#555}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:700;line-height:14px;color:#fff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.progress .bar{width:0;height:100%;color:#fff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar + .bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15),inset 0 -1px 0 rgba(0,0,0,.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{overflow:hidden;width:100%;position:relative}.carousel-inner > .item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner > .item > img,.carousel-inner > .item > a > img{display:block;line-height:1}.carousel-inner > .active,.carousel-inner > .next,.carousel-inner > .prev{display:block}.carousel-inner > .active{left:0}.carousel-inner > .next,.carousel-inner > .prev{position:absolute;top:0;width:100%}.carousel-inner > .next{left:100%}.carousel-inner > .prev{left:-100%}.carousel-inner > .next.left,.carousel-inner > .prev.right{left:0}.carousel-inner > .active.left{left:-100%}.carousel-inner > .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid#fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{left:auto;right:15px}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{color:#fff;line-height:20px}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed}.container,.navbar .container{padding-left:20px;padding-right:20px;width:auto;min-width:320px;max-width:1400px}.navbar .brand{font-size:32px;line-height:32px;padding:16px 20px 12px;font-weight:700;color:#ddd;text-shadow:0 -1px 0 rgba(0,0,0,0.25),0 1px 0#fff,0 0 30px rgba(0,0,0,0.125);-webkit-transition:color .1s linear;-moz-transition:color .1s linear;-o-transition:color .1s linear;transition:color .1s linear}.navbar .brand:hover{color:#1d8835}.navbar .nav > li > a{min-height:18px}.navbar .nav li.dropdown .dropdown-toggle{padding:20px 10px 21px 20px;white-space:nowrap}.navbar .nav li.dropdown > .dropdown-toggle,.navbar .nav li.dropdown.open > .dropdown-toggle,.navbar .nav li.dropdown.active > .dropdown-toggle{background-color:transparent}.navbar .nav .dropdown-menu li a{padding-right:4em;position:relative}.navbar .nav .dropdown-menu li a span{padding:0 6px;display:inline-block;position:absolute;top:50%;right:10px;margin-top:-8px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;line-height:16px;color:#666;background-color:rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2);-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2);box-shadow:inset 0 1px 0 rgba(0,0,0,0.2),0 1px 0 rgba(255,255,255,0.2)}.navbar .nav .dropdown-menu li a:hover span{color:#DDD}.navbar .nav .dropdown-menu li.active a span{color:#CCC;background-color:rgba(0,0,0,0.2)}.navbar form{padding-left:20px;margin:15px 0 0 -10px}.navbar .control-group{margin-bottom:0}code,pre{font-family:'Source Code Pro',monospace}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(29,136,53,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6)}.nav .dropdown,.navbar-search{background-color:transparent;background-position:center left;background-repeat:no-repeat}.navbar-search{background-position:left -1px}.popover-title{font-size:18px}.confirm-modal{width:420px;margin-left:-210px}.confirm-modal .confirm-input{width:97%}html,body{color:#111;background-color:#D3D3D3}h1,h2,h3,a.brand,#footer p{font-family:"Rokkitt",serif;font-weight:700}noscript h1{font-size:2.2em;text-align:center;margin:80px 40px}::-moz-selection{background:#b4d6bc;text-shadow:none}::-webkit-selection{background:#b4d6bc;text-shadow:none}::selection{background:#b4d6bc;text-shadow:none}html,body{margin:0;padding:0}body{padding-top:60px}#alerts{margin-top:20px}#footer{font-weight:400;text-align:center}#footer a.keyboard-shortcuts:link,#footer a.keyboard-shortcuts:visited{color:#888}#footer a.keyboard-shortcuts:link img,#footer a.keyboard-shortcuts:visited img{opacity:.5;filter:alpha(opacity=50)}#footer a.keyboard-shortcuts:hover,#footer a.keyboard-shortcuts:active{color:#666}#footer a.keyboard-shortcuts:hover img,#footer a.keyboard-shortcuts:active img{opacity:1;filter:alpha(opacity=100)}#footer a.keyboard-shortcuts img{line-height:1px;vertical-align:text-top;height:11px;width:19px}.navbar .servers{display:none}.navbar .nav-section{display:none}body.section-databases .navbar .nav-section.server,body.section-collections .navbar .nav-section.server,body.section-collections .navbar .nav-section.database,body.section-documents .navbar .nav-section.server,body.section-documents .navbar .nav-section.database,body.section-documents .navbar .nav-section.collection,body.section-document .navbar .nav-section.server,body.section-document .navbar .nav-section.database,body.section-document .navbar .nav-section.collection{display:block}.navbar form{display:none}body.section-documents .navbar form,body.section-document .navbar form{display:block}html.textoverflow .navbar .nav-section > a{max-width:8em;overflow:hidden;text-overflow:ellipsis}.navbar-search{padding-bottom:16px}.navbar-search .grippie{position:absolute;bottom:2px;left:50%;margin-left:-5px;clear:both;display:block;height:12px;width:30px;background-color:transparent;background-position:center center;background-repeat:repeat-x;border:none;opacity:.5;filter:alpha(opacity=50)}.navbar-search .grippie:hover{opacity:1;filter:alpha(opacity=100)}.navbar-search .search-advanced{display:none;position:absolute;top:0;left:0;right:0;bottom:10px}.navbar-search .search-advanced .well{position:absolute;top:0;left:0;right:0;bottom:30px;padding:0;overflow:hidden}.navbar-search .search-advanced.focused .well{border-color:rgba(29,136,53,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6)}.navbar-search .search-advanced .form-actions{position:absolute;left:0;right:0;bottom:0;padding:0;margin:-20px 0 5px;border-top:none;background:transparent}.navbar-search .search-advanced .form-actions .btn{float:right;margin-left:5px}.navbar-search.expanded{position:relative;clear:both;float:none;margin:0 20px;padding:0;background-image:none;min-height:120px}.navbar-search.expanded .grippie{margin-left:-15px}.navbar-search.expanded input.search-query{display:none}.navbar-search.expanded .search-advanced{display:block}.masthead{position:relative;padding:40px 0;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.4),0 0 30px rgba(0,0,0,0.1);background:-webkit-radial-gradient(#115120 25%,transparent 26%) 0 0,-webkit-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-moz-radial-gradient(#115120 25%,transparent 26%) 0 0,-moz-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-ms-radial-gradient(#115120 25%,transparent 26%) 0 0,-ms-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-o-radial-gradient(#115120 25%,transparent 26%) 0 0,-o-radial-gradient(#115120 25%,transparent 26%) 16px 16px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:radial-gradient(#115120 25%,transparent 26%) 0 0,radial-gradient(#115120 25%,transparent 26%) 16px 16px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;-webkit-background-size:32px 30px;-moz-background-size:32px 30px;-ms-background-size:32px 30px;-o-background-size:32px 30px;background-size:32px 30px;background-color:#145e25;-webkit-box-shadow:inset 0 3px 7px rgba(0,0,0,.2),inset 0 -3px 7px rgba(0,0,0,.2);-moz-box-shadow:inset 0 3px 7px rgba(0,0,0,.2),inset 0 -3px 7px rgba(0,0,0,.2);box-shadow:inset 0 3px 7px rgba(0,0,0,.2),inset 0 -3px 7px rgba(0,0,0,.2)}.masthead .container{position:relative;z-index:2}.masthead:after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(255,255,255,0.01);background-image:-moz-linear-gradient(left,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-image:-webkit-gradient(linear,0 0,100% 0,from(rgba(0,0,0,0.5)),to(rgba(255,255,255,0.01)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-image:-o-linear-gradient(left,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-image:linear-gradient(to right,rgba(0,0,0,0.5),rgba(255,255,255,0.01));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#03ffffff',GradientType=1)}.masthead h1{font-size:60px;font-weight:700;letter-spacing:-1px;line-height:1}.masthead p{font-size:24px;line-height:1.25;margin-bottom:20px;font-weight:300}.masthead.epic{text-align:center;padding:70px 80px}.masthead.epic h1{font-size:120px}.masthead.epic h2{font-size:80px}.masthead.epic p{font-size:40px;font-weight:200;margin-bottom:30px}.masthead.error{background:-webkit-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-webkit-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-moz-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-moz-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-ms-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-ms-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-o-radial-gradient(#8a3635 25%,transparent 26%) 0 0,-o-radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:radial-gradient(#8a3635 25%,transparent 26%) 0 0,radial-gradient(#8a3635 25%,transparent 26%) 16px 16px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;-webkit-background-size:32px 30px;-moz-background-size:32px 30px;-ms-background-size:32px 30px;-o-background-size:32px 30px;background-size:32px 30px;background-color:#953b39}.masthead.muted{background:-webkit-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-webkit-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-webkit-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-webkit-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-moz-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-moz-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-moz-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-moz-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-ms-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-ms-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-ms-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-ms-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:-o-radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,-o-radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,-o-radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,-o-radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;background:radial-gradient(#2b2b2b 25%,transparent 26%) 0 0,radial-gradient(#2b2b2b 25%,transparent 26%) 16px 16px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 0 -1px,radial-gradient(rgba(0,0,0,0.2) 25%,transparent 26%) 16px 15px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 0 1px,radial-gradient(rgba(255,255,255,0.1) 25%,transparent 26%) 16px 17px;-webkit-background-size:32px 30px;-moz-background-size:32px 30px;-ms-background-size:32px 30px;-o-background-size:32px 30px;background-size:32px 30px;background-color:#333}#genghis{min-height:150px}.app-section{display:none;background-color:#fff;margin:20px 0;padding:20px;border:1px solid #AAA;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0 white;-moz-box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0 white;box-shadow:0 1px 5px rgba(0,0,0,0.1),inset 0 1px 0 white}.app-section > header{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;margin:-20px -20px 20px;padding:9px 20px;background-color:#f5f5f5;border-bottom:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0#fff;-moz-box-shadow:inset 0 1px 0#fff;box-shadow:inset 0 1px 0#fff}.app-section > header h2{font-size:24px;margin:0;line-height:30px}.app-section > .content{min-height:100px;-webkit-transition:.1s linear all;-moz-transition:.1s linear all;-o-transition:.1s linear all;transition:.1s linear all}.app-section > p:first-child{margin-top:0}.app-section > p:last-child{margin-bottom:0}.app-section.spinning{height:180px}.app-section.spinning header h2{background-color:transparent;background-position:left center;background-repeat:no-repeat;text-indent:-10000em}.app-section.spinning .controls,.app-section.spinning .add-form,.app-section.spinning .content{display:none}.app-section .details{display:none}.app-section .has-details{border-bottom:1px dotted#998;cursor:default}.add-form button.show,.add-form button.dropdown-toggle{display:none}.add-form.inactive button,.add-form.inactive input,.add-form.inactive .input-append{display:none}.add-form.inactive button.show,.add-form.inactive button.dropdown-toggle{display:inherit}.add-form.inactive .help{display:none}.add-form span.input-append .add-on{margin-right:4px}.add-form .help{cursor:default}table{width:100%;margin-bottom:20px;border:1px solid#ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}table th,table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid#ddd}table th{font-weight:700}table thead th{vertical-align:bottom}table caption + thead tr:first-child th,table caption + thead tr:first-child td,table colgroup + thead tr:first-child th,table colgroup + thead tr:first-child td,table thead:first-child tr:first-child th,table thead:first-child tr:first-child td{border-top:0}table tbody + tbody{border-top:2px solid#ddd}table .table{background-color:#fff}table th,table td{border-left:1px solid#ddd}table caption + thead tr:first-child th,table caption + tbody tr:first-child th,table caption + tbody tr:first-child td,table colgroup + thead tr:first-child th,table colgroup + tbody tr:first-child th,table colgroup + tbody tr:first-child td,table thead:first-child tr:first-child th,table tbody:first-child tr:first-child th,table tbody:first-child tr:first-child td{border-top:0}table thead:first-child tr:first-child > th:first-child,table tbody:first-child tr:first-child > td:first-child,table tbody:first-child tr:first-child > th:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}table thead:first-child tr:first-child > th:last-child,table tbody:first-child tr:first-child > td:last-child,table tbody:first-child tr:first-child > th:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px}table thead:last-child tr:last-child > th:first-child,table tbody:last-child tr:last-child > td:first-child,table tbody:last-child tr:last-child > th:first-child,table tfoot:last-child tr:last-child > td:first-child,table tfoot:last-child tr:last-child > th:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}table thead:last-child tr:last-child > th:last-child,table tbody:last-child tr:last-child > td:last-child,table tbody:last-child tr:last-child > th:last-child,table tfoot:last-child tr:last-child > td:last-child,table tfoot:last-child tr:last-child > th:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}table tfoot + tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0}table tfoot + tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0}table caption + thead tr:first-child th:first-child,table caption + tbody tr:first-child td:first-child,table colgroup + thead tr:first-child th:first-child,table colgroup + tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}table caption + thead tr:first-child th:last-child,table caption + tbody tr:first-child td:last-child,table colgroup + thead tr:first-child th:last-child,table colgroup + tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px}table tbody tr:hover > td,table tbody tr:hover > th{background-color:#f5f5f5}table .header{cursor:pointer}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden}table .header.headerSortUp,table .header.headerSortDown{background-color:rgba(29,136,53,0.050000000000000044);text-shadow:0 1px 1px rgba(255,255,255,0.75)}table .header:hover:after{visibility:visible}table .header.headerSortDown:after,table .header.headerSortDown:hover:after{visibility:visible;opacity:.6;filter:alpha(opacity=60)}table .header.headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.6;filter:alpha(opacity=60)}tr td.action-column{padding:7px 10px 0;text-align:right}tr td.action-column button{visibility:hidden;-webkit-transition-property:color,background,box-shadow;-moz-transition-property:color,background,box-shadow;-o-transition-property:color,background,box-shadow;transition-property:color,background,box-shadow}tr:hover td.action-column button{visibility:inherit}#servers .alert-error{padding:3px 10px;font-weight:700}#servers tr.spinning td:first-child{padding-left:35px;background-color:transparent;background-position:10px center;background-repeat:no-repeat}#servers tr input{display:none}#servers tr.editing span.name{display:none}#servers tr.editing input{display:inherit}html.no-filereader #documents .file-upload{display:none}.index-details{color:#111;list-style:none;margin:0}.index-details li{display:block;margin-bottom:5px}.stats-details,.stats-details dt,.stats-details dd{margin:0;padding:0}.stats-details dt{float:left;width:10em}.stats-details dd{margin-left:10em;text-align:right}#documents .controls{*zoom:1;margin-bottom:20px}#documents .controls:before,#documents .controls:after{display:table;content:"";line-height:0}#documents .controls:after{clear:both}#documents .add-document{float:left}#documents .pagination{margin:0}#documents .pagination li.prev a:after{content:' Previous'}#documents .pagination li.next a:before{content:'Next '}#document h2 small{font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding-left:10px}#document article h3{display:none}.document{font-family:'Source Code Pro',monospace;line-height:1.4em}.document-wrapper div.well{overflow-x:auto}.document-wrapper div.well h3{margin-top:0}.document-wrapper div.well h3 a{color:#333}.document-wrapper div.well h3 a:hover,.document-wrapper div.well h3 a:active{color:#1d8835}.document-wrapper div.well h3 small{font-size:12px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;padding-left:10px}.document-wrapper article{position:relative}.document-wrapper article .document-actions{position:absolute;right:20px;z-index:10}.document-wrapper article .document-actions button.save,.document-wrapper article .document-actions button.cancel{display:none}.document-wrapper article .document-actions button.edit,.document-wrapper article .document-actions button.destroy,.document-wrapper article .document-actions a.grid-download,.document-wrapper article .document-actions a.grid-file{visibility:hidden}.document-wrapper article:hover .document-actions button.edit,.document-wrapper article:hover .document-actions button.destroy,.document-wrapper article:hover .document-actions a.grid-download,.document-wrapper article:hover .document-actions a.grid-file{visibility:inherit}.document-wrapper article div.well{-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.document-wrapper article.edit .document-actions{margin-top:20px}.document-wrapper article.edit .document-actions button.edit,.document-wrapper article.edit .document-actions button.destroy,.document-wrapper article.edit .document-actions a.grid-download,.document-wrapper article.edit .document-actions a.grid-file{display:none}.document-wrapper article.edit .document-actions button.save,.document-wrapper article.edit .document-actions button.cancel{display:inline-block}.document-wrapper article.edit div.well{padding:0;background-color:#fff;*zoom:1}.document-wrapper article.edit div.well h3{display:none}.document-wrapper article.edit div.well:before,.document-wrapper article.edit div.well:after{display:table;content:"";line-height:0}.document-wrapper article.edit div.well:after{clear:both}.document-wrapper article.edit.focused div.well{border-color:rgba(29,136,53,0.8);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(29,136,53,0.6)}.modal-editor{width:820px;margin-left:-410px}.modal-editor .wrapper,.modal-file-upload .wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:1px solid#ccc}.modal-editor .wrapper.focused,.modal-file-upload .wrapper.focused{border:1px solid rgba(29,136,53,0.8);-webkit-box-shadow:0 0 8px rgba(29,136,53,0.6);-moz-box-shadow:0 0 8px rgba(29,136,53,0.6);box-shadow:0 0 8px rgba(29,136,53,0.6)}.modal-editor .CodeMirror-scroll,.modal-file-upload .CodeMirror-scroll{height:250px}#keyboard-shortcuts ul{*zoom:1;list-style:none;margin:0;padding:0}#keyboard-shortcuts ul:before,#keyboard-shortcuts ul:after{display:table;content:"";line-height:0}#keyboard-shortcuts ul:after{clear:both}#keyboard-shortcuts li{width:50%;float:left;list-style:none;margin:0;padding:0}#keyboard-shortcuts h4{font-size:1em;line-height:2;padding-left:2em}#keyboard-shortcuts dt,#keyboard-shortcuts dd{line-height:1.5}#keyboard-shortcuts dt{float:left;text-align:right;width:6em;margin:0 0 0 -2em;padding:0}#keyboard-shortcuts dd{margin:0 0 0 5em}.document-wrapper article h3{line-height:1;margin-bottom:10px}.document-wrapper .document{color:#111;position:relative;white-space:pre}.document-wrapper .document .null,.document-wrapper .document .bool,.document-wrapper .document .z,.document-wrapper .document .b{color:#0086b3}.document-wrapper .document .num,.document-wrapper .document .n{color:#40A070}.document-wrapper .document .quoted,.document-wrapper .document .q{color:#D20}.document-wrapper .document .quoted .string,.document-wrapper .document .q .string,.document-wrapper .document .quoted .s,.document-wrapper .document .q .s{color:#D14}.document-wrapper .document .quoted .string a:link,.document-wrapper .document .q .string a:link,.document-wrapper .document .quoted .s a:link,.document-wrapper .document .q .s a:link,.document-wrapper .document .quoted .string a:visited,.document-wrapper .document .q .string a:visited,.document-wrapper .document .quoted .s a:visited,.document-wrapper .document .q .s a:visited{color:#D14;text-decoration:underline}.document-wrapper .document .quoted .string a:hover,.document-wrapper .document .q .string a:hover,.document-wrapper .document .quoted .s a:hover,.document-wrapper .document .q .s a:hover,.document-wrapper .document .quoted .string a:active,.document-wrapper .document .q .string a:active,.document-wrapper .document .quoted .s a:active,.document-wrapper .document .q .s a:active{color:#0058E1}.document-wrapper .document .re{color:#009926}.document-wrapper .document .ref .ref-ref .v .s,.document-wrapper .document .ref .ref-db .v .s,.document-wrapper .document .ref .ref-id .v .s{cursor:pointer;border-bottom:1px dotted #D14}.document-wrapper .document .ref .ref-ref .v .s:hover,.document-wrapper .document .ref .ref-db .v .s:hover,.document-wrapper .document .ref .ref-id .v .s:hover{color:#1d8835;border-bottom:1px solid #1d8835}.document-wrapper .document .ref .ref-id .v.n{cursor:pointer;border-bottom:1px dotted #D14;border-bottom-color:#40A070}.document-wrapper .document .ref .ref-id .v.n:hover{color:#1d8835;border-bottom:1px solid #1d8835}.document-wrapper .document var{font-style:normal}.document-wrapper .document .p{position:relative}.document-wrapper .document .p .ellipsis,.document-wrapper .document .p .e{display:none;cursor:pointer}.document-wrapper .document .p .ellipsis .summary,.document-wrapper .document .p .e .summary,.document-wrapper .document .p .ellipsis q,.document-wrapper .document .p .e q{color:#998;font-style:italic}.document-wrapper .document .p .collapser,.document-wrapper .document .p .c,.document-wrapper .document .p button{display:block;cursor:pointer;position:absolute;height:16px;width:16px;left:-16px;top:0;padding:0;font-size:0;line-height:0;color:transparent;overflow:hidden}.document-wrapper .document .p .collapser:after,.document-wrapper .document .p .c:after,.document-wrapper .document .p button:after{display:block;position:absolute;left:4px;top:6px;height:0;width:0;content:' ';border:4px solid transparent;border-top-color:#c8c8bf}.document-wrapper .document .p .collapser:hover:after,.document-wrapper .document .p .c:hover:after,.document-wrapper .document .p button:hover:after,.document-wrapper .document .p .collapser:active:after,.document-wrapper .document .p .c:active:after,.document-wrapper .document .p button:active:after{border-top-color:#998}.document-wrapper .document .p button{border:none;background-color:transparent}.document-wrapper .document .p.collapsed button:after{left:6px;top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.document-wrapper .document .p.collapsed button:hover:after,.document-wrapper .document .p.collapsed button:active:after{border-top-color:transparent;border-left-color:#998}.document-wrapper .document .p.collapsed .ellipsis,.document-wrapper .document .p.collapsed .e{display:inline}.document-wrapper .document .p.collapsed .collapser:after,.document-wrapper .document .p.collapsed .c:after{top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.document-wrapper .document .p.collapsed .collapser:hover:after,.document-wrapper .document .p.collapsed .c:hover:after,.document-wrapper .document .p.collapsed .collapser:active:after,.document-wrapper .document .p.collapsed .c:active:after{border-top-color:transparent;border-left-color:#998}.document-wrapper .document .p.collapsed > .v{height:0;width:0;overflow:hidden;display:inline-block;visibility:hidden}.index-details li{color:#111;position:relative;white-space:pre;white-space:normal}.index-details li .null,.index-details li .bool,.index-details li .z,.index-details li .b{color:#0086b3}.index-details li .num,.index-details li .n{color:#40A070}.index-details li .quoted,.index-details li .q{color:#D20}.index-details li .quoted .string,.index-details li .q .string,.index-details li .quoted .s,.index-details li .q .s{color:#D14}.index-details li .quoted .string a:link,.index-details li .q .string a:link,.index-details li .quoted .s a:link,.index-details li .q .s a:link,.index-details li .quoted .string a:visited,.index-details li .q .string a:visited,.index-details li .quoted .s a:visited,.index-details li .q .s a:visited{color:#D14;text-decoration:underline}.index-details li .quoted .string a:hover,.index-details li .q .string a:hover,.index-details li .quoted .s a:hover,.index-details li .q .s a:hover,.index-details li .quoted .string a:active,.index-details li .q .string a:active,.index-details li .quoted .s a:active,.index-details li .q .s a:active{color:#0058E1}.index-details li .re{color:#009926}.index-details li .ref .ref-ref .v .s,.index-details li .ref .ref-db .v .s,.index-details li .ref .ref-id .v .s{cursor:pointer;border-bottom:1px dotted #D14}.index-details li .ref .ref-ref .v .s:hover,.index-details li .ref .ref-db .v .s:hover,.index-details li .ref .ref-id .v .s:hover{color:#1d8835;border-bottom:1px solid #1d8835}.index-details li .ref .ref-id .v.n{cursor:pointer;border-bottom:1px dotted #D14;border-bottom-color:#40A070}.index-details li .ref .ref-id .v.n:hover{color:#1d8835;border-bottom:1px solid #1d8835}.index-details li var{font-style:normal}.index-details li .p{position:relative}.index-details li .p .ellipsis,.index-details li .p .e{display:none;cursor:pointer}.index-details li .p .ellipsis .summary,.index-details li .p .e .summary,.index-details li .p .ellipsis q,.index-details li .p .e q{color:#998;font-style:italic}.index-details li .p .collapser,.index-details li .p .c,.index-details li .p button{display:block;cursor:pointer;position:absolute;height:16px;width:16px;left:-16px;top:0;padding:0;font-size:0;line-height:0;color:transparent;overflow:hidden}.index-details li .p .collapser:after,.index-details li .p .c:after,.index-details li .p button:after{display:block;position:absolute;left:4px;top:6px;height:0;width:0;content:' ';border:4px solid transparent;border-top-color:#c8c8bf}.index-details li .p .collapser:hover:after,.index-details li .p .c:hover:after,.index-details li .p button:hover:after,.index-details li .p .collapser:active:after,.index-details li .p .c:active:after,.index-details li .p button:active:after{border-top-color:#998}.index-details li .p button{border:none;background-color:transparent}.index-details li .p.collapsed button:after{left:6px;top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.index-details li .p.collapsed button:hover:after,.index-details li .p.collapsed button:active:after{border-top-color:transparent;border-left-color:#998}.index-details li .p.collapsed .ellipsis,.index-details li .p.collapsed .e{display:inline}.index-details li .p.collapsed .collapser:after,.index-details li .p.collapsed .c:after{top:4px;border-top-color:transparent;border-left-color:#c8c8bf}.index-details li .p.collapsed .collapser:hover:after,.index-details li .p.collapsed .c:hover:after,.index-details li .p.collapsed .collapser:active:after,.index-details li .p.collapsed .c:active:after{border-top-color:transparent;border-left-color:#998}.index-details li .p.collapsed > .v{height:0;width:0;overflow:hidden;display:inline-block;visibility:hidden}.cm-s-default span.cm-keyword{color:#111}.cm-s-default span.cm-atom{color:#0086b3}.cm-s-default span.cm-number{color:#40A070}.cm-s-default span.cm-def{color:#111}.cm-s-default span.cm-variable{color:#111}.cm-s-default span.cm-variable-2{color:#111}.cm-s-default span.cm-variable-3{color:#111}.cm-s-default span.cm-property{color:#111}.cm-s-default span.cm-operator{color:#111}.cm-s-default span.cm-comment{color:#111}.cm-s-default span.cm-string{color:#D14}.cm-s-default span.cm-string-2{color:#009926}.cm-s-default span.cm-meta{color:#111}.cm-s-default span.cm-error{color:red}.cm-s-default span.cm-qualifier{color:#111}.cm-s-default span.cm-builtin{color:#111}.cm-s-default span.cm-bracket{color:#111}.cm-s-default span.cm-tag{color:#111}.cm-s-default span.cm-attribute{color:#111}.cm-s-default span.cm-header{color:#111}.cm-s-default span.cm-quote{color:#111}.cm-s-default span.cm-hr{color:#111}.cm-s-default span.cm-link{color:#1d8835}.CodeMirror-focused div.CodeMirror-selected{background:#b4d6bc}.CodeMirror{font-family:'Source Code Pro',monospace;line-height:1.4em}.CodeMirror .line-error:before{content:'!';display:inline-block;color:#fff;font-weight:700;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#b94a48;text-align:center;margin-right:3px;font-size:12px;line-height:12px;width:12px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.CodeMirror-scroll{background-color:#fff;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.CodeMirror-gutter{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.welcome-links{margin:0;padding:0;list-style:none}.welcome-links li{display:inline;padding:0 10px;color:#729e7c}.welcome-links a:link,.welcome-links a:visited{color:#b9cfbd;-webkit-transition:color .2s ease-in-out;-moz-transition:color .2s ease-in-out;-o-transition:color .2s ease-in-out;transition:color .2s ease-in-out}.welcome-links a:hover,.welcome-links a:active{color:#fff}@media screen and (max-width:1200px){#documents .pagination li.next a:before{content:'Next '}#documents .pagination li.prev a:after{content:' Prev'}}@media screen and (max-width:860px),screen and (max-height:860px){.masthead.epic.welcome{padding:40px 20px}.masthead.epic.welcome h1{font-size:90px}.masthead.epic.welcome h2{font-size:60px}.masthead.epic.welcome p{font-size:24px}}@media screen and (max-width:860px){.masthead{padding:40px 20px;margin-right:-20px;margin-left:-20px}.masthead.epic{padding:40px 20px}.masthead.epic h1{font-size:90px}.masthead.epic h2{font-size:60px}.masthead.epic p{font-size:24px}.modal-editor{left:20px;right:20px;width:auto;margin-left:0}table th,table td{padding:4px 5px}table td.action-column{padding-top:2px}#documents .pagination li.prev a:after,#documents .pagination li.next a:before{content:''}#keyboard-shortcuts{width:440px;margin-left:-220px}}@media only screen and (max-width:480px),only screen and (max-height:680px){.masthead.epic.welcome h1{font-size:60px}.masthead.epic.welcome h2{font-size:40px}.masthead.epic.welcome p{font-size:20px}}@media only screen and (max-width:480px){.container{padding:0}.navbar .nav{float:none}.navbar .btn.search{display:inline-block;z-index:10}body.section-documents .navbar form,body.section-document .navbar form{display:none;height:0;overflow:hidden}.navbar .brand{display:none}body.section-servers .navbar .brand,body:not(.has-section) .navbar .brand{display:block;text-align:center;float:none}.navbar .nav-section{position:absolute;background:none}.navbar .nav-section .dropdown-menu{display:none}body.section-servers .navbar .nav-section.servers,body.section-servers .navbar .nav-section.server,body.section-servers .navbar .nav-section.database,body.section-servers .navbar .nav-section.collection,body.section-databases .navbar .nav-section.database,body.section-databases .navbar .nav-section.collection,body.section-collections .navbar .nav-section.servers,body.section-collections .navbar .nav-section.collection,body.section-documents .navbar .nav-section.servers,body.section-documents .navbar .nav-section.server,body.section-document .navbar .nav-section.servers,body.section-document .navbar .nav-section.server{display:none}body.section-databases .navbar .nav-section.servers,body.section-collections .navbar .nav-section.server,body.section-documents .navbar .nav-section.database,body.section-document .navbar .nav-section.database{display:inline-block;float:left;padding:16px 0 0 2px;z-index:1012}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle,body.section-collections .navbar .nav-section.server > a.dropdown-toggle,body.section-documents .navbar .nav-section.database > a.dropdown-toggle,body.section-document .navbar .nav-section.database > a.dropdown-toggle,body.section-databases .navbar .nav-section.servers > a,body.section-collections .navbar .nav-section.server > a,body.section-documents .navbar .nav-section.database > a,body.section-document .navbar .nav-section.database > a{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid#ccc;*border:0;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;z-index:10;overflow:visible}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:hover,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:hover,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-document .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-databases .navbar .nav-section.servers > a:hover,body.section-collections .navbar .nav-section.server > a:hover,body.section-documents .navbar .nav-section.database > a:hover,body.section-document .navbar .nav-section.database > a:hover,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:focus,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:focus,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-document .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-databases .navbar .nav-section.servers > a:focus,body.section-collections .navbar .nav-section.server > a:focus,body.section-documents .navbar .nav-section.database > a:focus,body.section-document .navbar .nav-section.database > a:focus,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active,body.section-document .navbar .nav-section.database > a.dropdown-toggle:active,body.section-databases .navbar .nav-section.servers > a:active,body.section-collections .navbar .nav-section.server > a:active,body.section-documents .navbar .nav-section.database > a:active,body.section-document .navbar .nav-section.database > a:active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.active,body.section-document .navbar .nav-section.database > a.dropdown-toggle.active,body.section-databases .navbar .nav-section.servers > a.active,body.section-collections .navbar .nav-section.server > a.active,body.section-documents .navbar .nav-section.database > a.active,body.section-document .navbar .nav-section.database > a.active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.disabled,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.disabled,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-document .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-databases .navbar .nav-section.servers > a.disabled,body.section-collections .navbar .nav-section.server > a.disabled,body.section-documents .navbar .nav-section.database > a.disabled,body.section-document .navbar .nav-section.database > a.disabled,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle[disabled],body.section-collections .navbar .nav-section.server > a.dropdown-toggle[disabled],body.section-documents .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-document .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-databases .navbar .nav-section.servers > a[disabled],body.section-collections .navbar .nav-section.server > a[disabled],body.section-documents .navbar .nav-section.database > a[disabled],body.section-document .navbar .nav-section.database > a[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active,body.section-document .navbar .nav-section.database > a.dropdown-toggle:active,body.section-databases .navbar .nav-section.servers > a:active,body.section-collections .navbar .nav-section.server > a:active,body.section-documents .navbar .nav-section.database > a:active,body.section-document .navbar .nav-section.database > a:active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.active,body.section-document .navbar .nav-section.database > a.dropdown-toggle.active,body.section-databases .navbar .nav-section.servers > a.active,body.section-collections .navbar .nav-section.server > a.active,body.section-documents .navbar .nav-section.database > a.active,body.section-document .navbar .nav-section.database > a.active{background-color:#ccc \9}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:first-child,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:first-child,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:first-child,body.section-document .navbar .nav-section.database > a.dropdown-toggle:first-child,body.section-databases .navbar .nav-section.servers > a:first-child,body.section-collections .navbar .nav-section.server > a:first-child,body.section-documents .navbar .nav-section.database > a:first-child,body.section-document .navbar .nav-section.database > a:first-child{*margin-left:0}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:hover,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:hover,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-document .navbar .nav-section.database > a.dropdown-toggle:hover,body.section-databases .navbar .nav-section.servers > a:hover,body.section-collections .navbar .nav-section.server > a:hover,body.section-documents .navbar .nav-section.database > a:hover,body.section-document .navbar .nav-section.database > a:hover,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:focus,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:focus,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-document .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-databases .navbar .nav-section.servers > a:focus,body.section-collections .navbar .nav-section.server > a:focus,body.section-documents .navbar .nav-section.database > a:focus,body.section-document .navbar .nav-section.database > a:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:focus,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:focus,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-document .navbar .nav-section.database > a.dropdown-toggle:focus,body.section-databases .navbar .nav-section.servers > a:focus,body.section-collections .navbar .nav-section.server > a:focus,body.section-documents .navbar .nav-section.database > a:focus,body.section-document .navbar .nav-section.database > a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.active,body.section-document .navbar .nav-section.database > a.dropdown-toggle.active,body.section-databases .navbar .nav-section.servers > a.active,body.section-collections .navbar .nav-section.server > a.active,body.section-documents .navbar .nav-section.database > a.active,body.section-document .navbar .nav-section.database > a.active,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active,body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active,body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active,body.section-document .navbar .nav-section.database > a.dropdown-toggle:active,body.section-databases .navbar .nav-section.servers > a:active,body.section-collections .navbar .nav-section.server > a:active,body.section-documents .navbar .nav-section.database > a:active,body.section-document .navbar .nav-section.database > a:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle.disabled,body.section-collections .navbar .nav-section.server > a.dropdown-toggle.disabled,body.section-documents .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-document .navbar .nav-section.database > a.dropdown-toggle.disabled,body.section-databases .navbar .nav-section.servers > a.disabled,body.section-collections .navbar .nav-section.server > a.disabled,body.section-documents .navbar .nav-section.database > a.disabled,body.section-document .navbar .nav-section.database > a.disabled,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle[disabled],body.section-collections .navbar .nav-section.server > a.dropdown-toggle[disabled],body.section-documents .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-document .navbar .nav-section.database > a.dropdown-toggle[disabled],body.section-databases .navbar .nav-section.servers > a[disabled],body.section-collections .navbar .nav-section.server > a[disabled],body.section-documents .navbar .nav-section.database > a[disabled],body.section-document .navbar .nav-section.database > a[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}body.section-databases .navbar .nav-section.servers > a.dropdown-toggle .label,body.section-collections .navbar .nav-section.server > a.dropdown-toggle .label,body.section-documents .navbar .nav-section.database > a.dropdown-toggle .label,body.section-document .navbar .nav-section.database > a.dropdown-toggle .label,body.section-databases .navbar .nav-section.servers > a .label,body.section-collections .navbar .nav-section.server > a .label,body.section-documents .navbar .nav-section.database > a .label,body.section-document .navbar .nav-section.database > a .label,body.section-databases .navbar .nav-section.servers > a.dropdown-toggle .badge,body.section-collections .navbar .nav-section.server > a.dropdown-toggle .badge,body.section-documents .navbar .nav-section.database > a.dropdown-toggle .badge,body.section-document .navbar .nav-section.database > a.dropdown-toggle .badge,body.section-databases .navbar .nav-section.servers > a .badge,body.section-collections .navbar .nav-section.server > a .badge,body.section-documents .navbar .nav-section.database > a .badge,body.section-document .navbar .nav-section.database > a .badge{position:relative;top:-1px}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle,html.cssmask body.section-databases .navbar .nav-section.servers > a,html.cssmask body.section-collections .navbar .nav-section.server > a,html.cssmask body.section-documents .navbar .nav-section.database > a,html.cssmask body.section-document .navbar .nav-section.database > a{display:inline-block;position:relative;padding-left:8px;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:before,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle:before,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle:before,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle:before,html.cssmask body.section-databases .navbar .nav-section.servers > a:before,html.cssmask body.section-collections .navbar .nav-section.server > a:before,html.cssmask body.section-documents .navbar .nav-section.database > a:before,html.cssmask body.section-document .navbar .nav-section.database > a:before{position:absolute;left:-9px;top:2px;height:23px;width:23px;content:" ";background-color:#fff;background-image:-webkit-gradient(linear,top left,bottom right,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(-45deg,#fff,#e6e6e6);background-image:-moz-linear-gradient(-45deg,#fff,#e6e6e6);background-image:-o-linear-gradient(-45deg,#fff,#e6e6e6);background-image:linear-gradient(-45deg,#fff,#e6e6e6);background-repeat:repeat-x;border-left:1px solid #d9d9d9;border-bottom:1px solid #bfbfbf;-webkit-border-radius:7px 0 7px 0;-moz-border-radius:7px 0 7px 0;border-radius:7px 0 7px 0;display:inline-block;-webkit-transform:rotate(45deg) skew(3deg,3deg);-moz-transform:rotate(45deg) skew(3deg,3deg);-ms-transform:rotate(45deg) skewX(3deg) skewY(3deg);-o-transform:rotate(45deg) skew(3deg,3deg);transform:rotate(45deg) skew(3deg,3deg);-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.2);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.2);box-shadow:inset 1px 0 0 rgba(255,255,255,0.2);-webkit-mask-image:-webkit-gradient(linear,left bottom,right top,from(#000),color-stop(0.5,#000),color-stop(0.5,transparent),to(transparent));-webkit-mask-image:-webkit-linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);-moz-mask-image:-moz-linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);-o-mask-image:-o-linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);mask-image:linear-gradient(45deg,#000,#000 25%,#000 50%,transparent 50%,transparent);-webkit-background-clip:content;-moz-background-clip:content;background-clip:content}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:hover:before,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle:hover:before,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle:hover:before,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle:hover:before,html.cssmask body.section-databases .navbar .nav-section.servers > a:hover:before,html.cssmask body.section-collections .navbar .nav-section.server > a:hover:before,html.cssmask body.section-documents .navbar .nav-section.database > a:hover:before,html.cssmask body.section-document .navbar .nav-section.database > a:hover:before{background-color:#e8e8e8;background-position:-10px -10px}html.cssmask body.section-databases .navbar .nav-section.servers > a.dropdown-toggle:active:before,html.cssmask body.section-collections .navbar .nav-section.server > a.dropdown-toggle:active:before,html.cssmask body.section-documents .navbar .nav-section.database > a.dropdown-toggle:active:before,html.cssmask body.section-document .navbar .nav-section.database > a.dropdown-toggle:active:before,html.cssmask body.section-databases .navbar .nav-section.servers > a:active:before,html.cssmask body.section-collections .navbar .nav-section.server > a:active:before,html.cssmask body.section-documents .navbar .nav-section.database > a:active:before,html.cssmask body.section-document .navbar .nav-section.database > a:active:before{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;-webkit-box-shadow:inset 0 3px 4px rgba(0,0,0,0.15);-moz-box-shadow:inset 0 3px 4px rgba(0,0,0,0.15);box-shadow:inset 0 3px 4px rgba(0,0,0,0.15)}body.section-databases .navbar .nav-section.servers.dropdown .dropdown-toggle,body.section-collections .navbar .nav-section.server.dropdown .dropdown-toggle,body.section-documents .navbar .nav-section.database.dropdown .dropdown-toggle,body.section-document .navbar .nav-section.database.dropdown .dropdown-toggle{padding:4px 14px}body.section-databases .navbar .nav-section.server,body.section-collections .navbar .nav-section.database,body.section-documents .navbar .nav-section.collection,body.section-document .navbar .nav-section.collection{width:12em;left:50%;margin-left:-6em;padding-top:20px;display:inline-block;float:none;text-align:center;z-index:1011}body.section-databases .navbar .nav-section.server > a,body.section-collections .navbar .nav-section.database > a,body.section-documents .navbar .nav-section.collection > a,body.section-document .navbar .nav-section.collection > a{font-family:"Rokkitt",serif;font-size:24px;line-height:24px}body.section-databases .navbar .nav-section.server .dropdown-toggle,body.section-collections .navbar .nav-section.database .dropdown-toggle,body.section-documents .navbar .nav-section.collection .dropdown-toggle,body.section-document .navbar .nav-section.collection .dropdown-toggle{padding:0}.masthead{text-align:center}.masthead .container{padding:0 20px}.masthead.epic h1{font-size:60px}.masthead.epic h2{font-size:40px}.masthead.epic p{font-size:20px}.app-section{border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}table,thead,tbody,th,td,tr{display:block}table{border:none}table thead tr{position:absolute;top:-9999px;left:-9999px}table tr{border:1px solid #DDD;border-bottom:none}table tr:last-child{border-bottom:1px solid #DDD}table tr:first-child,table tr:first-child > td:first-child{-webkit-border-top-left-radius:5px;-moz-border-radius-topleft:5px;border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-moz-border-radius-topright:5px;border-top-right-radius:5px}table tr:last-child,table tr:last-child > td:last-child{-webkit-border-bottom-left-radius:5px;-moz-border-radius-bottomleft:5px;border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;-moz-border-radius-bottomright:5px;border-bottom-right-radius:5px}table td{border:none;position:relative;padding-left:35%}table td:before{position:absolute;top:6px;left:6px;width:30%;padding-right:10px;white-space:nowrap;font-weight:700}#keyboard-shortcuts{width:360px;margin-left:-180px}#servers table td:nth-of-type(1):before{content:"name"}#servers table td:nth-of-type(2):before{content:"databases"}#servers table td:nth-of-type(3):before{content:"size"}#servers table td:nth-of-type(4),#servers table td.action-column{display:none}#databases table td:nth-of-type(1):before{content:"name"}#databases table td:nth-of-type(2):before{content:"collections"}#databases table td:nth-of-type(3):before{content:"size"}#databases table td:nth-of-type(4),#databases table td.action-column{display:none}#collections table td:nth-of-type(1):before{content:"name"}#collections table td:nth-of-type(2):before{content:"documents"}#collections table td:nth-of-type(3):before{content:"indexes"}#collections table td:nth-of-type(4),#collections table td.action-column{display:none}}
|
1026
1057
|
|
1027
1058
|
@@ script.js
|
1028
1059
|
/**
|
1029
|
-
* Genghis v2.
|
1060
|
+
* Genghis v2.3.0
|
1030
1061
|
*
|
1031
1062
|
* The single-file MongoDB admin app
|
1032
1063
|
*
|
@@ -1040,9 +1071,9 @@ return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},pre
|
|
1040
1071
|
)var t=new Date;var n=e.tBodies[0]&&e.tBodies[0].rows.length||0,r=e.tBodies[0].rows[0]&&e.tBodies[0].rows[0].cells.length||0,i=e.config.parsers,s={row:[],normalized:[]};for(var o=0;o<n;++o){var u=$(e.tBodies[0].rows[o]),a=[];if(u.hasClass(e.config.cssChildRow)){s.row[s.row.length-1]=s.row[s.row.length-1].add(u);continue}s.row.push(u);for(var f=0;f<r;++f)a.push(i[f].format(getElementText(e.config,u[0].cells[f]),e,u[0].cells[f]));a.push(s.normalized.length),s.normalized.push(a),a=null}return e.config.debug&&benchmark("Building cache for "+n+" rows:",t),s}function getElementText(e,t){var n="";return t?(e.supportsTextContent||(e.supportsTextContent=t.textContent||!1),e.textExtraction=="simple"?e.supportsTextContent?n=t.textContent:t.childNodes[0]&&t.childNodes[0].hasChildNodes()?n=t.childNodes[0].innerHTML:n=t.innerHTML:typeof e.textExtraction=="function"?n=e.textExtraction(t):n=$(t).text(),n):""}function appendToTable(e,t){if(e.config.debug)var n=new Date;var r=t,i=r.row,s=r.normalized,o=s.length,u=s[0].length-1,a=$(e.tBodies[0]),f=[];for(var l=0;l<o;l++){var c=s[l][u];f.push(i[c]);if(!e.config.appender){var h=i[c].length;for(var p=0;p<h;p++)a[0].appendChild(i[c][p])}}e.config.appender&&e.config.appender(e,f),f=null,e.config.debug&&benchmark("Rebuilt table:",n),applyWidget(e),setTimeout(function(){$(e).trigger("sortEnd")},0)}function buildHeaders(e){if(e.config.debug)var t=new Date;var n=$.metadata?!0:!1,r=computeTableHeaderCellIndexes(e);return $tableHeaders=$(e.config.selectorHeaders,e).each(function(t){this.column=r[this.parentNode.rowIndex+"-"+this.cellIndex],this.order=formatSortingOrder(e.config.sortInitialOrder),this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(e,t))this.sortDisabled=!0;checkHeaderOptionsSortingLocked(e,t)&&(this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(e,t));if(!this.sortDisabled){var n=$(this).addClass(e.config.cssHeader);e.config.onRenderHeader&&e.config.onRenderHeader.apply(n)}e.config.headerList[t]=this}),e.config.debug&&(benchmark("Built headers:",t),log($tableHeaders)),$tableHeaders}function computeTableHeaderCellIndexes(e){var t=[],n={},r=e.getElementsByTagName("THEAD")[0],i=r.getElementsByTagName("TR");for(var s=0;s<i.length;s++){var o=i[s].cells;for(var u=0;u<o.length;u++){var a=o[u],f=a.parentNode.rowIndex,l=f+"-"+a.cellIndex,c=a.rowSpan||1,h=a.colSpan||1,p;typeof t[f]=="undefined"&&(t[f]=[]);for(var d=0;d<t[f].length+1;d++)if(typeof t[f][d]=="undefined"){p=d;break}n[l]=p;for(var d=f;d<f+c;d++){typeof t[d]=="undefined"&&(t[d]=[]);var v=t[d];for(var m=p;m<p+h;m++)v[m]="x"}}}return n}function checkCellColSpan(e,t,n){var r=[],i=e.tHead.rows,s=i[n].cells;for(var o=0;o<s.length;o++){var u=s[o];u.colSpan>1?r=r.concat(checkCellColSpan(e,headerArr,n++)):(e.tHead.length==1||u.rowSpan>1||!i[n+1])&&r.push(u)}return r}function checkHeaderMetadata(e){return $.metadata&&$(e).metadata().sorter===!1?!0:!1}function checkHeaderOptions(e,t){return e.config.headers[t]&&e.config.headers[t].sorter===!1?!0:!1}function checkHeaderOptionsSortingLocked(e,t){return e.config.headers[t]&&e.config.headers[t].lockedOrder?e.config.headers[t].lockedOrder:!1}function applyWidget(e){var t=e.config.widgets,n=t.length;for(var r=0;r<n;r++)getWidgetById(t[r]).format(e)}function getWidgetById(e){var t=widgets.length;for(var n=0;n<t;n++)if(widgets[n].id.toLowerCase()==e.toLowerCase())return widgets[n]}function formatSortingOrder(e){return typeof e!="Number"?e.toLowerCase()=="desc"?1:0:e==1?1:0}function isValueInArray(e,t){var n=t.length;for(var r=0;r<n;r++)if(t[r][0]==e)return!0;return!1}function setHeadersCss(e,t,n,r){t.removeClass(r[0]).removeClass(r[1]);var i=[];t.each(function(e){this.sortDisabled||(i[this.column]=$(this))});var s=n.length;for(var o=0;o<s;o++)i[n[o][0]].addClass(r[n[o][1]])}function fixColumnWidth(e,t){var n=e.config;if(n.widthFixed){var r=$("<colgroup>");$("tr:first td",e.tBodies[0]).each(function(){r.append($("<col>").css("width",$(this).width()))}),$(e).prepend(r)}}function updateHeaderSortCount(e,t){var n=e.config,r=t.length;for(var i=0;i<r;i++){var s=t[i],o=n.headerList[s[0]];o.count=s[1],o.count++}}function multisort(table,sortList,cache){if(table.config.debug)var sortTime=new Date;var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0],order=sortList[i][1],s=table.config.parsers[c].type=="text"?order==0?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c):order==0?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c),e="e"+i;dynamicExp+="var "+e+" = "+s,dynamicExp+="if("+e+") { return "+e+"; } ",dynamicExp+="else { "}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++)dynamicExp+="}; ";return dynamicExp+="return 0; ",dynamicExp+="}; ",table.config.debug&&benchmark("Evaling expression:"+dynamicExp,new Date),eval(dynamicExp),cache.normalized.sort(sortWrapper),table.config.debug&&benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime),cache}function makeSortFunction(e,t,n){var r="a["+n+"]",i="b["+n+"]";if(e=="text"&&t=="asc")return"("+r+" == "+i+" ? 0 : ("+r+" === null ? Number.POSITIVE_INFINITY : ("+i+" === null ? Number.NEGATIVE_INFINITY : ("+r+" < "+i+") ? -1 : 1 )));";if(e=="text"&&t=="desc")return"("+r+" == "+i+" ? 0 : ("+r+" === null ? Number.POSITIVE_INFINITY : ("+i+" === null ? Number.NEGATIVE_INFINITY : ("+i+" < "+r+") ? -1 : 1 )));";if(e=="numeric"&&t=="asc")return"("+r+" === null && "+i+" === null) ? 0 :("+r+" === null ? Number.POSITIVE_INFINITY : ("+i+" === null ? Number.NEGATIVE_INFINITY : "+r+" - "+i+"));";if(e=="numeric"&&t=="desc")return"("+r+" === null && "+i+" === null) ? 0 :("+r+" === null ? Number.POSITIVE_INFINITY : ("+i+" === null ? Number.NEGATIVE_INFINITY : "+i+" - "+r+"));"}function makeSortText(e){return"((a["+e+"] < b["+e+"]) ? -1 : ((a["+e+"] > b["+e+"]) ? 1 : 0));"}function makeSortTextDesc(e){return"((b["+e+"] < a["+e+"]) ? -1 : ((b["+e+"] > a["+e+"]) ? 1 : 0));"}function makeSortNumeric(e){return"a["+e+"]-b["+e+"];"}function makeSortNumericDesc(e){return"b["+e+"]-a["+e+"];"}function sortText(e,t){return table.config.sortLocaleCompare?e.localeCompare(t):e<t?-1:e>t?1:0}function sortTextDesc(e,t){return table.config.sortLocaleCompare?t.localeCompare(e):t<e?-1:t>e?1:0}function sortNumeric(e,t){return e-t}function sortNumericDesc(e,t){return t-e}function getCachedSortType(e,t){return e[t].type}var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:!0,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:!1,cancelSelection:!0,sortList:[],headerList:[],dateFormat:"us",decimal:"/.|,/g",onRenderHeader:null,selectorHeaders:"thead th",debug:!1},this.benchmark=benchmark,this.construct=function(e){return this.each(function(){if(!this.tHead||!this.tBodies)return;var t,n,r,i,s,o=0,u;this.config={},s=$.extend(this.config,$.tablesorter.defaults,e),t=$(this),$.data(this,"tablesorter",s),r=buildHeaders(this),this.config.parsers=buildParserCache(this,r),i=buildCache(this);var a=[s.cssDesc,s.cssAsc];fixColumnWidth(this),r.click(function(e){var n=t[0].tBodies[0]&&t[0].tBodies[0].rows.length||0;if(!this.sortDisabled&&n>0){t.trigger("sortStart");var o=$(this),u=this.column;this.order=this.count++%2,this.lockedOrder&&(this.order=this.lockedOrder);if(!e[s.sortMultiSortKey]){s.sortList=[];if(s.sortForce!=null){var f=s.sortForce;for(var l=0;l<f.length;l++)f[l][0]!=u&&s.sortList.push(f[l])}s.sortList.push([u,this.order])}else if(isValueInArray(u,s.sortList))for(var l=0;l<s.sortList.length;l++){var c=s.sortList[l],h=s.headerList[c[0]];c[0]==u&&(h.count=c[1],h.count++,c[1]=h.count%2)}else s.sortList.push([u,this.order]);return setTimeout(function(){setHeadersCss(t[0],r,s.sortList,a),appendToTable(t[0],multisort(t[0],s.sortList,i))},1),!1}}).mousedown(function(){if(s.cancelSelection)return this.onselectstart=function(){return!1},!1}),t.bind("update",function(){var e=this;setTimeout(function(){e.config.parsers=buildParserCache(e,r),i=buildCache(e)},1)}).bind("updateCell",function(e,t){var n=this.config,r=[t.parentNode.rowIndex-1,t.cellIndex];i.normalized[r[0]][r[1]]=n.parsers[r[1]].format(getElementText(n,t),t)}).bind("sorton",function(e,t){$(this).trigger("sortStart"),s.sortList=t;var n=s.sortList;updateHeaderSortCount(this,n),setHeadersCss(this,r,n,a),appendToTable(this,multisort(this,n,i))}).bind("appendCache",function(){appendToTable(this,i)}).bind("applyWidgetId",function(e,t){getWidgetById(t).format(this)}).bind("applyWidgets",function(){applyWidget(this)}),$.metadata&&$(this).metadata()&&$(this).metadata().sortlist&&(s.sortList=$(this).metadata().sortlist),s.sortList.length>0&&t.trigger("sorton",[s.sortList]),applyWidget(this)})},this.addParser=function(e){var t=parsers.length,n=!0;for(var r=0;r<t;r++)parsers[r].id.toLowerCase()==e.id.toLowerCase()&&(n=!1);n&&parsers.push(e)},this.addWidget=function(e){widgets.push(e)},this.formatFloat=function(e){var t=parseFloat(e);return isNaN(t)?0:t},this.formatInt=function(e){var t=parseInt(e);return isNaN(t)?0:t},this.isDigit=function(e,t){return/^[-+]?\d*$/.test($.trim(e.replace(/[,.']/g,"")))},this.clearTableBody=function(e){if($.browser.msie){function t(){while(this.firstChild)this.removeChild(this.firstChild)}t.apply(e.tBodies[0])}else e.tBodies[0].innerHTML=""}}}),$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(e){return!0},format:function(e){return $.trim(e.toLocaleLowerCase())},type:"text"}),ts.addParser({id:"digit",is:function(e,t){var n=t.config;return $.tablesorter.isDigit(e,n)},format:function(e){return $.tablesorter.formatFloat(e)},type:"numeric"}),ts.addParser({id:"currency",is:function(e){return/^[\u00c2\u00a3$\u00e2\u201a\u00ac?.]/.test(e)},format:function(e){return $.tablesorter.formatFloat(e.replace(new RegExp(/[\u00c2\u00a3$\u00e2\u201a\u00ac]/g),""))},type:"numeric"}),ts.addParser({id:"ipAddress",is:function(e){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(e)},format:function(e){var t=e.split("."),n="",r=t.length;for(var i=0;i<r;i++){var s=t[i];s.length==2?n+="0"+s:n+=s}return $.tablesorter.formatFloat(n)},type:"numeric"}),ts.addParser({id:"url",is:function(e){return/^(https?|ftp|file):\/\/$/.test(e)},format:function(e){return jQuery.trim(e.replace(new RegExp(/(https?|ftp|file):\/\//),""))},type:"text"}),ts.addParser({id:"isoDate",is:function(e){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(e)},format:function(e){return $.tablesorter.formatFloat(e!=""?(new Date(e.replace(new RegExp(/-/g),"/"))).getTime():"0")},type:"numeric"}),ts.addParser({id:"percent",is:function(e){return/\%$/.test($.trim(e))},format:function(e){return $.tablesorter.formatFloat(e.replace(new RegExp(/%/g),""))},type:"numeric"}),ts.addParser({id:"usLongDate",is:function(e){return e.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/))},format:function(e){return $.tablesorter.formatFloat((new Date(e)).getTime())},type:"numeric"}),ts.addParser({id:"shortDate",is:function(e){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(e)},format:function(e,t){var n=t.config;e=e.replace(/\-/g,"/");if(n.dateFormat=="us")e=e.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");else if(n.dateFormat=="uk")e=e.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");else if(n.dateFormat=="dd/mm/yy"||n.dateFormat=="dd-mm-yy")e=e.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");return $.tablesorter.formatFloat((new Date(e)).getTime())},type:"numeric"}),ts.addParser({id:"time",is:function(e){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(e)},format:function(e){return $.tablesorter.formatFloat((new Date("2000/01/01 "+e)).getTime())},type:"numeric"}),ts.addParser({id:"metadata",is:function(e){return!1},format:function(e,t,n){var r=t.config,i=r.parserMetadataName?r.parserMetadataName:"sortValue";return $(n).metadata()[i]},type:"numeric"}),ts.addWidget({id:"zebra",format:function(e){if(e.config.debug)var t=new Date;var n,r=-1,i;$("tr:visible",e.tBodies[0]).each(function(t){n=$(this),n.hasClass(e.config.cssChildRow)||r++,i=r%2==0,n.removeClass(e.config.widgetZebra.css[i?0:1]).addClass(e.config.widgetZebra.css[i?1:0])}),e.config.debug&&$.tablesorter.benchmark("Applying Zebra widget",t)}})}(jQuery),function(){var e=this,t=e._,n={},r=Array.prototype,i=Object.prototype,s=Function.prototype,o=r.push,u=r.slice,a=r.concat,f=i.toString,l=i.hasOwnProperty,c=r.forEach,h=r.map,p=r.reduce,d=r.reduceRight,v=r.filter,m=r.every,g=r.some,y=r.indexOf,b=r.lastIndexOf,w=Array.isArray,E=Object.keys,S=s.bind,x=function(e){if(e instanceof x)return e;if(!(this instanceof x))return new x(e);this._wrapped=e};typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=x),exports._=x):e._=x,x.VERSION="1.4.3";var T=x.each=x.forEach=function(e,t,r){if(e==null)return;if(c&&e.forEach===c)e.forEach(t,r);else if(e.length===+e.length){for(var i=0,s=e.length;i<s;i++)if(t.call(r,e[i],i,e)===n)return}else for(var o in e)if(x.has(e,o)&&t.call(r,e[o],o,e)===n)return};x.map=x.collect=function(e,t,n){var r=[];return e==null?r:h&&e.map===h?e.map(t,n):(T(e,function(e,i,s){r[r.length]=t.call(n,e,i,s)}),r)};var N="Reduce of empty array with no initial value";x.reduce=x.foldl=x.inject=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(p&&e.reduce===p)return r&&(t=x.bind(t,r)),i?e.reduce(t,n):e.reduce(t);T(e,function(e,s,o){i?n=t.call(r,n,e,s,o):(n=e,i=!0)});if(!i)throw new TypeError(N);return n},x.reduceRight=x.foldr=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(d&&e.reduceRight===d)return r&&(t=x.bind(t,r)),i?e.reduceRight(t,n):e.reduceRight(t);var s=e.length;if(s!==+s){var o=x.keys(e);s=o.length}T(e,function(u,a,f){a=o?o[--s]:--s,i?n=t.call(r,n,e[a],a,f):(n=e[a],i=!0)});if(!i)throw new TypeError(N);return n},x.find=x.detect=function(e,t,n){var r;return C(e,function(e,i,s){if(t.call(n,e,i,s))return r=e,!0}),r},x.filter=x.select=function(e,t,n){var r=[];return e==null?r:v&&e.filter===v?e.filter(t,n):(T(e,function(e,i,s){t.call(n,e,i,s)&&(r[r.length]=e)}),r)},x.reject=function(e,t,n){return x.filter(e,function(e,r,i){return!t.call(n,e,r,i)},n)},x.every=x.all=function(e,t,r){t||(t=x.identity);var i=!0;return e==null?i:m&&e.every===m?e.every(t,r):(T(e,function(e,s,o){if(!(i=i&&t.call(r,e,s,o)))return n}),!!i)};var C=x.some=x.any=function(e,t,r){t||(t=x.identity);var i=!1;return e==null?i:g&&e.some===g?e.some(t,r):(T(e,function(e,s,o){if(i||(i=t.call(r,e,s,o)))return n}),!!i)};x.contains=x.include=function(e,t){return e==null?!1:y&&e.indexOf===y?e.indexOf(t)!=-1:C(e,function(e){return e===t})},x.invoke=function(e,t){var n=u.call(arguments,2);return x.map(e,function(e){return(x.isFunction(t)?t:e[t]).apply(e,n)})},x.pluck=function(e,t){return x.map(e,function(e){return e[t]})},x.where=function(e,t){return x.isEmpty(t)?[]:x.filter(e,function(e){for(var n in t)if(t[n]!==e[n])return!1;return!0})},x.max=function(e,t,n){if(!t&&x.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.max.apply(Math,e);if(!t&&x.isEmpty(e))return-Infinity;var r={computed:-Infinity,value:-Infinity};return T(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o>=r.computed&&(r={value:e,computed:o})}),r.value},x.min=function(e,t,n){if(!t&&x.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.min.apply(Math,e);if(!t&&x.isEmpty(e))return Infinity;var r={computed:Infinity,value:Infinity};return T(e,function(e,i,s){var o=t?t.call(n,e,i,s):e;o<r.computed&&(r={value:e,computed:o})}),r.value},x.shuffle=function(e){var t,n=0,r=[];return T(e,function(e){t=x.random(n++),r[n-1]=r[t],r[t]=e}),r};var k=function(e){return x.isFunction(e)?e:function(t){return t[e]}};x.sortBy=function(e,t,n){var r=k(t);return x.pluck(x.map(e,function(e,t,i){return{value:e,index:t,criteria:r.call(n,e,t,i)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||n===void 0)return 1;if(n<r||r===void 0)return-1}return e.index<t.index?-1:1}),"value")};var L=function(e,t,n,r){var i={},s=k(t||x.identity);return T(e,function(t,o){var u=s.call(n,t,o,e);r(i,u,t)}),i};x.groupBy=function(e,t,n){return L(e,t,n,function(e,t,n){(x.has(e,t)?e[t]:e[t]=[]).push(n)})},x.countBy=function(e,t,n){return L(e,t,n,function(e,t){x.has(e,t)||(e[t]=0),e[t]++})},x.sortedIndex=function(e,t,n,r){n=n==null?x.identity:k(n);var i=n.call(r,t),s=0,o=e.length;while(s<o){var u=s+o>>>1;n.call(r,e[u])<i?s=u+1:o=u}return s},x.toArray=function(e){return e?x.isArray(e)?u.call(e):e.length===+e.length?x.map(e,x.identity):x.values(e):[]},x.size=function(e){return e==null?0:e.length===+e.length?e.length:x.keys(e).length},x.first=x.head=x.take=function(e,t,n){return e==null?void 0:t!=null&&!n?u.call(e,0,t):e[0]},x.initial=function(e,t,n){return u.call(e,0,e.length-(t==null||n?1:t))},x.last=function(e,t,n){return e==null?void 0:t!=null&&!n?u.call(e,Math.max(e.length-t,0)):e[e.length-1]},x.rest=x.tail=x.drop=function(e,t,n){return u.call(e,t==null||n?1:t)},x.compact=function(e){return x.filter(e,x.identity)};var A=function(e,t,n){return T(e,function(e){x.isArray(e)?t?o.apply(n,e):A(e,t,n):n.push(e)}),n};x.flatten=function(e,t){return A(e,t,[])},x.without=function(e){return x.difference(e,u.call(arguments,1))},x.uniq=x.unique=function(e,t,n,r){x.isFunction(t)&&(r=n,n=t,t=!1);var i=n?x.map(e,n,r):e,s=[],o=[];return T(i,function(n,r){if(t?!r||o[o.length-1]!==n:!x.contains(o,n))o.push(n),s.push(e[r])}),s},x.union=function(){return x.uniq(a.apply(r,arguments))},x.intersection=function(e){var t=u.call(arguments,1);return x.filter(x.uniq(e),function(e){return x.every(t,function(t){return x.indexOf(t,e)>=0})})},x.difference=function(e){var t=a.apply(r,u.call(arguments,1));return x.filter(e,function(e){return!x.contains(t,e)})},x.zip=function(){var e=u.call(arguments),t=x.max(x.pluck(e,"length")),n=new Array(t);for(var r=0;r<t;r++)n[r]=x.pluck(e,""+r);return n},x.object=function(e,t){if(e==null)return{};var n={};for(var r=0,i=e.length;r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n},x.indexOf=function(e,t,n){if(e==null)return-1;var r=0,i=e.length;if(n){if(typeof n!="number")return r=x.sortedIndex(e,t),e[r]===t?r:-1;r=n<0?Math.max(0,i+n):n}if(y&&e.indexOf===y)return e.indexOf(t,n);for(;r<i;r++)if(e[r]===t)return r;return-1},x.lastIndexOf=function(e,t,n){if(e==null)return-1;var r=n!=null;if(b&&e.lastIndexOf===b)return r?e.lastIndexOf(t,n):e.lastIndexOf(t);var i=r?n:e.length;while(i--)if(e[i]===t)return i;return-1},x.range=function(e,t,n){arguments.length<=1&&(t=e||0,e=0),n=arguments[2]||1;var r=Math.max(Math.ceil((t-e)/n),0),i=0,s=new Array(r);while(i<r)s[i++]=e,e+=n;return s};var O=function(){};x.bind=function(e,t){var n,r;if(e.bind===S&&S)return S.apply(e,u.call(arguments,1));if(!x.isFunction(e))throw new TypeError;return n=u.call(arguments,2),r=function(){if(this instanceof r){O.prototype=e.prototype;var i=new O;O.prototype=null;var s=e.apply(i,n.concat(u.call(arguments)));return Object(s)===s?s:i}return e.apply(t,n.concat(u.call(arguments)))}},x.bindAll=function(e){var t=u.call(arguments,1);return t.length==0&&(t=x.functions(e)),T(t,function(t){e[t]=x.bind(e[t],e)}),e},x.memoize=function(e,t){var n={};return t||(t=x.identity),function(){var r=t.apply(this,arguments);return x.has(n,r)?n[r]:n[r]=e.apply(this,arguments)}},x.delay=function(e,t){var n=u.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},x.defer=function(e){return x.delay.apply(x,[e,1].concat(u.call(arguments,1)))},x.throttle=function(e,t){var n,r,i,s,o=0,u=function(){o=new Date,i=null,s=e.apply(n,r)};return function(){var a=new Date,f=t-(a-o);return n=this,r=arguments,f<=0?(clearTimeout(i),i=null,o=a,s=e.apply(n,r)):i||(i=setTimeout(u,f)),s}},x.debounce=function(e,t,n){var r,i;return function(){var s=this,o=arguments,u=function(){r=null,n||(i=e.apply(s,o))},a=n&&!r;return clearTimeout(r),r=setTimeout(u,t),a&&(i=e.apply(s,o)),i}},x.once=function(e){var t=!1,n;return function(){return t?n:(t=!0,n=e.apply(this,arguments),e=null,n)}},x.wrap=function(e,t){return function(){var n=[e];return o.apply(n,arguments),t.apply(this,n)}},x.compose=function(){var e=arguments;return function(){var t=arguments;for(var n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},x.after=function(e,t){return e<=0?t():function(){if(--e<1)return t.apply(this,arguments)}},x.keys=E||function(e){if(e!==Object(e))throw new TypeError("Invalid object");var t=[];for(var n in e)x.has(e,n)&&(t[t.length]=n);return t},x.values=function(e){var t=[];for(var n in e)x.has(e,n)&&t.push(e[n]);return t},x.pairs=function(e){var t=[];for(var n in e)x.has(e,n)&&t.push([n,e[n]]);return t},x.invert=function(e){var t={};for(var n in e)x.has(e,n)&&(t[e[n]]=n);return t},x.functions=x.methods=function(e){var t=[];for(var n in e)x.isFunction(e[n])&&t.push(n);return t.sort()},x.extend=function(e){return T(u.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e},x.pick=function(e){var t={},n=a.apply(r,u.call(arguments,1));return T(n,function(n){n in e&&(t[n]=e[n])}),t},x.omit=function(e){var t={},n=a.apply(r,u.call(arguments,1));for(var i in e)x.contains(n,i)||(t[i]=e[i]);return t},x.defaults=function(e){return T(u.call(arguments,1),function(t){if(t)for(var n in t)e[n]==null&&(e[n]=t[n])}),e},x.clone=function(e){return x.isObject(e)?x.isArray(e)?e.slice():x.extend({},e):e},x.tap=function(e,t){return t(e),e};var M=function(e,t,n,r){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return e===t;e instanceof x&&(e=e._wrapped),t instanceof x&&(t=t._wrapped);var i=f.call(e);if(i!=f.call(t))return!1;switch(i){case"[object String]":return e==String(t);case"[object Number]":return e!=+e?t!=+t:e==0?1/e==1/t:e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object RegExp]":return e.source==t.source&&e.global==t.global&&e.multiline==t.multiline&&e.ignoreCase==t.ignoreCase}if(typeof e!="object"||typeof t!="object")return!1;var s=n.length;while(s--)if(n[s]==e)return r[s]==t;n.push(e),r.push(t);var o=0,u=!0;if(i=="[object Array]"){o=e.length,u=o==t.length;if(u)while(o--)if(!(u=M(e[o],t[o],n,r)))break}else{var a=e.constructor,l=t.constructor;if(a!==l&&!(x.isFunction(a)&&a instanceof a&&x.isFunction(l)&&l instanceof l))return!1;for(var c in e)if(x.has(e,c)){o++;if(!(u=x.has(t,c)&&M(e[c],t[c],n,r)))break}if(u){for(c in t)if(x.has(t,c)&&!(o--))break;u=!o}}return n.pop(),r.pop(),u};x.isEqual=function(e,t){return M(e,t,[],[])},x.isEmpty=function(e){if(e==null)return!0;if(x.isArray(e)||x.isString(e))return e.length===0;for(var t in e)if(x.has(e,t))return!1;return!0},x.isElement=function(e){return!!e&&e.nodeType===1},x.isArray=w||function(e){return f.call(e)=="[object Array]"},x.isObject=function(e){return e===Object(e)},T(["Arguments","Function","String","Number","Date","RegExp"],function(e){x["is"+e]=function(t){return f.call(t)=="[object "+e+"]"}}),x.isArguments(arguments)||(x.isArguments=function(e){return!!e&&!!x.has(e,"callee")}),typeof /./!="function"&&(x.isFunction=function(e){return typeof e=="function"}),x.isFinite=function(e){return isFinite(e)&&!isNaN(parseFloat(e))},x.isNaN=function(e){return x.isNumber(e)&&e!=+e},x.isBoolean=function(e){return e===!0||e===!1||f.call(e)=="[object Boolean]"},x.isNull=function(e){return e===null},x.isUndefined=function(e){return e===void 0},x.has=function(e,t){return l.call(e,t)},x.noConflict=function(){return e._=t,this},x.identity=function(e){return e},x.times=function(e,t,n){var r=Array(e);for(var i=0;i<e;i++)r[i]=t.call(n,i);return r},x.random=function(e,t){return t==null&&(t=e,e=0),e+(0|Math.random()*(t-e+1))};var _={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};_.unescape=x.invert(_.escape);var D={escape:new RegExp("["+x.keys(_.escape).join("")+"]","g"),unescape:new RegExp("("+x.keys(_.unescape).join("|")+")","g")};x.each(["escape","unescape"],function(e){x[e]=function(t){return t==null?"":(""+t).replace(D[e],function(t){return _[e][t]})}}),x.result=function(e,t){if(e==null)return null;var n=e[t];return x.isFunction(n)?n.call(e):n},x.mixin=function(e){T(x.functions(e),function(t){var n=x[t]=e[t];x.prototype[t]=function(){var e=[this._wrapped];return o.apply(e,arguments),F.call(this,n.apply(x,e))}})};var P=0;x.uniqueId=function(e){var t=""+ ++P;return e?e+t:t},x.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var H=/(.)^/,B={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},j=/\\|'|\r|\n|\t|\u2028|\u2029/g;x.template=function(e,t,n){n=x.defaults({},n,x.templateSettings);var r=new RegExp([(n.escape||H).source,(n.interpolate||H).source,(n.evaluate||H).source].join("|")+"|$","g"),i=0,s="__p+='";e.replace(r,function(t,n,r,o,u){return s+=e.slice(i,u).replace(j,function(e){return"\\"+B[e]}),n&&(s+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),r&&(s+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),o&&(s+="';\n"+o+"\n__p+='"),i=u+t.length,t}),s+="';\n",n.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{var o=new Function(n.variable||"obj","_",s)}catch(u){throw u.source=s,u}if(t)return o(t,x);var a=function(e){return o.call(this,e,x)};return a.source="function("+(n.variable||"obj")+"){\n"+s+"}",a},x.chain=function(e){return x(e).chain()};var F=function(e){return this._chain?x(e).chain():e};x.mixin(x),T(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=r[e];x.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),(e=="shift"||e=="splice")&&n.length===0&&delete n[0],F.call(this,n)}}),T(["concat","join","slice"],function(e){var t=r[e];x.prototype[e]=function(){return F.call(this,t.apply(this._wrapped,arguments))}}),x.extend(x.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}.call(this),function(){var e=this,t=e.Backbone,n=Array.prototype.slice,r=Array.prototype.splice,i;typeof exports!="undefined"?i=exports:i=e.Backbone={},i.VERSION="0.9.2";var s=e._;!s&&typeof require!="undefined"&&(s=require("underscore"));var o=e.jQuery||e.Zepto||e.ender;i.setDomLibrary=function(e){o=e},i.noConflict=function(){return e.Backbone=t,this},i.emulateHTTP=!1,i.emulateJSON=!1;var u=/\s+/,a=i.Events={on:function(e,t,n){var r,i,s,o,a;if(!t)return this;e=e.split(u),r=this._callbacks||(this._callbacks={});while(i=e.shift())a=r[i],s=a?a.tail:{},s.next=o={},s.context=n,s.callback=t,r[i]={tail:o,next:a?a.next:s};return this},off:function(e,t,n){var r,i,o,a,f,l;if(!(i=this._callbacks))return;if(!(e||t||n))return delete this._callbacks,this;e=e?e.split(u):s.keys(i);while(r=e.shift()){o=i[r],delete i[r];if(!o||!t&&!n)continue;a=o.tail;while((o=o.next)!==a)f=o.callback,l=o.context,(t&&f!==t||n&&l!==n)&&this.on(r,f,l)}return this},trigger:function(e){var t,r,i,s,o,a,f;if(!(i=this._callbacks))return this;a=i.all,e=e.split(u),f=n.call(arguments,1);while(t=e.shift()){if(r=i[t]){s=r.tail;while((r=r.next)!==s)r.callback.apply(r.context||this,f)}if(r=a){s=r.tail,o=[t].concat(f);while((r=r.next)!==s)r.callback.apply(r.context||this,o)}}return this}};a.bind=a.on,a.unbind=a.off;var f=i.Model=function(e,t){var n;e||(e={}),t&&t.parse&&(e=this.parse(e));if(n=C(this,"defaults"))e=s.extend({},n,e);t&&t.collection&&(this.collection=t.collection),this.attributes={},this._escapedAttributes={},this.cid=s.uniqueId("c"),this.changed={},this._silent={},this._pending={},this.set(e,{silent:!0}),this.changed={},this._silent={},this._pending={},this._previousAttributes=s.clone(this.attributes),this.initialize.apply(this,arguments)};s.extend(f.prototype,a,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(e){return s.clone(this.attributes)},get:function(e){return this.attributes[e]},escape:function(e){var t;if(t=this._escapedAttributes[e])return t;var n=this.get(e);return this._escapedAttributes[e]=s.escape(n==null?"":""+n)},has:function(e){return this.get(e)!=null},set:function(e,t,n){var r,i,o;s.isObject(e)||e==null?(r=e,n=t):(r={},r[e]=t),n||(n={});if(!r)return this;r instanceof f&&(r=r.attributes);if(n.unset)for(i in r)r[i]=void 0;if(!this._validate(r,n))return!1;this.idAttribute in r&&(this.id=r[this.idAttribute]);var u=n.changes={},a=this.attributes,l=this._escapedAttributes,c=this._previousAttributes||{};for(i in r){o=r[i];if(!s.isEqual(a[i],o)||n.unset&&s.has(a,i))delete l[i],(n.silent?this._silent:u)[i]=!0;n.unset?delete a[i]:a[i]=o,!s.isEqual(c[i],o)||s.has(a,i)!=s.has(c,i)?(this.changed[i]=o,n.silent||(this._pending[i]=!0)):(delete this.changed[i],delete this._pending[i])}return n.silent||this.change(n),this},unset:function(e,t){return(t||(t={})).unset=!0,this.set(e,null,t)},clear:function(e){return(e||(e={})).unset=!0,this.set(s.clone(this.attributes),e)},fetch:function(e){e=e?s.clone(e):{};var t=this,n=e.success;return e.success=function(r,i,s){if(!t.set(t.parse(r,s),e))return!1;n&&n(t,r)},e.error=i.wrapError(e.error,t,e),(this.sync||i.sync).call(this,"read",this,e)},save:function(e,t,n){var r,o;s.isObject(e)||e==null?(r=e,n=t):(r={},r[e]=t),n=n?s.clone(n):{};if(n.wait){if(!this._validate(r,n))return!1;o=s.clone(this.attributes)}var u=s.extend({},n,{silent:!0});if(r&&!this.set(r,n.wait?u:n))return!1;var a=this,f=n.success;n.success=function(e,t,i){var o=a.parse(e,i);n.wait&&(delete n.wait,o=s.extend(r||{},o));if(!a.set(o,n))return!1;f?f(a,e):a.trigger("sync",a,e,n)},n.error=i.wrapError(n.error,a,n);var l=this.isNew()?"create":"update",c=(this.sync||i.sync).call(this,l,this,n);return n.wait&&this.set(o,u),c},destroy:function(e){e=e?s.clone(e):{};var t=this,n=e.success,r=function(){t.trigger("destroy",t,t.collection,e)};if(this.isNew())return r(),!1;e.success=function(i){e.wait&&r(),n?n(t,i):t.trigger("sync",t,i,e)},e.error=i.wrapError(e.error,t,e);var o=(this.sync||i.sync).call(this,"delete",this,e);return e.wait||r(),o},url:function(){var e=C(this,"urlRoot")||C(this.collection,"url")||k();return this.isNew()?e:e+(e.charAt(e.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},parse:function(e,t){return e},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return this.id==null},change:function(e){e||(e={});var t=this._changing;this._changing=!0;for(var n in this._silent)this._pending[n]=!0;var r=s.extend({},e.changes,this._silent);this._silent={};for(var n in r)this.trigger("change:"+n,this,this.get(n),e);if(t)return this;while(!s.isEmpty(this._pending)){this._pending={},this.trigger("change",this,e);for(var n in this.changed){if(this._pending[n]||this._silent[n])continue;delete this.changed[n]}this._previousAttributes=s.clone(this.attributes)}return this._changing=!1,this},hasChanged:function(e){return arguments.length?s.has(this.changed,e):!s.isEmpty(this.changed)},changedAttributes:function(e){if(!e)return this.hasChanged()?s.clone(this.changed):!1;var t,n=!1,r=this._previousAttributes;for(var i in e){if(s.isEqual(r[i],t=e[i]))continue;(n||(n={}))[i]=t}return n},previous:function(e){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[e]},previousAttributes:function(){return s.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(e,t){if(t.silent||!this.validate)return!0;e=s.extend({},this.attributes,e);var n=this.validate(e,t);return n?(t&&t.error?t.error(this,n,t):this.trigger("error",this,n,t),!1):!0}});var l=i.Collection=function(e,t){t||(t={}),t.model&&(this.model=t.model),t.comparator&&(this.comparator=t.comparator),this._reset(),this.initialize.apply(this,arguments),e&&this.reset(e,{silent:!0,parse:t.parse})};s.extend(l.prototype,a,{model:f,initialize:function(){},toJSON:function(e){return this.map(function(t){return t.toJSON(e)})},add:function(e,t){var n,i,o,u,a,f,l={},c={},h=[];t||(t={}),e=s.isArray(e)?e.slice():[e];for(n=0,o=e.length;n<o;n++){if(!(u=e[n]=this._prepareModel(e[n],t)))throw new Error("Can't add an invalid model to a collection");a=u.cid,f=u.id;if(l[a]||this._byCid[a]||f!=null&&(c[f]||this._byId[f])){h.push(n);continue}l[a]=c[f]=u}n=h.length;while(n--)e.splice(h[n],1);for(n=0,o=e.length;n<o;n++)(u=e[n]).on("all",this._onModelEvent,this),this._byCid[u.cid]=u,u.id!=null&&(this._byId[u.id]=u);this.length+=o,i=t.at!=null?t.at:this.models.length,r.apply(this.models,[i,0].concat(e)),this.comparator&&this.sort({silent:!0});if(t.silent)return this;for(n=0,o=this.models.length;n<o;n++){if(!l[(u=this.models[n]).cid])continue;t.index=n,u.trigger("add",u,this,t)}return this
|
1041
1072
|
},remove:function(e,t){var n,r,i,o;t||(t={}),e=s.isArray(e)?e.slice():[e];for(n=0,r=e.length;n<r;n++){o=this.getByCid(e[n])||this.get(e[n]);if(!o)continue;delete this._byId[o.id],delete this._byCid[o.cid],i=this.indexOf(o),this.models.splice(i,1),this.length--,t.silent||(t.index=i,o.trigger("remove",o,this,t)),this._removeReference(o)}return this},push:function(e,t){return e=this._prepareModel(e,t),this.add(e,t),e},pop:function(e){var t=this.at(this.length-1);return this.remove(t,e),t},unshift:function(e,t){return e=this._prepareModel(e,t),this.add(e,s.extend({at:0},t)),e},shift:function(e){var t=this.at(0);return this.remove(t,e),t},get:function(e){return e==null?void 0:this._byId[e.id!=null?e.id:e]},getByCid:function(e){return e&&this._byCid[e.cid||e]},at:function(e){return this.models[e]},where:function(e){return s.isEmpty(e)?[]:this.filter(function(t){for(var n in e)if(e[n]!==t.get(n))return!1;return!0})},sort:function(e){e||(e={});if(!this.comparator)throw new Error("Cannot sort a set without a comparator");var t=s.bind(this.comparator,this);return this.comparator.length==1?this.models=this.sortBy(t):this.models.sort(t),e.silent||this.trigger("reset",this,e),this},pluck:function(e){return s.map(this.models,function(t){return t.get(e)})},reset:function(e,t){e||(e=[]),t||(t={});for(var n=0,r=this.models.length;n<r;n++)this._removeReference(this.models[n]);return this._reset(),this.add(e,s.extend({silent:!0},t)),t.silent||this.trigger("reset",this,t),this},fetch:function(e){e=e?s.clone(e):{},e.parse===undefined&&(e.parse=!0);var t=this,n=e.success;return e.success=function(r,i,s){t[e.add?"add":"reset"](t.parse(r,s),e),n&&n(t,r)},e.error=i.wrapError(e.error,t,e),(this.sync||i.sync).call(this,"read",this,e)},create:function(e,t){var n=this;t=t?s.clone(t):{},e=this._prepareModel(e,t);if(!e)return!1;t.wait||n.add(e,t);var r=t.success;return t.success=function(i,s,o){t.wait&&n.add(i,t),r?r(i,s):i.trigger("sync",e,s,t)},e.save(null,t),e},parse:function(e,t){return e},chain:function(){return s(this.models).chain()},_reset:function(e){this.length=0,this.models=[],this._byId={},this._byCid={}},_prepareModel:function(e,t){t||(t={});if(e instanceof f)e.collection||(e.collection=this);else{var n=e;t.collection=this,e=new this.model(n,t),e._validate(e.attributes,t)||(e=!1)}return e},_removeReference:function(e){this==e.collection&&delete e.collection,e.off("all",this._onModelEvent,this)},_onModelEvent:function(e,t,n,r){if((e=="add"||e=="remove")&&n!=this)return;e=="destroy"&&this.remove(t,r),t&&e==="change:"+t.idAttribute&&(delete this._byId[t.previous(t.idAttribute)],this._byId[t.id]=t),this.trigger.apply(this,arguments)}});var c=["forEach","each","map","reduce","reduceRight","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","sortBy","sortedIndex","toArray","size","first","initial","rest","last","without","indexOf","shuffle","lastIndexOf","isEmpty","groupBy"];s.each(c,function(e){l.prototype[e]=function(){return s[e].apply(s,[this.models].concat(s.toArray(arguments)))}});var h=i.Router=function(e){e||(e={}),e.routes&&(this.routes=e.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},p=/:\w+/g,d=/\*\w+/g,v=/[-[\]{}()+?.,\\^$|#\s]/g;s.extend(h.prototype,a,{initialize:function(){},route:function(e,t,n){return i.history||(i.history=new m),s.isRegExp(e)||(e=this._routeToRegExp(e)),n||(n=this[t]),i.history.route(e,s.bind(function(r){var s=this._extractParameters(e,r);n&&n.apply(this,s),this.trigger.apply(this,["route:"+t].concat(s)),i.history.trigger("route",this,t,s)},this)),this},navigate:function(e,t){i.history.navigate(e,t)},_bindRoutes:function(){if(!this.routes)return;var e=[];for(var t in this.routes)e.unshift([t,this.routes[t]]);for(var n=0,r=e.length;n<r;n++)this.route(e[n][0],e[n][1],this[e[n][1]])},_routeToRegExp:function(e){return e=e.replace(v,"\\$&").replace(p,"([^/]+)").replace(d,"(.*?)"),new RegExp("^"+e+"$")},_extractParameters:function(e,t){return e.exec(t).slice(1)}});var m=i.History=function(){this.handlers=[],s.bindAll(this,"checkUrl")},g=/^[#\/]/,y=/msie [\w.]+/;m.started=!1,s.extend(m.prototype,a,{interval:50,getHash:function(e){var t=e?e.location:window.location,n=t.href.match(/#(.*)$/);return n?n[1]:""},getFragment:function(e,t){if(e==null)if(this._hasPushState||t){e=window.location.pathname;var n=window.location.search;n&&(e+=n)}else e=this.getHash();return e.indexOf(this.options.root)||(e=e.substr(this.options.root.length)),e.replace(g,"")},start:function(e){if(m.started)throw new Error("Backbone.history has already been started");m.started=!0,this.options=s.extend({},{root:"/"},this.options,e),this._wantsHashChange=this.options.hashChange!==!1,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&window.history&&window.history.pushState);var t=this.getFragment(),n=document.documentMode,r=y.exec(navigator.userAgent.toLowerCase())&&(!n||n<=7);r&&(this.iframe=o('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow,this.navigate(t)),this._hasPushState?o(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!r?o(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=t;var i=window.location,u=i.pathname==this.options.root;if(this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!u)return this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0;this._wantsPushState&&this._hasPushState&&u&&i.hash&&(this.fragment=this.getHash().replace(g,""),window.history.replaceState({},document.title,i.protocol+"//"+i.host+this.options.root+this.fragment));if(!this.options.silent)return this.loadUrl()},stop:function(){o(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),m.started=!1},route:function(e,t){this.handlers.unshift({route:e,callback:t})},checkUrl:function(e){var t=this.getFragment();t==this.fragment&&this.iframe&&(t=this.getFragment(this.getHash(this.iframe)));if(t==this.fragment)return!1;this.iframe&&this.navigate(t),this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(e){var t=this.fragment=this.getFragment(e),n=s.any(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0});return n},navigate:function(e,t){if(!m.started)return!1;if(!t||t===!0)t={trigger:t};var n=(e||"").replace(g,"");if(this.fragment==n)return;this._hasPushState?(n.indexOf(this.options.root)!=0&&(n=this.options.root+n),this.fragment=n,window.history[t.replace?"replaceState":"pushState"]({},document.title,n)):this._wantsHashChange?(this.fragment=n,this._updateHash(window.location,n,t.replace),this.iframe&&n!=this.getFragment(this.getHash(this.iframe))&&(t.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,n,t.replace))):window.location.assign(this.options.root+e),t.trigger&&this.loadUrl(e)},_updateHash:function(e,t,n){n?e.replace(e.toString().replace(/(javascript:|#).*$/,"")+"#"+t):e.hash=t}});var b=i.View=function(e){this.cid=s.uniqueId("view"),this._configure(e||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},w=/^(\S+)\s*(.*)$/,E=["model","collection","el","id","attributes","className","tagName"];s.extend(b.prototype,a,{tagName:"div",$:function(e){return this.$el.find(e)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(e,t,n){var r=document.createElement(e);return t&&o(r).attr(t),n&&o(r).html(n),r},setElement:function(e,t){return this.$el&&this.undelegateEvents(),this.$el=e instanceof o?e:o(e),this.el=this.$el[0],t!==!1&&this.delegateEvents(),this},delegateEvents:function(e){if(!e&&!(e=C(this,"events")))return;this.undelegateEvents();for(var t in e){var n=e[t];s.isFunction(n)||(n=this[e[t]]);if(!n)throw new Error('Method "'+e[t]+'" does not exist');var r=t.match(w),i=r[1],o=r[2];n=s.bind(n,this),i+=".delegateEvents"+this.cid,o===""?this.$el.bind(i,n):this.$el.delegate(o,i,n)}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(e){this.options&&(e=s.extend({},this.options,e));for(var t=0,n=E.length;t<n;t++){var r=E[t];e[r]&&(this[r]=e[r])}this.options=e},_ensureElement:function(){if(!this.el){var e=C(this,"attributes")||{};this.id&&(e.id=this.id),this.className&&(e["class"]=this.className),this.setElement(this.make(this.tagName,e),!1)}else this.setElement(this.el,!1)}});var S=function(e,t){var n=N(this,e,t);return n.extend=this.extend,n};f.extend=l.extend=h.extend=b.extend=S;var x={create:"POST",update:"PUT","delete":"DELETE",read:"GET"};i.sync=function(e,t,n){var r=x[e];n||(n={});var u={type:r,dataType:"json"};return n.url||(u.url=C(t,"url")||k()),!n.data&&t&&(e=="create"||e=="update")&&(u.contentType="application/json",u.data=JSON.stringify(t.toJSON())),i.emulateJSON&&(u.contentType="application/x-www-form-urlencoded",u.data=u.data?{model:u.data}:{}),i.emulateHTTP&&(r==="PUT"||r==="DELETE")&&(i.emulateJSON&&(u.data._method=r),u.type="POST",u.beforeSend=function(e){e.setRequestHeader("X-HTTP-Method-Override",r)}),u.type!=="GET"&&!i.emulateJSON&&(u.processData=!1),o.ajax(s.extend(u,n))},i.wrapError=function(e,t,n){return function(r,i){i=r===t?i:r,e?e(t,i,n):t.trigger("error",t,i,n)}};var T=function(){},N=function(e,t,n){var r;return t&&t.hasOwnProperty("constructor")?r=t.constructor:r=function(){e.apply(this,arguments)},s.extend(r,e),T.prototype=e.prototype,r.prototype=new T,t&&s.extend(r.prototype,t),n&&s.extend(r,n),r.prototype.constructor=r,r.__super__=e.prototype,r},C=function(e,t){return!e||!e[t]?null:s.isFunction(e[t])?e[t]():e[t]},k=function(){throw new Error('A "url" property or function must be specified')}}.call(this),window.CodeMirror=function(){"use strict";function e(r,i){function hn(e){if(s.onDragEvent&&s.onDragEvent(mn,Y(e)))return;tt(e)}function vn(e){return e>=0&&e<Pt.size}function gn(e){return V(Pt,e)}function yn(e,t){Gt=!0;var n=t-e.height;for(var r=e;r;r=r.parent)r.height+=n}function bn(e,t){return e.styles||e.highlight(Dt,e.stateAfter=fi($(e)),s.tabSize),e.getContent(s.tabSize,t,s.lineWrapping)}function wn(e){var t={line:0,ch:0};Fn(t,{line:Pt.size-1,ch:gn(Pt.size-1).text.length},At(e),t,t),Vt=!0}function En(e){var t=[];return Pt.iter(0,Pt.size,function(e){t.push(e.text)}),t.join(e||"\n")}function Sn(e){Math.abs(O.scrollTop-Rt)>1&&(Rt=ct.scrollTop=O.scrollTop,ar([]))}function xn(e){s.fixedGutter&&et.style.left!=ct.scrollLeft+"px"&&(et.style.left=ct.scrollLeft+"px"),Math.abs(ct.scrollTop-Rt)>1&&(Rt=ct.scrollTop,O.scrollTop!=Rt&&(O.scrollTop=Rt),ar([])),s.onScroll&&s.onScroll(mn)}function Tn(e){function u(t){b&&(ct.draggable=!1),Ut=!1,l(),c(),Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)<10&&(Z(t),gr(n.line,n.ch,!0),nr())}function m(e){if(i=="single"){dr(br(n),e);return}h=br(h),p=br(p);if(i=="double"){var t=Tr(e);bt(e,h)?dr(t.from,p):dr(h,t.to)}else i=="triple"&&(bt(e,h)?dr(p,br({line:e.line,ch:0})):dr(h,br({line:e.line+1,ch:0})))}function g(e){var t=ni(e,!0);if(t&&!yt(t,a)){Bt||Bn(),a=t,m(t),Vt=!1;var n=ur();if(t.line>=n.to||t.line<n.from)f=setTimeout(vi(function(){g(e)}),150)}}function y(e){clearTimeout(f);var t=ni(e);t&&m(t),Z(e),nr(),Vt=!0,w(),l()}pr(it(e,"shiftKey"));for(var t=nt(e);t!=dt;t=t.parentNode)if(t.parentNode==lt&&t!=ft)return;for(var t=nt(e);t!=dt;t=t.parentNode)if(t.parentNode==G)return s.onGutterClick&&s.onGutterClick(mn,Ct(G.childNodes,t)+en,e),Z(e);var n=ni(e);switch(rt(e)){case 3:d&&ii(e);return;case 2:n&&gr(n.line,n.ch,!0),setTimeout(nr,20),Z(e);return}if(!n){nt(e)==ct&&Z(e);return}Bt||Bn();var r=+(new Date),i="single";if(qt&&qt.time>r-400&&yt(qt.pos,n))i="triple",Z(e),setTimeout(nr,20),Nr(n.line);else if(It&&It.time>r-400&&yt(It.pos,n)){i="double",qt={time:r,pos:n},Z(e);var o=Tr(n);dr(o.from,o.to)}else It={time:r,pos:n};var a=n,f;if(s.dragDrop&&at&&!s.readOnly&&!yt(jt.from,jt.to)&&!bt(n,jt.from)&&!bt(jt.to,n)&&i=="single"){b&&(ct.draggable=!0);var l=st(document,"mouseup",vi(u),!0),c=st(ct,"drop",vi(u),!0);Ut=!0,ct.dragDrop&&ct.dragDrop();return}Z(e),i=="single"&&gr(n.line,n.ch,!0);var h=jt.from,p=jt.to,w=st(document,"mousemove",vi(function(e){clearTimeout(f),Z(e),!v&&!rt(e)?y(e):g(e)}),!0),l=st(document,"mouseup",vi(y),!0)}function Nn(e){for(var t=nt(e);t!=dt;t=t.parentNode)if(t.parentNode==G)return Z(e);Z(e)}function Cn(e){if(s.onDragEvent&&s.onDragEvent(mn,Y(e)))return;Z(e);var t=ni(e,!0),n=e.dataTransfer.files;if(!t||s.readOnly)return;if(n&&n.length&&window.FileReader&&window.File){var r=n.length,i=Array(r),o=0,u=function(e,n){var s=new FileReader;s.onload=function(){i[n]=s.result,++o==r&&(t=br(t),vi(function(){var e=Vn(i.join(""),t,t);dr(t,e)})())},s.readAsText(e)};for(var a=0;a<r;++a)u(n[a],a)}else{if(Ut&&!bt(t,jt.from)&&!bt(jt.to,t))return;try{var i=e.dataTransfer.getData("Text");i&&mi(function(){var e=jt.from,n=jt.to;dr(t,t),Ut&&Vn("",e,n),$n(i),nr()})}catch(e){}}}function kn(e){var t=Qn();e.dataTransfer.setData("Text",t),e.dataTransfer.setDragImage&&e.dataTransfer.setDragImage(Et("img"),0,0)}function Ln(e,t){if(typeof e=="string"){e=f[e];if(!e)return!1}var n=Ft;try{s.readOnly&&(Wt=!0),t&&(Ft=null),e(mn)}catch(r){if(r!=ut)throw r;return!1}finally{Ft=n,Wt=!1}return!0}function On(e){function u(){o=!0}var t=c(s.keyMap),n=t.auto;clearTimeout(An),n&&!p(e)&&(An=setTimeout(function(){c(s.keyMap)==t&&(s.keyMap=n.call?n.call(null,mn):n)},50));var r=Mt[it(e,"keyCode")],i=!1;if(r==null||e.altGraphKey)return!1;it(e,"altKey")&&(r="Alt-"+r),it(e,k?"metaKey":"ctrlKey")&&(r="Ctrl-"+r),it(e,k?"ctrlKey":"metaKey")&&(r="Cmd-"+r);var o=!1;return it(e,"shiftKey")?i=h("Shift-"+r,s.extraKeys,s.keyMap,function(e){return Ln(e,!0)},u)||h(r,s.extraKeys,s.keyMap,function(e){if(typeof e=="string"&&/^go[A-Z]/.test(e))return Ln(e)},u):i=h(r,s.extraKeys,s.keyMap,Ln,u),o&&(i=!1),i&&(Z(e),si(),g&&(e.oldKeyCode=e.keyCode,e.keyCode=0)),i}function Mn(e,t){var n=h("'"+t+"'",s.extraKeys,s.keyMap,function(e){return Ln(e,!0)});return n&&(Z(e),si()),n}function Dn(e){Bt||Bn(),v&&e.keyCode==27&&(e.returnValue=!1),an&&er()&&(an=!1);if(s.onKeyEvent&&s.onKeyEvent(mn,Y(e)))return;var t=it(e,"keyCode");pr(t==16||it(e,"shiftKey"));var r=On(e);S&&(_n=r?t:null,!r&&t==88&&it(e,n?"metaKey":"ctrlKey")&&$n(""))}function Pn(e){an&&er();if(s.onKeyEvent&&s.onKeyEvent(mn,Y(e)))return;var t=it(e,"keyCode"),n=it(e,"charCode");if(S&&t==_n){_n=null,Z(e);return}if((S&&(!e.which||e.which<10)||T)&&On(e))return;var r=String.fromCharCode(n==null?t:n);s.electricChars&&Dt.electricChars&&s.smartIndent&&!s.readOnly&&Dt.electricChars.indexOf(r)>-1&&setTimeout(vi(function(){kr(jt.to.line,"smart")}),75);if(Mn(e,r))return;Yn()}function Hn(e){if(s.onKeyEvent&&s.onKeyEvent(mn,Y(e)))return;it(e,"keyCode")==16&&(Ft=null)}function Bn(){if(s.readOnly=="nocursor")return;Bt||(s.onFocus&&s.onFocus(mn),Bt=!0,ct.className.search(/\bCodeMirror-focused\b/)==-1&&(ct.className+=" CodeMirror-focused")),Gn(),si()}function jn(){Bt&&(s.onBlur&&s.onBlur(mn),Bt=!1,rn&&vi(function(){rn&&(rn(),rn=null)})(),ct.className=ct.className.replace(" CodeMirror-focused","")),clearInterval(_t),setTimeout(function(){Bt||(Ft=null)},150)}function Fn(e,t,n,r,i){if(Wt)return;var o=[];Pt.iter(e.line,t.line+1,function(e){o.push(I(e.text,e.markedSpans))});if(ln){ln.addChange(e.line,n.length,o);while(ln.done.length>s.undoDepth)ln.done.shift()}var u=B(F(o[0]),F(mt(o)),e.ch,t.ch,n);Un(e,t,u,r,i)}function In(e,t){if(!e.length)return;var n=e.pop(),r=[];for(var i=n.length-1;i>=0;i-=1){var s=n[i],o=[],u=s.start+s.added;Pt.iter(s.start,u,function(e){o.push(I(e.text,e.markedSpans))}),r.push({start:s.start,added:s.old.length,old:o});var a={line:s.start+s.old.length-1,ch:Nt(j(mt(o)),j(mt(s.old)))};Un({line:s.start,ch:0},{line:u-1,ch:gn(u-1).text.length},s.old,a,a)}Vt=!0,t.push(r)}function qn(){In(ln.done,ln.undone)}function Rn(){In(ln.undone,ln.done)}function Un(e,t,n,r,i){function w(e){return e<=Math.min(t.line,t.line+g)?e:e+g}if(Wt)return;var o=!1,u=sn.text.length;s.lineWrapping||Pt.iter(e.line,t.line+1,function(e){if(!e.hidden&&e.text.length==u)return o=!0,!0});if(e.line!=t.line||n.length>1)Gt=!0;var a=t.line-e.line,f=gn(e.line),l=gn(t.line),c=mt(n);if(e.ch==0&&t.ch==0&&j(c)==""){var h=[],p=null;for(var d=0,v=n.length-1;d<v;++d)h.push(new z(j(n[d]),F(n[d])));l.update(l.text,F(c)),a&&Pt.remove(e.line,a,Yt),h.length&&Pt.insert(e.line,h)}else if(f==l)if(n.length==1)f.update(f.text.slice(0,e.ch)+j(n[0])+f.text.slice(t.ch),F(n[0]));else{for(var h=[],d=1,v=n.length-1;d<v;++d)h.push(new z(j(n[d]),F(n[d])));h.push(new z(j(c)+f.text.slice(t.ch),F(c))),f.update(f.text.slice(0,e.ch)+j(n[0]),F(n[0])),Pt.insert(e.line+1,h)}else if(n.length==1)f.update(f.text.slice(0,e.ch)+j(n[0])+l.text.slice(t.ch),F(n[0])),Pt.remove(e.line+1,a,Yt);else{var h=[];f.update(f.text.slice(0,e.ch)+j(n[0]),F(n[0])),l.update(j(c)+l.text.slice(t.ch),F(c));for(var d=1,v=n.length-1;d<v;++d)h.push(new z(j(n[d]),F(n[d])));a>1&&Pt.remove(e.line+1,a-1,Yt),Pt.insert(e.line+1,h)}if(s.lineWrapping){var m=Math.max(5,ct.clientWidth/Zr()-3);Pt.iter(e.line,e.line+n.length,function(e){if(e.hidden)return;var t=Math.ceil(e.text.length/m)||1;t!=e.height&&yn(e,t)})}else Pt.iter(e.line,e.line+n.length,function(e){var t=e.text;!e.hidden&&t.length>u&&(sn=e,u=t.length,un=!0,o=!1)}),o&&(on=!0);Ht=Math.min(Ht,e.line),ci(400);var g=n.length-a-1;Jt.push({from:e.line,to:t.line+1,diff:g});if(s.onChange){for(var d=0;d<n.length;++d)typeof n[d]!="string"&&(n[d]=n[d].text);var y={from:e,to:t,text:n};if(Kt){for(var b=Kt;b.next;b=b.next);b.next=y}else Kt=y}vr(br(r),br(i),w(jt.from.line),w(jt.to.line))}function zn(){var e=Pt.height*Qr()+2*ei();return e*.99>ct.offsetHeight?e:!1}function Wn(e){var t=zn();O.style.display=t?"block":"none",t?(C.style.height=lt.style.minHeight=t+"px",O.style.height=ct.clientHeight+"px",e!=null&&(O.scrollTop=ct.scrollTop=e,b&&setTimeout(function(){if(O.scrollTop!=e)return;O.scrollTop=e+(e?-1:1),O.scrollTop=e},0))):lt.style.minHeight="",ft.style.top=Zt*Qr()+"px"}function Xn(){sn=gn(0),un=!0;var e=sn.text.length;Pt.iter(1,Pt.size,function(t){var n=t.text;!t.hidden&&n.length>e&&(e=n.length,sn=t)}),on=!1}function Vn(e,t,n){function r(r){if(bt(r,t))return r;if(!bt(n,r))return i;var s=r.line+e.length-(n.line-t.line)-1,o=r.ch;return r.line==n.line&&(o+=mt(e).length-(n.ch-(n.line==t.line?t.ch:0))),{line:s,ch:o}}t=br(t),n?n=br(n):n=t,e=At(e);var i;return Jn(e,t,n,function(e){return i=e,{from:r(jt.from),to:r(jt.to)}}),i}function $n(e,t){Jn(At(e),jt.from,jt.to,function(e){return t=="end"?{from:e,to:e}:t=="start"?{from:jt.from,to:jt.from}:{from:jt.from,to:e}})}function Jn(e,t,n,r){var i=e.length==1?e[0].length+t.ch:mt(e).length,s=r({line:t.line+e.length-1,ch:i});Fn(t,n,e,s.from,s.to)}function Kn(e,t,n){var r=e.line,i=t.line;if(r==i)return gn(r).text.slice(e.ch,t.ch);var s=[gn(r).text.slice(e.ch)];return Pt.iter(r+1,i,function(e){s.push(e.text)}),s.push(gn(i).text.slice(0,t.ch)),s.join(n||"\n")}function Qn(e){return Kn(jt.from,jt.to,e)}function Gn(){if(an)return;Tt.set(s.pollInterval,function(){er(),Bt&&Gn()})}function Yn(){function t(){var n=er();!n&&!e?(e=!0,Tt.set(60,t)):(an=!1,Gn())}var e=!1;an=!0,Tt.set(20,t)}function er(){if(!Bt||Ot(E)||s.readOnly)return!1;var e=E.value;if(e==Zn)return!1;di||hi(),Ft=null;var t=0,n=Math.min(Zn.length,e.length);while(t<n&&Zn[t]==e[t])++t;return t<Zn.length?jt.from={line:jt.from.line,ch:jt.from.ch-(Zn.length-t)}:zt&&yt(jt.from,jt.to)&&!Xt&&(jt.to={line:jt.to.line,ch:Math.min(gn(jt.to.line).text.length,jt.to.ch+(e.length-t))}),$n(e.slice(t),"end"),e.length>1e3?E.value=Zn="":Zn=e,di||pi(),Xt=!1,!0}function tr(e){yt(jt.from,jt.to)?e&&(Zn=E.value=""):(Zn="",E.value=Qn(),Bt&>(E))}function nr(){s.readOnly!="nocursor"&&(g||document.activeElement!=E)&&E.focus()}function rr(){var e=ir();sr(e.x,e.y,e.x,e.yBot);if(!Bt)return;var t=lt.getBoundingClientRect(),n=null;e.y+t.top<0?n=!0:e.y+t.top+Qr()>(window.innerHeight||document.documentElement.clientHeight)&&(n=!1);if(n!=null){var r=H.style.display=="none";r&&(H.style.display="",H.style.left=e.x+"px",H.style.top=e.y-Zt+"px"),H.scrollIntoView(n),r&&(H.style.display="none")}}function ir(){var e=Wr(jt.inverted?jt.from:jt.to),t=s.lineWrapping?Math.min(e.x,U.offsetWidth):e.x;return{x:t,y:e.y,yBot:e.yBot}}function sr(e,t,n,r){var i=or(e,t,n,r);i.scrollLeft!=null&&(ct.scrollLeft=i.scrollLeft),i.scrollTop!=null&&(O.scrollTop=ct.scrollTop=i.scrollTop)}function or(e,t,n,r){var i=ti(),o=ei();t+=o,r+=o,e+=i,n+=i;var u=ct.clientHeight,a=O.scrollTop,f={},l=zn()||Infinity,c=t<o+10,h=r+o>l-10;t<a?f.scrollTop=c?0:Math.max(0,t):r>a+u&&(f.scrollTop=(h?l:r)-u);var p=ct.clientWidth,d=ct.scrollLeft,v=s.fixedGutter?et.clientWidth:0,m=e<v+i+10;return e<d+v||m?(m&&(e=0),f.scrollLeft=Math.max(0,e-10-v)):n>p+d-3&&(f.scrollLeft=n+10-p),f}function ur(e){var t=Qr(),n=(e!=null?e:O.scrollTop)-ei(),r=Math.max(0,Math.floor(n/t)),i=Math.ceil((n+ct.clientHeight)/t);return{from:J(Pt,r),to:J(Pt,i)}}function ar(e,t,n){function d(){var e=M.firstChild,t=!1;return Pt.iter(en,tn,function(n){if(!e)return;if(!n.hidden){var r=Math.round(e.offsetHeight/c)||1;n.height!=r&&(yn(n,r),Gt=t=!0)}e=e.nextSibling}),t}if(!ct.clientWidth){en=tn=Zt=0;return}var r=ur(n);if(e!==!0&&e.length==0&&r.from>en&&r.to<tn){Wn(n);return}var i=Math.max(r.from-100,0),o=Math.min(Pt.size,r.to+100);en<i&&i-en<20&&(i=en),tn>o&&tn-o<20&&(o=Math.min(Pt.size,tn));var u=e===!0?[]:fr([{from:en,to:tn,domStart:0}],e),a=0;for(var f=0;f<u.length;++f){var l=u[f];l.from<i&&(l.domStart+=i-l.from,l.from=i),l.to>o&&(l.to=o),l.from>=l.to?u.splice(f--,1):a+=l.to-l.from}if(a==o-i&&i==en&&o==tn){Wn(n);return}u.sort(function(e,t){return e.domStart-t.domStart});var c=Qr(),h=et.style.display;M.style.display="none",lr(i,o,u),M.style.display=et.style.display="";var p=i!=en||o!=tn||nn!=ct.clientHeight+c;p&&(nn=ct.clientHeight+c),(i!=en||o!=tn&&s.onViewportChange)&&setTimeout(function(){s.onViewportChange&&s.onViewportChange(mn,i,o)}),en=i,tn=o,Zt=K(Pt,i),ci(100);if(M.childNodes.length!=tn-en)throw new Error("BAD PATCH! "+JSON.stringify(u)+" size="+(tn-en)+" nodes="+M.childNodes.length);return s.lineWrapping&&d(),et.style.display=h,(p||Gt)&&cr()&&s.lineWrapping&&d()&&cr(),Wn(n),hr(),!t&&s.onUpdate&&s.onUpdate(mn),!0}function fr(e,t){for(var n=0,r=t.length||0;n<r;++n){var i=t[n],s=[],o=i.diff||0;for(var u=0,a=e.length;u<a;++u){var f=e[u];i.to<=f.from&&i.diff?s.push({from:f.from+o,to:f.to+o,domStart:f.domStart}):i.to<=f.from||i.from>=f.to?s.push(f):(i.from>f.from&&s.push({from:f.from,to:i.from,domStart:f.domStart}),i.to<f.to&&s.push({from:i.to+o,to:f.to+o,domStart:f.domStart+(i.to-f.from)}))}e=s}return e}function lr(e,t,n){function r(e){var t=e.nextSibling;return e.parentNode.removeChild(e),t}if(!n.length)St(M);else{var i=0,s=M.firstChild,o;for(var u=0;u<n.length;++u){var a=n[u];while(a.domStart>i)s=r(s),i++;for(var f=0,l=a.to-a.from;f<l;++f)s=s.nextSibling,i++}while(s)s=r(s)}var c=n.shift(),s=M.firstChild,f=e;Pt.iter(e,t,function(e){c&&c.to==f&&(c=n.shift());if(!c||c.from>f){if(e.hidden)var t=Et("pre");else{var t=bn(e);e.className&&(t.className=e.className);if(e.bgClassName){var r=Et("pre","\u00a0",e.bgClassName,"position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -2");t=Et("div",[r,t],null,"position: relative")}}M.insertBefore(t,s)}else s=s.nextSibling;++f})}function cr(){if(!s.gutter&&!s.lineNumbers)return;var e=ft.offsetHeight,t=ct.clientHeight;et.style.height=(e-t<2?t:e)+"px";var n=document.createDocumentFragment(),r=en,i;Pt.iter(en,Math.max(tn,en+1),function(e){if(e.hidden)n.appendChild(Et("pre"));else{var t=e.gutterMarker,o=s.lineNumbers?s.lineNumberFormatter(r+s.firstLineNumber):null;t&&t.text?o=t.text.replace("%N%",o!=null?o:""):o==null&&(o="\u00a0");var u=n.appendChild(Et("pre",null,t&&t.style));u.innerHTML=o;for(var a=1;a<e.height;++a)u.appendChild(Et("br")),u.appendChild(document.createTextNode("\u00a0"));t||(i=r)}++r}),et.style.display="none",xt(G,n);if(i!=null&&s.lineNumbers){var o=G.childNodes[i-en],u=String(Pt.size).length,a=pt(o.firstChild),f="";while(a.length+f.length<u)f+="\u00a0";f&&o.insertBefore(document.createTextNode(f),o.firstChild)}et.style.display="";var l=Math.abs((parseInt(U.style.marginLeft)||0)-et.offsetWidth)>2;return U.style.marginLeft=et.offsetWidth+"px",Gt=!1,l}function hr(){var e=yt(jt.from,jt.to),t=Wr(jt.from,!0),n=e?t:Wr(jt.to,!0),r=jt.inverted?t:n,i=Qr(),o=ht(dt),u=ht(M);x.style.top=Math.max(0,Math.min(ct.offsetHeight,r.y+u.top-o.top))+"px",x.style.left=Math.max(0,Math.min(ct.offsetWidth,r.x+u.left-o.left))+"px",e||s.showCursorWhenSelecting?(H.style.top=r.y+"px",H.style.left=(s.lineWrapping?Math.min(r.x,U.offsetWidth):r.x)+"px",H.style.display=""):H.style.display="none";if(!e){var a=t.y==n.y,f=document.createDocumentFragment(),l=U.clientWidth||U.offsetWidth,c=U.clientHeight||U.offsetHeight,h=function(e,t,n,r){var i=y?"width: "+(n?l-n-e:l)+"px":"right: "+(n-1)+"px";f.appendChild(Et("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px; top: "+t+"px; "+i+"; height: "+r+"px"))};if(jt.from.ch&&t.y>=0){var p=a?l-n.x:0;h(t.x,t.y,p,i)}var d=Math.max(0,t.y+(jt.from.ch?i:0)),v=Math.min(n.y,c)-d;v>.2*i&&h(0,d,0,v),(!a||!jt.from.ch)&&n.y<c-.5*i&&h(0,n.y,l-n.x,i),xt(P,f),P.style.display=""}else P.style.display="none"}function pr(e){e?Ft=Ft||(jt.inverted?jt.to:jt.from):Ft=null}function dr(e,t){var n=Ft&&br(Ft);n&&(bt(n,e)?e=n:bt(t,n)&&(t=n)),vr(e,t),$t=!0}function vr(e,t,n,r){fn=null,n==null&&(n=jt.from.line,r=jt.to.line);if(yt(jt.from,e)&&yt(jt.to,t))return;if(bt(t,e)){var i=t;t=e,e=i}if(e.line!=n){var o=mr(e,n,jt.from.ch);o?e=o:Rr(e.line,!1)}t.line!=r&&(t=mr(t,r,jt.to.ch)),yt(e,t)?jt.inverted=!1:yt(e,jt.to)?jt.inverted=!1:yt(t,jt.from)&&(jt.inverted=!0);if(s.autoClearEmptyLines&&yt(jt.from,jt.to)){var u=jt.inverted?e:t;if(u.line!=jt.from.line&&jt.from.line<Pt.size){var a=gn(jt.from.line);/^\s+$/.test(a.text)&&setTimeout(vi(function(){if(a.parent&&/^\s+$/.test(a.text)){var e=$(a);Vn("",{line:e,ch:0},{line:e,ch:a.text.length})}},10))}}jt.from=e,jt.to=t,Qt=!0}function mr(e,t,n){function r(t){var r=e.line+t,i=t==1?Pt.size:-1;while(r!=i){var o=gn(r);if(!o.hidden){var u=e.ch;if(s||u>n||u>o.text.length)u=o.text.length;return{line:r,ch:u}}r+=t}}var i=gn(e.line),s=e.ch==i.text.length&&e.ch!=n;return i.hidden?e.line>=t?r(1)||r(-1):r(-1)||r(1):e}function gr(e,t,n){var r=br({line:e,ch:t||0});(n?dr:vr)(r,r)}function yr(e){return Math.max(0,Math.min(e,Pt.size-1))}function br(e){if(e.line<0)return{line:0,ch:0};if(e.line>=Pt.size)return{line:Pt.size-1,ch:gn(Pt.size-1).text.length};var t=e.ch,n=gn(e.line).text.length;return t==null||t>n?{line:e.line,ch:n}:t<0?{line:e.line,ch:0}:e}function wr(e,t){function o(){for(var t=r+e,n=e<0?-1:Pt.size;t!=n;t+=e){var i=gn(t);if(!i.hidden)return r=t,s=i,!0}}function u(t){if(i==(e<0?0:s.text.length)){if(!!t||!o())return!1;i=e<0?s.text.length:0}else i+=e;return!0}var n=jt.inverted?jt.from:jt.to,r=n.line,i=n.ch,s=gn(r);if(t=="char")u();else if(t=="column")u(!0);else if(t=="word"){var a=!1;for(;;){if(e<0&&!u())break;if(Lt(s.text.charAt(i)))a=!0;else if(a){e<0&&(e=1,u());break}if(e>0&&!u())break}}return{line:r,ch:i}}function Er(e,t){var n=e<0?jt.from:jt.to;if(Ft||yt(jt.from,jt.to))n=wr(e,t);gr(n.line,n.ch,!0)}function Sr(e,t){yt(jt.from,jt.to)?e<0?Vn("",wr(e,t),jt.to):Vn("",jt.from,wr(e,t)):Vn("",jt.from,jt.to),$t=!0}function xr(e,t){var n=0,r=Wr(jt.inverted?jt.from:jt.to,!0);fn!=null&&(r.x=fn);if(t=="page")var i=Math.min(ct.clientHeight,window.innerHeight||document.documentElement.clientHeight),s=Xr(r.x,r.y+i*e);else if(t=="line")var o=Qr(),s=Xr(r.x,r.y+.5*o+e*o);t=="page"&&(O.scrollTop+=Wr(s,!0).y-r.y),gr(s.line,s.ch,!0),fn=r.x}function Tr(e){var t=gn(e.line).text,n=e.ch,r=e.ch;if(t){e.after===!1||r==t.length?--n:++r;var i=t.charAt(n),s=Lt(i)?Lt:/\s/.test(i)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&Lt(e)};while(n>0&&s(t.charAt(n-1)))--n;while(r<t.length&&s(t.charAt(r)))++r}return{from:{line:e.line,ch:n},to:{line:e.line,ch:r}}}function Nr(e){dr({line:e,ch:0},br({line:e+1,ch:0}))}function Cr(e){if(yt(jt.from,jt.to))return kr(jt.from.line,e);var t=jt.to.line-(jt.to.ch?0:1);for(var n=jt.from.line;n<=t;++n)kr(n,e)}function kr(e,t){t||(t="add");if(t=="smart")if(!Dt.indent)t="prev";else var n=fi(e);var r=gn(e),i=r.indentation(s.tabSize),o=r.text.match(/^\s*/)[0],u;t=="smart"&&(u=Dt.indent(n,r.text.slice(o.length),r.text),u==ut&&(t="prev")),t=="prev"?e?u=gn(e-1).indentation(s.tabSize):u=0:t=="add"?u=i+s.indentUnit:t=="subtract"&&(u=i-s.indentUnit),u=Math.max(0,u);var a=u-i,f="",l=0;if(s.indentWithTabs)for(var c=Math.floor(u/s.tabSize);c;--c)l+=s.tabSize,f+=" ";l<u&&(f+=vt(u-l)),f!=o&&Vn(f,{line:e,ch:0},{line:e,ch:o.length}),r.stateAfter=null}function Lr(){Dt=e.getMode(s,s.mode),Pt.iter(0,Pt.size,function(e){e.stateAfter=null}),Ht=0,ci(100)}function Ar(){var e=s.gutter||s.lineNumbers;et.style.display=e?"":"none",e?Gt=!0:M.parentNode.style.marginLeft=0}function Or(e,t){if(s.lineWrapping){dt.className+=" CodeMirror-wrap";var n=ct.clientWidth/Zr()-3;Pt.iter(0,Pt.size,function(e){if(e.hidden)return;var t=Math.ceil(e.text.length/n)||1;t!=1&&yn(e,t)}),U.style.minWidth=q.style.left=""}else dt.className=dt.className.replace(" CodeMirror-wrap",""),Xn(),Pt.iter(0,Pt.size,function(e){e.height!=1&&!e.hidden&&yn(e,1)});Jt.push({from:0,to:Pt.size})}function Mr(){ct.className=ct.className.replace(/\s*cm-s-\S+/g,"")+s.theme.replace(/(^|\s)\s*/g," cm-s-")}function _r(){var e=l[s.keyMap].style;dt.className=dt.className.replace(/\s*cm-keymap-\S+/g,"")+(e?" cm-keymap-"+e:"")}function Dr(e,t){this.lines=[],this.type=e,t&&(this.style=t)}function Pr(e,t,n,r){e=br(e),t=br(t);var i=new Dr("range",n);if(r)for(var s in r)r.hasOwnProperty(s)&&(i[s]=r[s]);var o=e.line;return Pt.iter(o,t.line+1,function(n){var r={from:o==e.line?e.ch:null,to:o==t.line?t.ch:null,marker:i};n.markedSpans=(n.markedSpans||[]).concat([r]),i.lines.push(n),++o}),Jt.push({from:e.line,to:t.line+1}),i}function Hr(e){e=br(e);var t=new Dr("bookmark"),n=gn(e.line);ln.addChange(e.line,1,[I(n.text,n.markedSpans)],!0);var r={from:e.ch,to:e.ch,marker:t};return n.markedSpans=(n.markedSpans||[]).concat([r]),t.lines.push(n),t}function Br(e){e=br(e);var t=[],n=gn(e.line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(i.from==null||i.from<=e.ch)&&(i.to==null||i.to>=e.ch)&&t.push(i.marker)}return t}function jr(e,t,n){return typeof e=="number"&&(e=gn(yr(e))),e.gutterMarker={text:t,style:n},Gt=!0,e}function Fr(e){typeof e=="number"&&(e=gn(yr(e))),e.gutterMarker=null,Gt=!0}function Ir(e,t){var n=e,r=e;return typeof e=="number"?r=gn(yr(e)):n=$(e),n==null?null:t(r,n)?(Jt.push({from:n,to:n+1}),r):null}function qr(e,t,n){return Ir(e,function(e){if(e.className!=t||e.bgClassName!=n)return e.className=t,e.bgClassName=n,!0})}function Rr(e,t){return Ir(e,function(e,n){if(e.hidden!=t){e.hidden=t,s.lineWrapping||(t&&e.text.length==sn.text.length?on=!0:!t&&e.text.length>sn.text.length&&(sn=e,on=!1)),yn(e,t?0:1);var r=jt.from.line,i=jt.to.line;if(t&&(r==n||i==n)){var o=r==n?mr({line:r,ch:0},r,0):jt.from,u=i==n?mr({line:i,ch:0},i,0):jt.to;if(!u)return;vr(o,u)}return Gt=!0}})}function Ur(e){if(typeof e=="number"){if(!vn(e))return null;var t=e;e=gn(e);if(!e)return null}else{var t=$(e);if(t==null)return null}var n=e.gutterMarker;return{line:t,handle:e,text:e.text,markerText:n&&n.text,markerClass:n&&n.style,lineClass:e.className,bgClass:e.bgClassName}}function zr(e,t){if(t==0)return{top:0,left:0};var n=bn(e,t);xt(R,n);var r=n.anchor,i=r.offsetTop,s=r.offsetLeft;if(v&&i==0&&s==0){var o=Et("span","x");r.parentNode.insertBefore(o,r.nextSibling),i=o.offsetTop}return{top:i,left:s}}function Wr(e,t){var n,r=Qr(),i=r*(K(Pt,e.line)-(t?Zt:0));if(e.ch==0)n=0;else{var o=zr(gn(e.line),e.ch);n=o.left,s.lineWrapping&&(i+=Math.max(0,o.top))}return{x:n,y:i,yBot:i+r}}function Xr(e,t){function h(e){var t=zr(u,e);if(f){var r=Math.round(t.top/n);return c=r!=l,Math.max(0,t.left+(r-l)*ct.clientWidth)}return t.left}var n=Qr(),r=Zr(),i=Zt+Math.floor(t/n);if(i<0)return{line:0,ch:0};var o=J(Pt,i);if(o>=Pt.size)return{line:Pt.size-1,ch:gn(Pt.size-1).text.length};var u=gn(o),a=u.text,f=s.lineWrapping,l=f?i-K(Pt,o):0;if(e<=0&&l==0)return{line:o,ch:0};var c=!1,p=0,d=0,v=a.length,m,g=Math.min(v,Math.ceil((e+l*ct.clientWidth*.9)/r));for(;;){var y=h(g);if(!(y<=e&&g<v)){m=y,v=g;break}g=Math.min(v,Math.ceil(g*1.2))}if(e>m)return{line:o,ch:v};g=Math.floor(v*.8),y=h(g),y<e&&(p=g,d=y);for(;;){if(v-p<=1){var b=e-d<m-e;return{line:o,ch:b?p:v,after:b}}var w=Math.ceil((p+v)/2),E=h(w);E>e?(v=w,m=E,c&&(m+=1e3)):(p=w,d=E)}}function Vr(e){var t=Wr(e,!0),n=ht(U);return{x:n.left+t.x,y:n.top+t.y,yBot:n.top+t.yBot}}function Qr(){if(Kr==null){Kr=Et("pre");for(var e=0;e<49;++e)Kr.appendChild(document.createTextNode("x")),Kr.appendChild(Et("br"));Kr.appendChild(document.createTextNode
|
1042
1073
|
("x"))}var t=M.clientHeight;return t==Jr?$r:(Jr=t,xt(R,Kr.cloneNode(!0)),$r=R.firstChild.offsetHeight/50||1,St(R),$r)}function Zr(){if(ct.clientWidth==Yr)return Gr;Yr=ct.clientWidth;var e=Et("span","x"),t=Et("pre",[e]);return xt(R,t),Gr=e.offsetWidth||10}function ei(){return U.offsetTop}function ti(){return U.offsetLeft}function ni(e,t){var n=ht(ct,!0),r,i;try{r=e.clientX,i=e.clientY}catch(e){return null}if(!t&&(r-n.left>ct.clientWidth||i-n.top>ct.clientHeight))return null;var s=ht(U,!0);return Xr(r-s.left,i-s.top)}function ii(e){function i(){x.style.position="relative",E.style.cssText=r,g&&(O.scrollTop=n),Gn();if(E.selectionStart!=null){clearTimeout(ri);var e=E.value=" "+(yt(jt.from,jt.to)?"":E.value),t=0;Zn=" ",E.selectionStart=1,E.selectionEnd=e.length,ri=setTimeout(function i(){Zn==" "&&E.selectionStart==0?vi(f.selectAll)(mn):t++<10?ri=setTimeout(i,500):tr()},200)}}var t=ni(e),n=O.scrollTop;if(!t||S)return;(yt(jt.from,jt.to)||bt(t,jt.from)||!bt(t,jt.to))&&vi(gr)(t.line,t.ch);var r=E.style.cssText;x.style.position="absolute",E.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(e.clientY-5)+"px; left: "+(e.clientX-5)+"px; z-index: 1000; background: white; "+"border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",nr(),tr(!0),yt(jt.from,jt.to)&&(E.value=Zn=" ");if(d){tt(e);var s=st(window,"mouseup",function(){s(),setTimeout(i,20)},!0)}else setTimeout(i,50)}function si(){clearInterval(_t);var e=!0;H.style.visibility="",_t=setInterval(function(){H.style.visibility=(e=!e)?"":"hidden"},s.cursorBlinkRate)}function ui(e){function v(e,t,n){if(!e.text)return;var r=e.styles,i=o?0:e.text.length-1,s;for(var a=o?0:r.length-2,f=o?r.length:-2;a!=f;a+=2*u){var l=r[a];if(r[a+1]!=h){i+=u*l.length;continue}for(var c=o?0:l.length-1,v=o?l.length:-1;c!=v;c+=u,i+=u)if(i>=t&&i<n&&d.test(s=l.charAt(c))){var m=oi[s];if(m.charAt(1)==">"==o)p.push(s);else{if(p.pop()!=m.charAt(0))return{pos:i,match:!1};if(!p.length)return{pos:i,match:!0}}}}}var t=jt.inverted?jt.from:jt.to,n=gn(t.line),r=t.ch-1,i=r>=0&&oi[n.text.charAt(r)]||oi[n.text.charAt(++r)];if(!i)return;var s=i.charAt(0),o=i.charAt(1)==">",u=o?1:-1,a=n.styles;for(var f=r+1,l=0,c=a.length;l<c;l+=2)if((f-=a[l].length)<=0){var h=a[l+1];break}var p=[n.text.charAt(r)],d=/[(){}[\]]/;for(var l=t.line,c=o?Math.min(l+100,Pt.size):Math.max(-1,l-100);l!=c;l+=u){var n=gn(l),m=l==t.line,g=v(n,m&&o?r+1:0,m&&!o?r:n.text.length);if(g)break}g||(g={pos:null,match:!1});var h=g.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket",y=Pr({line:t.line,ch:r},{line:t.line,ch:r+1},h),b=g.pos!=null&&Pr({line:l,ch:g.pos},{line:l,ch:g.pos+1},h),w=vi(function(){y.clear(),b&&b.clear()});e?setTimeout(w,800):rn=w}function ai(e){var t,n;for(var r=e,i=e-40;r>i;--r){if(r==0)return 0;var o=gn(r-1);if(o.stateAfter)return r;var u=o.indentation(s.tabSize);if(n==null||t>u)n=r-1,t=u}return n}function fi(e){var t=ai(e),n=t&&gn(t-1).stateAfter;return n?n=L(Dt,n):n=A(Dt),Pt.iter(t,e,function(r){r.process(Dt,n,s.tabSize),r.stateAfter=t==e-1||t%5==0?L(Dt,n):null}),n}function li(){if(Ht>=tn)return;var e=+(new Date)+s.workTime,t=L(Dt,fi(Ht)),n=Ht;Pt.iter(Ht,tn,function(n){Ht>=en?(n.highlight(Dt,t,s.tabSize),n.stateAfter=L(Dt,t)):(n.process(Dt,t,s.tabSize),n.stateAfter=Ht%5==0?L(Dt,t):null),++Ht;if(+(new Date)>e)return ci(s.workDelay),!0}),tn>n&&Ht>=en&&vi(function(){Jt.push({from:n,to:Ht})})()}function ci(e){Ht<tn&&kt.set(e,li)}function hi(){Vt=$t=Kt=null,Jt=[],Qt=!1,Yt=[]}function pi(){on&&Xn();if(un&&!s.lineWrapping){var e=q.offsetWidth,t=zr(sn,sn.text.length).left;m||(q.style.left=t+"px",U.style.minWidth=t+e+"px"),un=!1}var n,r;if(Qt){var i=ir();n=or(i.x,i.y,i.x,i.yBot)}if(Jt.length||n&&n.scrollTop!=null)r=ar(Jt,!0,n&&n.scrollTop);r||(Qt&&hr(),Gt&&cr()),n&&rr(),Qt&&si(),Bt&&(Vt===!0||Vt!==!1&&Qt)&&tr($t),Qt&&s.matchBrackets&&setTimeout(vi(function(){rn&&(rn(),rn=null),yt(jt.from,jt.to)&&ui(!1)}),20);var o=Qt,u=Yt;Kt&&s.onChange&&mn&&s.onChange(mn,Kt),o&&s.onCursorActivity&&s.onCursorActivity(mn);for(var a=0;a<u.length;++a)u[a](mn);r&&s.onUpdate&&s.onUpdate(mn)}function vi(e){return function(){di++||hi();try{var t=e.apply(this,arguments)}finally{--di||pi()}return t}}function mi(e){ln.startCompound();try{return e()}finally{ln.endCompound()}}var s={},a=e.defaults;for(var w in a)a.hasOwnProperty(w)&&(s[w]=(i&&i.hasOwnProperty(w)?i:a)[w]);var E=Et("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em");E.setAttribute("wrap","off"),E.setAttribute("autocorrect","off"),E.setAttribute("autocapitalize","off");var x=Et("div",[E],null,"overflow: hidden; position: relative; width: 3px; height: 0px;"),C=Et("div",null,"CodeMirror-scrollbar-inner"),O=Et("div",[C],"CodeMirror-scrollbar"),M=Et("div"),P=Et("div",null,null,"position: relative; z-index: -1"),H=Et("pre","\u00a0","CodeMirror-cursor"),q=Et("pre","\u00a0","CodeMirror-cursor","visibility: hidden"),R=Et("div",null,null,"position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden;"),U=Et("div",[R,H,q,P,M],null,"position: relative; z-index: 0"),G=Et("div",null,"CodeMirror-gutter-text"),et=Et("div",[G],"CodeMirror-gutter"),ft=Et("div",[et,Et("div",[U],"CodeMirror-lines")],null,"position: relative"),lt=Et("div",[ft],null,"position: relative"),ct=Et("div",[lt],"CodeMirror-scroll");ct.setAttribute("tabIndex","-1");var dt=Et("div",[x,O,ct],"CodeMirror"+(s.lineWrapping?" CodeMirror-wrap":""));r.appendChild?r.appendChild(dt):r(dt),Mr(),_r(),t&&(E.style.width="0px"),b||(ct.draggable=!0),U.style.outline="none",s.tabindex!=null&&(E.tabIndex=s.tabindex),s.autofocus&&nr(),!s.gutter&&!s.lineNumbers&&(et.style.display="none"),T&&(x.style.height="1px",x.style.position="absolute"),N?(O.style.zIndex=-2,O.style.visibility="hidden"):m&&(O.style.minWidth="18px");var Tt=new ot,kt=new ot,_t,Dt,Pt=new X([new W([new z("")])]),Ht=0,Bt;Lr();var jt={from:{line:0,ch:0},to:{line:0,ch:0},inverted:!1},Ft,It,qt,Rt=0,Ut,zt=!1,Wt=!1,Xt=!1,Vt,$t,Jt,Kt,Qt,Gt,Yt,Zt=0,en=0,tn=0,nn=0,rn,sn=gn(0),on=!1,un=!0,an=!1,fn=null;vi(function(){wn(s.value||""),Vt=!1})();var ln=new Q;st(ct,"mousedown",vi(Tn)),st(ct,"dblclick",vi(Nn)),st(U,"selectstart",Z),d||st(ct,"contextmenu",ii),st(ct,"scroll",xn),st(O,"scroll",Sn),st(O,"mousedown",function(){Bt&&setTimeout(nr,0)});var cn=st(window,"resize",function(){dt.parentNode?ar(!0):cn()},!0);st(E,"keyup",vi(Hn)),st(E,"input",Yn),st(E,"keydown",vi(Dn)),st(E,"keypress",vi(Pn)),st(E,"focus",Bn),st(E,"blur",jn),s.dragDrop&&(st(ct,"dragstart",kn),st(ct,"dragenter",hn),st(ct,"dragover",hn),st(ct,"drop",vi(Cn))),st(ct,"paste",function(){nr(),Yn()}),st(E,"paste",function(){Xt=!0,Yn()}),st(E,"cut",vi(function(){s.readOnly||$n("")})),T&&st(lt,"mouseup",function(){document.activeElement==E&&E.blur(),nr()});var pn;try{pn=document.activeElement==E}catch(dn){}pn||s.autofocus?setTimeout(Bn,20):jn();var mn=dt.CodeMirror={getValue:En,setValue:vi(wn),getSelection:Qn,replaceSelection:vi($n),focus:function(){window.focus(),nr(),Bn(),Yn()},setOption:function(e,t){var n=s[e];s[e]=t,e=="mode"||e=="indentUnit"?Lr():e=="readOnly"&&t=="nocursor"?(jn(),E.blur()):e=="readOnly"&&!t?tr(!0):e=="theme"?Mr():e=="lineWrapping"&&n!=t?vi(Or)():e=="tabSize"?ar(!0):e=="keyMap"?_r():e=="tabindex"?E.tabIndex=t:e=="showCursorWhenSelecting"&&hr();if(e=="lineNumbers"||e=="gutter"||e=="firstLineNumber"||e=="theme"||e=="lineNumberFormatter")Ar(),ar(!0)},getOption:function(e){return s[e]},getMode:function(){return Dt},undo:vi(qn),redo:vi(Rn),indentLine:vi(function(e,t){typeof t!="string"&&(t==null?t=s.smartIndent?"smart":"prev":t=t?"add":"subtract"),vn(e)&&kr(e,t)}),indentSelection:vi(Cr),historySize:function(){return{undo:ln.done.length,redo:ln.undone.length}},clearHistory:function(){ln=new Q},setHistory:function(e){ln=new Q,ln.done=e.done,ln.undone=e.undone},getHistory:function(){function e(e){for(var t=0,n=[],r;t<e.length;++t){n.push(r=[]);for(var i=0,s=e[t];i<s.length;++i){var o=[],u=s[i];r.push({start:u.start,added:u.added,old:o});for(var a=0;a<u.old.length;++a)o.push(j(u.old[a]))}}return n}return{done:e(ln.done),undone:e(ln.undone)}},matchBrackets:vi(function(){ui(!0)}),getTokenAt:vi(function(e){return e=br(e),gn(e.line).getTokenAt(Dt,fi(e.line),s.tabSize,e.ch)}),getStateAfter:function(e){return e=yr(e==null?Pt.size-1:e),fi(e+1)},cursorCoords:function(e,t){return e==null&&(e=jt.inverted),this.charCoords(e?jt.from:jt.to,t)},charCoords:function(e,t){return e=br(e),t=="local"?Wr(e,!1):t=="div"?Wr(e,!0):Vr(e)},coordsChar:function(e){var t=ht(U);return Xr(e.x-t.left,e.y-t.top)},defaultTextHeight:function(){return Qr()},markText:vi(Pr),setBookmark:Hr,findMarksAt:Br,setMarker:vi(jr),clearMarker:vi(Fr),setLineClass:vi(qr),hideLine:vi(function(e){return Rr(e,!0)}),showLine:vi(function(e){return Rr(e,!1)}),onDeleteLine:function(e,t){if(typeof e=="number"){if(!vn(e))return null;e=gn(e)}return(e.handlers||(e.handlers=[])).push(t),e},lineInfo:Ur,getViewport:function(){return{from:en,to:tn}},addWidget:function(e,t,n,r,i){e=Wr(br(e));var s=e.yBot,o=e.x;t.style.position="absolute",lt.appendChild(t);if(r=="over")s=e.y;else if(r=="near"){var u=Math.max(ct.offsetHeight,Pt.height*Qr()),a=Math.max(lt.clientWidth,U.clientWidth)-ti();e.yBot+t.offsetHeight>u&&e.y>t.offsetHeight&&(s=e.y-t.offsetHeight),o+t.offsetWidth>a&&(o=a-t.offsetWidth)}t.style.top=s+ei()+"px",t.style.left=t.style.right="",i=="right"?(o=lt.clientWidth-t.offsetWidth,t.style.right="0px"):(i=="left"?o=0:i=="middle"&&(o=(lt.clientWidth-t.offsetWidth)/2),t.style.left=o+ti()+"px"),n&&sr(o,s,o+t.offsetWidth,s+t.offsetHeight)},lineCount:function(){return Pt.size},clipPos:br,getCursor:function(e){if(e==null||e=="head")e=jt.inverted;return e=="anchor"&&(e=!jt.inverted),e=="end"&&(e=!1),wt(e?jt.from:jt.to)},somethingSelected:function(){return!yt(jt.from,jt.to)},setCursor:vi(function(e,t,n){t==null&&typeof e.line=="number"?gr(e.line,e.ch,n):gr(e,t,n)}),setSelection:vi(function(e,t,n){(n?dr:vr)(br(e),br(t||e))}),getLine:function(e){if(vn(e))return gn(e).text},getLineHandle:function(e){if(vn(e))return gn(e)},setLine:vi(function(e,t){vn(e)&&Vn(t,{line:e,ch:0},{line:e,ch:gn(e).text.length})}),removeLine:vi(function(e){vn(e)&&Vn("",{line:e,ch:0},br({line:e+1,ch:0}))}),replaceRange:vi(Vn),getRange:function(e,t,n){return Kn(br(e),br(t),n)},triggerOnKeyDown:vi(Dn),execCommand:function(e){return f[e](mn)},moveH:vi(Er),deleteH:vi(Sr),moveV:vi(xr),toggleOverwrite:function(){zt?(zt=!1,H.className=H.className.replace(" CodeMirror-overwrite","")):(zt=!0,H.className+=" CodeMirror-overwrite")},posFromIndex:function(e){var t=0,n;return Pt.iter(0,Pt.size,function(r){var i=r.text.length+1;if(i>e)return n=e,!0;e-=i,++t}),br({line:t,ch:n})},indexFromPos:function(e){if(e.line<0||e.ch<0)return 0;var t=e.ch;return Pt.iter(0,e.line,function(e){t+=e.text.length+1}),t},scrollTo:function(e,t){e!=null&&(ct.scrollLeft=e),t!=null&&(O.scrollTop=ct.scrollTop=t),ar([])},getScrollInfo:function(){return{x:ct.scrollLeft,y:O.scrollTop,height:O.scrollHeight,width:ct.scrollWidth}},scrollIntoView:function(e){var t=Wr(e?br(e):jt.inverted?jt.from:jt.to);sr(t.x,t.y,t.x,t.yBot)},setSize:function(e,t){function n(e){return e=String(e),/^\d+$/.test(e)?e+"px":e}e!=null&&(dt.style.width=n(e)),t!=null&&(ct.style.height=n(t)),mn.refresh()},operation:function(e){return vi(e)()},compoundChange:function(e){return mi(e)},refresh:function(){ar(!0,null,Rt),O.scrollHeight>Rt&&(O.scrollTop=Rt)},getInputField:function(){return E},getWrapperElement:function(){return dt},getScrollerElement:function(){return ct},getGutterElement:function(){return et}},An,_n=null,Zn="";Dr.prototype.clear=vi(function(){var e,t;for(var n=0;n<this.lines.length;++n){var r=this.lines[n],i=_(r.markedSpans,this);i.from!=null&&(e=$(r)),i.to!=null&&(t=$(r)),r.markedSpans=D(r.markedSpans,i)}e!=null&&Jt.push({from:e,to:t+1}),this.lines.length=0,this.explicitlyCleared=!0}),Dr.prototype.find=function(){var e,t;for(var n=0;n<this.lines.length;++n){var r=this.lines[n],i=_(r.markedSpans,this);if(i.from!=null||i.to!=null){var s=$(r);i.from!=null&&(e={line:s,ch:i.from}),i.to!=null&&(t={line:s,ch:i.to})}}return this.type=="bookmark"?e:e&&{from:e,to:t}};var $r,Jr,Kr,Gr,Yr=0,ri,oi={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},di=0;for(var gi in o)o.propertyIsEnumerable(gi)&&!mn.propertyIsEnumerable(gi)&&(mn[gi]=o[gi]);for(var yi=0;yi<u.length;++yi)u[yi](mn);return mn}function c(e){return typeof e=="string"?l[e]:e}function h(e,t,n,r,i){function s(t){t=c(t);var n=t[e];if(n===!1)return i&&i(),!0;if(n!=null&&r(n))return!0;if(t.nofallthrough)return i&&i(),!0;var o=t.fallthrough;if(o==null)return!1;if(Object.prototype.toString.call(o)!="[object Array]")return s(o);for(var u=0,a=o.length;u<a;++u)if(s(o[u]))return!0;return!1}return t&&s(t)?!0:s(n)}function p(e){var t=Mt[it(e,"keyCode")];return t=="Ctrl"||t=="Alt"||t=="Shift"||t=="Mod"}function L(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function A(e,t,n){return e.startState?e.startState(t,n):!0}function O(e,t){this.pos=this.start=0,this.string=e,this.tabSize=t||8}function M(e,t,n){this.from=e,this.to=t,this.marker=n}function _(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function D(e,t){var n;for(var r=0;r<e.length;++r)e[r]!=t&&(n||(n=[])).push(e[r]);return n}function P(e,t,n){if(e)for(var r=0,i;r<e.length;++r){var s=e[r],o=s.marker,u=s.from==null||(o.inclusiveLeft?s.from<=t:s.from<t);if(u||o.type=="bookmark"&&s.from==t&&s.from!=n){var a=s.to==null||(o.inclusiveRight?s.to>=t:s.to>t);(i||(i=[])).push({from:s.from,to:a?null:s.to,marker:o})}}return i}function H(e,t){if(e)for(var n=0,r;n<e.length;++n){var i=e[n],s=i.marker,o=i.to==null||(s.inclusiveRight?i.to>=t:i.to>t);if(o||s.type=="bookmark"&&i.from==t){var u=i.from==null||(s.inclusiveLeft?i.from<=t:i.from<t);(r||(r=[])).push({from:u?null:i.from-t,to:i.to==null?null:i.to-t,marker:s})}}return r}function B(e,t,n,r,i){if(!e&&!t)return i;var s=P(e,n),o=H(t,r),u=i.length==1,a=mt(i).length+(u?n:0);if(s)for(var f=0;f<s.length;++f){var l=s[f];if(l.to==null){var c=_(o,l.marker);c?u&&(l.to=c.to==null?null:c.to+a):l.to=n}}if(o)for(var f=0;f<o.length;++f){var l=o[f];l.to!=null&&(l.to+=a);if(l.from==null){var c=_(s,l.marker);c||(l.from=a,u&&(s||(s=[])).push(l))}else l.from+=a,u&&(s||(s=[])).push(l)}var h=[I(i[0],s)];if(!u){var p=i.length-2,d;if(p>0&&s)for(var f=0;f<s.length;++f)s[f].to==null&&(d||(d=[])).push({from:null,to:null,marker:s[f].marker});for(var f=0;f<p;++f)h.push(I(i[f+1],d));h.push(I(mt(i),o))}return h}function j(e){return typeof e=="string"?e:e.text}function F(e){if(typeof e=="string")return null;var t=e.markedSpans,n=null;for(var r=0;r<t.length;++r)t[r].marker.explicitlyCleared?n||(n=t.slice(0,r)):n&&n.push(t[r]);return n?n.length?n:null:t}function I(e,t){return t?{text:e,markedSpans:t}:e}function q(e){var t=e.markedSpans;if(!t)return;for(var n=0;n<t.length;++n){var r=t[n].marker.lines,i=Ct(r,e);r.splice(i,1)}e.markedSpans=null}function R(e,t){if(!t)return;for(var n=0;n<t.length;++n)var r=t[n].marker.lines.push(e);e.markedSpans=t}function z(e,t){this.text=e,this.height=1,R(this,t)}function W(e){this.lines=e,this.parent=null;for(var t=0,n=e.length,r=0;t<n;++t)e[t].parent=this,r+=e[t].height;this.height=r}function X(e){this.children=e;var t=0,n=0;for(var r=0,i=e.length;r<i;++r){var s=e[r];t+=s.chunkSize(),n+=s.height,s.parent=this}this.size=t,this.height=n,this.parent=null}function V(e,t){while(!e.lines)for(var n=0;;++n){var r=e.children[n],i=r.chunkSize();if(t<i){e=r;break}t-=i}return e.lines[t]}function $(e){if(e.parent==null)return null;var t=e.parent,n=Ct(t.lines,e);for(var r=t.parent;r;t=r,r=r.parent)for(var i=0;;++i){if(r.children[i]==t)break;n+=r.children[i].chunkSize()}return n}function J(e,t){var n=0;e:do{for(var r=0,i=e.children.length;r<i;++r){var s=e.children[r],o=s.height;if(t<o){e=s;continue e}t-=o,n+=s.chunkSize()}return n}while(!e.lines);for(var r=0,i=e.lines.length;r<i;++r){var u=e.lines[r],a=u.height;if(t<a)break;t-=a}return n+r}function K(e,t){var n=0;e:do{for(var r=0,i=e.children.length;r<i;++r){var s=e.children[r],o=s.chunkSize();if(t<o){e=s;continue e}t-=o,n+=s.height}return n}while(!e.lines);for(var r=0;r<t;++r)n+=e.lines[r].height;return n}function Q(){this.time=0,this.done=[],this.undone=[],this.compound=0,this.closed=!1}function G(){tt(this)}function Y(e){return e.stop||(e.stop=G),e}function Z(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function et(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function tt(e){Z(e),et(e)}function nt(e){return e.target||e.srcElement}function rt(e){var t=e.which;return t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2)),n&&e.ctrlKey&&t==1&&(t=3),t}function it(e,t){var n=e.override&&e.override.hasOwnProperty(t);return n?e.override[t]:e[t]}function st(e,t,n,r){if(typeof e.addEventListener=="function"){e.addEventListener(t,n,!1);if(r)return function(){e.removeEventListener(t,n,!1)}}else{var i=function(e){n(e||window.event)};e.attachEvent("on"+t,i);if(r)return function(){e.detachEvent("on"+t,i)}}}function ot(){this.id=null}function ct(e,t,n){t==null&&(t=e.search(/[^\s\u00a0]/),t==-1&&(t=e.length));for(var r=0,i=0;r<t;++r)e.charAt(r)==" "?i+=n-i%n:++i;return i}function ht(e,t){try{var n=e.getBoundingClientRect();n={top:n.top,left:n.left}}catch(r){n={top:0,left:0}}if(!t)if(window.pageYOffset==null){var i=document.documentElement||document.body.parentNode;i.scrollTop==null&&(i=document.body),n.top+=i.scrollTop,n.left+=i.scrollLeft}else n.top+=window.pageYOffset,n.left+=window.pageXOffset;return n}function pt(e){return e.textContent||e.innerText||e.nodeValue||""}function vt(e){while(dt.length<=e)dt.push(mt(dt)+" ");return dt[e]}function mt(e){return e[e.length-1]}function gt(e){t?(e.selectionStart=0,e.selectionEnd=e.value.length):e.select()}function yt(e,t){return e.line==t.line&&e.ch==t.ch}function bt(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function wt(e){return{line:e.line,ch:e.ch}}function Et(e,t,n,r){var i=document.createElement(e);n&&(i.className=n),r&&(i.style.cssText=r);if(typeof t=="string")Tt(i,t);else if(t)for(var s=0;s<t.length;++s)i.appendChild(t[s]);return i}function St(e){return e.innerHTML="",e}function xt(e,t){St(e).appendChild(t)}function Tt(e,t){g?(e.innerHTML="",e.appendChild(document.createTextNode(t))):e.textContent=t}function Nt(e,t){if(!t)return 0;if(!e)return t.length;for(var n=e.length,r=t.length;n>=0&&r>=0;--n,--r)if(e.charAt(n)!=t.charAt(r))break;return r+1}function Ct(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;++n)if(e[n]==t)return n;return-1}function Lt(e){return/\w/.test(e)||e>"\u0080"&&(e.toUpperCase()!=e.toLowerCase()||kt.test(e))}e.defaults={value:"",mode:null,theme:"default",indentUnit:2,indentWithTabs:!1,smartIndent:!0,tabSize:4,keyMap:"default",extraKeys:null,electricChars:!0,autoClearEmptyLines:!1,onKeyEvent:null,onDragEvent:null,lineWrapping:!1,lineNumbers:!1,gutter:!1,fixedGutter:!1,firstLineNumber:1,showCursorWhenSelecting:!1,readOnly:!1,dragDrop:!0,onChange:null,onCursorActivity:null,onViewportChange:null,onGutterClick:null,onUpdate:null,onFocus:null,onBlur:null,onScroll:null,matchBrackets:!1,cursorBlinkRate:530,workTime:100,workDelay:200,pollInterval:100,undoDepth:40,tabindex:null,autofocus:null,lineNumberFormatter:function(e){return e}};var t=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),n=t||/Mac/.test(navigator.platform),r=/Win/.test(navigator.platform),i=e.modes={},s=e.mimeModes={};e.defineMode=function(t,n){!e.defaults.mode&&t!="null"&&(e.defaults.mode=t);if(arguments.length>2){n.dependencies=[];for(var r=2;r<arguments.length;++r)n.dependencies.push(arguments[r])}i[t]=n},e.defineMIME=function(e,t){s[e]=t},e.resolveMode=function(t){if(typeof t=="string"&&s.hasOwnProperty(t))t=s[t];else if(typeof t=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return e.resolveMode("application/xml");return typeof t=="string"?{name:t}:t||{name:"null"}},e.getMode=function(t,n){var n=e.resolveMode(n),r=i[n.name];if(!r)return e.getMode(t,"text/plain");var s=r(t,n);if(a.hasOwnProperty(n.name)){var o=a[n.name];for(var u in o){if(!o.hasOwnProperty(u))continue;s.hasOwnProperty(u)&&(s["_"+u]=s[u]),s[u]=o[u]}}return s.name=n.name,s},e.listModes=function(){var e=[];for(var t in i)i.propertyIsEnumerable(t)&&e.push(t);return e},e.listMIMEs=function(){var e=[];for(var t in s)s.propertyIsEnumerable(t)&&e.push({mime:t,mode:s[t]});return e};var o=e.extensions={};e.defineExtension=function(e,t){o[e]=t};var u=[];e.defineInitHook=function(e){u.push(e)};var a=e.modeExtensions={};e.extendMode=function(e,t){var n=a.hasOwnProperty(e)?a[e]:a[e]={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r])};var f=e.commands={selectAll:function(e){e.setSelection({line:0,ch:0},{line:e.lineCount()-1})},killLine:function(e){var t=e.getCursor(!0),n=e.getCursor(!1),r=!yt(t,n);!r&&e.getLine(t.line).length==t.ch?e.replaceRange("",t,{line:t.line+1,ch:0}):e.replaceRange("",t,r?n:{line:t.line})},deleteLine:function(e){var t=e.getCursor().line;e.replaceRange("",{line:t,ch:0},{line:t})},undo:function(e){e.undo()},redo:function(e){e.redo()},goDocStart:function(e){e.setCursor(0,0,!0)},goDocEnd:function(e){e.setSelection({line:e.lineCount()-1},null,!0)},goLineStart:function(e){e.setCursor(e.getCursor().line,0,!0)},goLineStartSmart:function(e){var t=e.getCursor(),n=e.getLine(t.line),r=Math.max(0,n.search(/\S/));e.setCursor(t.line,t.ch<=r&&t.ch?0:r,!0)},goLineEnd:function(e){e.setSelection({line:e.getCursor().line},null,!0)},goLineUp:function(e){e.moveV(-1,"line")},goLineDown:function(e){e.moveV(1,"line")},goPageUp:function(e){e.moveV(-1,"page")},goPageDown:function(e){e.moveV(1,"page")},goCharLeft:function(e){e.moveH(-1,"char")},goCharRight:function(e){e.moveH(1,"char")},goColumnLeft:function(e){e.moveH(-1,"column")},goColumnRight:function(e){e.moveH(1,"column")},goWordLeft:function(e){e.moveH(-1,"word")},goWordRight:function(e){e.moveH(1,"word")},delCharLeft:function(e){e.deleteH(-1,"char")},delCharRight:function(e){e.deleteH(1,"char")},delWordLeft:function(e){e.deleteH(-1,"word")},delWordRight:function(e){e.deleteH(1,"word")},indentAuto:function(e){e.indentSelection("smart")},indentMore:function(e){e.indentSelection("add")},indentLess:function(e){e.indentSelection("subtract")},insertTab:function(e){e.replaceSelection(" ","end")},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.replaceSelection(" ","end")},transposeChars:function(e){var t=e.getCursor(),n=e.getLine(t.line);t.ch>0&&t.ch<n.length-1&&e.replaceRange(n.charAt(t.ch)+n.charAt(t.ch-1),{line:t.line,ch:t.ch-1},{line:t.line,ch:t.ch+1})},newlineAndIndent:function(e){e.replaceSelection("\n","end"),e.indentLine(e.getCursor().line)},toggleOverwrite:function(e){e.toggleOverwrite()}},l=e.keyMap={};l.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharRight",Backspace:"delCharLeft",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"},l.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goWordLeft","Ctrl-Right":"goWordRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delWordLeft","Ctrl-Delete":"delWordRight","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"},l.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goWordLeft","Alt-Right":"goWordRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delWordLeft","Ctrl-Alt-Backspace":"delWordRight","Alt-Delete":"delWordRight","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore",fallthrough:["basic","emacsy"]},l["default"]=n?l.macDefault:l.pcDefault,l.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharRight","Ctrl-H":"delCharLeft","Alt-D":"delWordRight","Alt-Backspace":"delWordLeft","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},e.isModifierKey=p,e.fromTextArea=function(t,n){function s(){t.value=f.getValue()}n||(n={}),n.value=t.value,!n.tabindex&&t.tabindex&&(n.tabindex=t.tabindex);if(n.autofocus==null){var r=document.body;try{r=document.activeElement}catch(i){}n.autofocus=r==t||t.getAttribute("autofocus")!=null&&r==document.body}if(t.form){var o=st(t.form,"submit",s,!0),u=t.form,a=u.submit;t.form.submit=function l(){s(),u.submit=a,u.submit(),u.submit=l}}t.style.display="none";var f=e(function(e){t.parentNode.insertBefore(e,t.nextSibling)},n);return f.save=s,f.getTextArea=function(){return t},f.toTextArea=function(){s(),t.parentNode.removeChild(f.getWrapperElement()),t.style.display="",t.form&&(o(),typeof t.form.submit=="function"&&(t.form.submit=a))},f};var d=/gecko\/\d/i.test(navigator.userAgent),v=/MSIE \d/.test(navigator.userAgent),m=/MSIE [1-7]\b/.test(navigator.userAgent),g=/MSIE [1-8]\b/.test(navigator.userAgent),y=v&&document.documentMode==5,b=/WebKit\//.test(navigator.userAgent),w=b&&/Qt\/\d+\.\d+/.test(navigator.userAgent),E=/Chrome\//.test(navigator.userAgent),S=/Opera\//.test(navigator.userAgent),x=/Apple Computer/.test(navigator.vendor),T=/KHTML\//.test(navigator.userAgent),N=/Mac OS X 10\D([7-9]|\d\d)\D/.test(navigator.userAgent),C=S&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);C&&(C=Number(C[1]));var k=n&&(w||S&&(C==null||C<12.11));e.copyState=L,e.startState=A,e.innerMode=function(e,t){while(e.innerMode){var n=e.innerMode(t);t=n.state,e=n.mode}return n||{mode:e,state:t}},O.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(e){var t=this.string.charAt(this.pos);if(typeof e=="string")var n=t==e;else var n=t&&(e.test?e.test(t):e(t));if(n)return++this.pos,t},eatWhile:function(e){var t=this.pos;while(this.eat(e));return this.pos>t},eatSpace:function(){var e=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},backUp:function(e){this.pos-=e},column:function(){return ct(this.string,this.start,this.tabSize)},indentation:function(){return ct(this.string,null,this.tabSize)},match:function(e,t,n){if(typeof e!="string"){var i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&t!==!1&&(this.pos+=i[0].length),i)}var r=function(e){return n?e.toLowerCase():e};if(r(this.string).indexOf(r(e),this.pos)==this.pos)return t!==!1&&(this.pos+=e.length),!0},current:function(){return this.string.slice(this.start,this.pos)}},e.StringStream=O;var U=" ";d||v&&!m?U="\u200b":S&&(U=""),z.prototype={update:function(e,t){this.text=e,this.stateAfter=this.styles=null,q(this),R(this,t)},highlight:function(e,t,n){var r=new O(this.text,n),i=this.styles||(this.styles=[]),s=i.length=0;this.text==""&&e.blankLine&&e.blankLine(t);while(!r.eol()){var o=e.token(r,t),u=r.current();r.start=r.pos,s&&i[s-1]==o?i[s-2]+=u:u&&(i[s++]=u,i[s++]=o);if(r.pos>5e3){i[s++]=this.text.slice(r.pos),i[s++]=null;break}}},process:function(e,t,n){var r=new O(this.text,n);this.text==""&&e.blankLine&&e.blankLine(t);while(!r.eol()&&r.pos<=5e3)e.token(r,t),r.start=r.pos},getTokenAt:function(e,t,n,r){var i=this.text,s=new O(i,n);while(s.pos<r&&!s.eol()){s.start=s.pos;var o=e.token(s,t)}return{start:s.start,end:s.pos,string:s.current(),className:o||null,state:t}},indentation:function(e){return ct(this.text,null,e)},getContent:function(e,t,n){function u(t,n,o){if(!n)return;r&&v&&n.charAt(0)==" "&&(n="\u00a0"+n.slice(1)),r=!1;if(!s.test(n)){i+=n.length;var u=document.createTextNode(n)}else{var u=document.createDocumentFragment(),a=0;for(;;){s.lastIndex=a;var f=s.exec(n),l=f?f.index-a:n.length-a;l&&(u.appendChild(document.createTextNode(n.slice(a,a+l))),i+=l);if(!f)break;a+=l+1;if(f[0]==" "){var c=e-i%e;u.appendChild(Et("span",vt(c),"cm-tab")),i+=c}else{var h=Et("span","\u2022","cm-invalidchar");h.title="\\u"+f[0].charCodeAt(0).toString(16),u.appendChild(h),i+=1}}}o?t.appendChild(Et("span",[u],o)):t.appendChild(u)}function g(e){return e?"cm-"+e.replace(/ +/g," cm-"):null}var r=!0,i=0,s=/[\t\u0000-\u0019\u200b\u2028\u2029\uFEFF]/g,o=Et("pre"),a=u;if(t!=null){var f=0,l=o.anchor=Et("span");a=function(e,r,i){var s=r.length;if(t>=f&&t<f+s){var o=t-f;if(o){u(e,r.slice(0,o),i);if(n){var c=r.slice(o-1,o+1);lt.test(c)?e.appendChild(Et("wbr")):!m&&/\w\w/.test(c)&&e.appendChild(document.createTextNode("\u200d"))}}e.appendChild(l),u(l,S?r.slice(o,o+1):r.slice(o),i),S&&u(e,r.slice(o+1),i),t--,f+=s}else f+=s,u(e,r,i),f==t&&f==d?(Tt(l,U),e.appendChild(l)):f>t+10&&/\s/.test(r)&&(a=function(){})}}var c=this.styles,h=this.text,p=this.markedSpans,d=h.length;if(!h&&t==null)a(o," ");else if(!p||!p.length)for(var y=0,b=0;b<d;y+=2){var w=c[y],E=c[y+1],x=w.length;b+x>d&&(w=w.slice(0,d-b)),b+=x,a(o,w,g(E))}else{p.sort(function(e,t){return e.from-t.from});var T=0,y=0,N="",E,C=0,k=p[0].from||0,L=[],A=0,O=function(){var e;while(A<p.length&&((e=p[A]).from==T||e.from==null))e.marker.type=="range"&&L.push(e),++A;k=A<p.length?p[A].from:Infinity;for(var t=0;t<L.length;++t){var n=L[t].to;n==null&&(n=Infinity),n==T?L.splice(t--,1):k=Math.min(n,k)}},M=0;while(T<d){k==T&&O();var _=Math.min(d,k);for(;;){if(N){var D=T+N.length,P=E;for(var H=0;H<L.length;++H){var B=L[H];P=(P?P+" ":"")+B.marker.style,B.marker.endStyle&&B.to===Math.min(D,_)&&(P+=" "+B.marker.endStyle),B.marker.startStyle&&B.from===T&&(P+=" "+B.marker.startStyle)}a(o,D>_?N.slice(0,_-T):N,P);if(D>=_){N=N.slice(_-T),T=_;break}T=D}N=c[y++],E=g(c[y++])}}}return o},cleanUp:function(){this.parent=null,q(this)}},W.prototype={chunkSize:function(){return this.lines.length},remove:function(e,t,n){for(var r=e,i=e+t;r<i;++r){var s=this.lines[r];this.height-=s.height,s.cleanUp();if(s.handlers)for(var o=0;o<s.handlers.length;++o)n.push(s.handlers[o])}this.lines.splice(e,t)},collapse:function(e){e.splice.apply(e,[e.length,0].concat(this.lines))},insertHeight:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0,i=t.length;r<i;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}},X.prototype={chunkSize:function(){return this.size},remove:function(e,t,n){this.size-=t;for(var r=0;r<this.children.length;++r){var i=this.children[r],s=i.chunkSize();if(e<s){var o=Math.min(t,s-e),u=i.height;i.remove(e,o,n),this.height-=u-i.height,s==o&&(this.children.splice(r--,1),i.parent=null);if((t-=o)==0)break;e=0}else e-=s}if(this.size-t<25){var a=[];this.collapse(a),this.children=[new W(a)],this.children[0].parent=this}},collapse:function(e){for(var t=0,n=this.children.length;t<n;++t)this.children[t].collapse(e)},insert:function(e,t){var n=0;for(var r=0,i=t.length;r<i;++r)n+=t[r].height;this.insertHeight(e,t,n)},insertHeight:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0,i=this.children.length;r<i;++r){var s=this.children[r],o=s.chunkSize();if(e<=o){s.insertHeight(e,t,n);if(s.lines&&s.lines.length>50){while(s.lines.length>50){var u=s.lines.splice(s.lines.length-25,25),a=new W(u);s.height-=a.height,this.children.splice(r+1,0,a),a.parent=this}this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(this.children.length<=10)return;var e=this;do{var t=e.children.splice(e.children.length-5,5),n=new X(t);if(!e.parent){var r=new X(e.children);r.parent=e,e.children=[r,n],e=r}else{e.size-=n.size,e.height-=n.height;var i=Ct(e.parent.children,e);e.parent.children.splice(i+1,0,n)}n.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()},iter:function(e,t,n){this.iterN(e,t-e,n)},iterN:function(e,t,n){for(var r=0,i=this.children.length;r<i;++r){var s=this.children[r],o=s.chunkSize();if(e<o){var u=Math.min(t,o-e);if(s.iterN(e,u,n))return!0;if((t-=u)==0)break;e=0}else e-=o}}},Q.prototype={addChange:function(e,t,n){this.undone.length=0;var r=+(new Date),i=mt(this.done),s=i&&mt(i),o=r-this.time;if(i&&!this.closed&&this.compound)i.push({start:e,added:t,old:n});else if(o>400||!
|
1043
|
-
s||this.closed||s.start>e+n.length||s.start+s.added<e)this.done.push([{start:e,added:t,old:n}]),this.closed=!1;else{var u=Math.max(0,s.start-e),a=Math.max(0,e+n.length-(s.start+s.added));for(var f=u;f>0;--f)s.old.unshift(n[f-1]);for(var f=a;f>0;--f)s.old.push(n[n.length-f]);u&&(s.start=e),s.added+=t-(n.length-u-a)}this.time=r},startCompound:function(){this.compound++||(this.closed=!0)},endCompound:function(){--this.compound||(this.closed=!0)}},e.e_stop=tt,e.e_preventDefault=Z,e.e_stopPropagation=et,e.connect=st,ot.prototype={set:function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)}};var ut=e.Pass={toString:function(){return"CodeMirror.Pass"}},at=function(){if(g)return!1;var e=Et("div");return"draggable"in e||"dragDrop"in e}(),ft=function(){var e=Et("textarea");return e.value="foo\nbar",e.value.indexOf("\r")>-1?"\r\n":"\n"}(),lt=/^$/;d?lt=/$'/:x?lt=/\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/:E&&(lt=/\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/);var dt=[""],kt=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc]/,At="\n\nb".split(/\n/).length!=3?function(e){var t=0,n=[],r=e.length;while(t<=r){var i=e.indexOf("\n",t);i==-1&&(i=e.length);var s=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),o=s.indexOf("\r");o!=-1?(n.push(s.slice(0,o)),t+=o+1):(n.push(s),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)};e.splitLines=At;var Ot=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0};e.defineMode("null",function(){return{token:function(e){e.skipToEnd()}}}),e.defineMIME("text/plain","null");var Mt={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};return e.keyNames=Mt,function(){for(var e=0;e<10;e++)Mt[e+48]=String(e);for(var e=65;e<=90;e++)Mt[e]=String.fromCharCode(e);for(var e=1;e<=12;e++)Mt[e+111]=Mt[e+63235]="F"+e}(),e.version="2.38",e}(),CodeMirror.defineMode("javascript",function(e,t){function u(e,t,n){return t.tokenize=n,n(e,t)}function a(e,t){var n=!1,r;while((r=e.next())!=null){if(r==t&&!n)return!1;n=!n&&r=="\\"}return n}function c(e,t,n){return f=e,l=n,t}function h(e,t){var n=e.next();if(n=='"'||n=="'")return u(e,t,p(n));if(/[\[\]{}\(\),;\:\.]/.test(n))return c(n);if(n=="0"&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),c("number","number");if(/\d/.test(n)||n=="-"&&e.eat(/\d/))return e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),c("number","number");if(n=="/")return e.eat("*")?u(e,t,d):e.eat("/")?(e.skipToEnd(),c("comment","comment")):t.lastType=="operator"||t.lastType=="keyword c"||/^[\[{}\(,;:]$/.test(t.lastType)?(a(e,"/"),e.eatWhile(/[gimy]/),c("regexp","string-2")):(e.eatWhile(o),c("operator",null,e.current()));if(n=="#")return e.skipToEnd(),c("error","error");if(o.test(n))return e.eatWhile(o),c("operator",null,e.current());e.eatWhile(/[\w\$_]/);var r=e.current(),i=s.propertyIsEnumerable(r)&&s[r];return i&&t.lastType!="."?c(i.type,i.style,r):c("variable","variable",r)}function p(e){return function(t,n){return a(t,e)||(n.tokenize=h),c("string","string")}}function d(e,t){var n=!1,r;while(r=e.next()){if(r=="/"&&n){t.tokenize=h;break}n=r=="*"}return c("comment","comment")}function m(e,t,n,r,i,s){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=s,r!=null&&(this.align=r)}function g(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0}function y(e,t,n,i,s){var o=e.cc;b.state=e,b.stream=s,b.marked=null,b.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);for(;;){var u=o.length?o.pop():r?O:A;if(u(n,i)){while(o.length&&o[o.length-1].lex)o.pop()();return b.marked?b.marked:n=="variable"&&g(e,i)?"variable-2":t}}}function w(){for(var e=arguments.length-1;e>=0;e--)b.cc.push(arguments[e])}function E(){return w.apply(null,arguments),!0}function S(e){function t(t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}var n=b.state;if(n.context){b.marked="def";if(t(n.localVars))return;n.localVars={name:e,next:n.localVars}}else{if(t(n.globalVars))return;n.globalVars={name:e,next:n.globalVars}}}function T(){b.state.context={prev:b.state.context,vars:b.state.localVars},b.state.localVars=x}function N(){b.state.localVars=b.state.context.vars,b.state.context=b.state.context.prev}function C(e,t){var n=function(){var n=b.state;n.lexical=new m(n.indented,b.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function k(){var e=b.state;e.lexical.prev&&(e.lexical.type==")"&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function L(e){return function(n){return n==e?E():e==";"?w():E(arguments.callee)}}function A(e){return e=="var"?E(C("vardef"),q,L(";"),k):e=="keyword a"?E(C("form"),O,A,k):e=="keyword b"?E(C("form"),A,k):e=="{"?E(C("}"),j,k):e==";"?E():e=="function"?E(V):e=="for"?E(C("form"),L("("),C(")"),U,L(")"),k,A,k):e=="variable"?E(C("stat"),D):e=="switch"?E(C("form"),O,C("}","switch"),L("{"),j,k,k):e=="case"?E(O,L(":")):e=="default"?E(L(":")):e=="catch"?E(C("form"),T,L("("),$,L(")"),A,k,N):w(C("stat"),O,L(";"),k)}function O(e){return v.hasOwnProperty(e)?E(_):e=="function"?E(V):e=="keyword c"?E(M):e=="("?E(C(")"),M,L(")"),k,_):e=="operator"?E(O):e=="["?E(C("]"),B(O,"]"),k,_):e=="{"?E(C("}"),B(H,"}"),k,_):E()}function M(e){return e.match(/[;\}\)\],]/)?w():w(O)}function _(e,t){if(e=="operator"&&/\+\+|--/.test(t))return E(_);if(e=="operator"&&t=="?")return E(O,L(":"),O);if(e==";")return;if(e=="(")return E(C(")"),B(O,")"),k,_);if(e==".")return E(P,_);if(e=="[")return E(C("]"),O,L("]"),k,_)}function D(e){return e==":"?E(k,A):w(_,L(";"),k)}function P(e){if(e=="variable")return b.marked="property",E()}function H(e){e=="variable"&&(b.marked="property");if(v.hasOwnProperty(e))return E(L(":"),O)}function B(e,t){function n(r){return r==","?E(e,n):r==t?E():E(L(t))}return function(i){return i==t?E():w(e,n)}}function j(e){return e=="}"?E():w(A,j)}function F(e){return e==":"?E(I):w()}function I(e){return e=="variable"?(b.marked="variable-3",E()):w()}function q(e,t){return e=="variable"?(S(t),i?E(F,R):E(R)):w()}function R(e,t){if(t=="=")return E(O,R);if(e==",")return E(q)}function U(e){return e=="var"?E(q,L(";"),W):e==";"?E(W):e=="variable"?E(z):E(W)}function z(e,t){return t=="in"?E(O):E(_,W)}function W(e,t){return e==";"?E(X):t=="in"?E(O):E(O,L(";"),X)}function X(e){e!=")"&&E(O)}function V(e,t){if(e=="variable")return S(t),E(V);if(e=="(")return E(C(")"),T,B($,")"),k,A,N)}function $(e,t){if(e=="variable")return S(t),i?E(F):E()}var n=e.indentUnit,r=t.json,i=t.typescript,s=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),r=e("keyword c"),s=e("operator"),o={type:"atom",style:"atom"},u={"if":t,"while":t,"with":t,"else":n,"do":n,"try":n,"finally":n,"return":r,"break":r,"continue":r,"new":r,"delete":r,"throw":r,"var":e("var"),"const":e("var"),let:e("var"),"function":e("function"),"catch":e("catch"),"for":e("for"),"switch":e("switch"),"case":e("case"),"default":e("default"),"in":s,"typeof":s,"instanceof":s,"true":o,"false":o,"null":o,"undefined":o,NaN:o,Infinity:o};if(i){var a={type:"variable",style:"variable-3"},f={"interface":e("interface"),"class":e("class"),"extends":e("extends"),constructor:e("constructor"),"public":e("public"),"private":e("private"),"protected":e("protected"),"static":e("static"),"super":e("super"),string:a,number:a,bool:a,any:a};for(var l in f)u[l]=f[l]}return u}(),o=/[+\-*&%=<>!?|]/,f,l,v={atom:!0,number:!0,variable:!0,string:!0,regexp:!0},b={state:null,column:null,marked:null,cc:null},x={name:"this",next:{name:"arguments"}};return k.lex=!0,{startState:function(e){return{tokenize:h,lastType:null,cc:[],lexical:new m((e||0)-n,0,"block",!1),localVars:t.localVars,globalVars:t.globalVars,context:t.localVars&&{vars:t.localVars},indented:0}},token:function(e,t){e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation());if(e.eatSpace())return null;var n=t.tokenize(e,t);return f=="comment"?n:(t.lastType=f,y(t,n,f,l,e))},indent:function(e,t){if(e.tokenize==d)return CodeMirror.Pass;if(e.tokenize!=h)return 0;var r=t&&t.charAt(0),i=e.lexical;i.type=="stat"&&r=="}"&&(i=i.prev);var s=i.type,o=r==s;return s=="vardef"?i.indented+(e.lastType=="operator"||e.lastType==","?4:0):s=="form"&&r=="{"?i.indented:s=="form"?i.indented+n:s=="stat"?i.indented+(e.lastType=="operator"||e.lastType==","?n:0):i.info=="switch"&&!o?i.indented+(/^(?:case|default)\b/.test(t)?n:2*n):i.align?i.column+(o?0:1):i.indented+(o?0:n)},electricChars:":{}",jsonMode:r}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("text/ecmascript","javascript"),CodeMirror.defineMIME("application/javascript","javascript"),CodeMirror.defineMIME("application/ecmascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMIME("text/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMIME("application/typescript",{name:"javascript",typescript:!0}),!function(e){"use strict";function r(){e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;return n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=e(n),r.length||(r=t.parent()),r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||s.toggleClass("open"),n.focus(),!1},keydown:function(t){var n,r,s,o,u,a;if(!/(38|40|27)/.test(t.keyCode))return;n=e(this),t.preventDefault(),t.stopPropagation();if(n.is(".disabled, :disabled"))return;o=i(n),u=o.hasClass("open");if(!u||u&&t.keyCode==27)return n.click();r=e("[role=menu] li:not(.divider):visible a",o);if(!r.length)return;a=r.index(r.filter(":focus")),t.keyCode==38&&a>0&&a--,t.keyCode==40&&a<r.length-1&&a++,~a||(a=0),r.eq(a).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api touchstart.dropdown.data-api",r).on("click.dropdown touchstart.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("touchstart.dropdown.data-api",".dropdown-menu",function(e){e.stopPropagation()}).on("click.dropdown.data-api touchstart.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):this.options.trigger!="manual"&&(i=this.options.trigger=="hover"?"mouseenter":"focus",s=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this))),this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,t,this.$element.data()),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);if(!n.options.delay||!n.options.delay.show)return n.show();clearTimeout(this.timeout),n.hoverState="in",this.timeout=setTimeout(function(){n.hoverState=="in"&&n.show()},n.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var e,t,n,r,i,s,o;if(this.hasContent()&&this.enabled){e=this.tip(),this.setContent(),this.options.animation&&e.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,t=/in/.test(s),e.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),n=this.getPosition(t),r=e[0].offsetWidth,i=e[0].offsetHeight;switch(t?s.split(" ")[1]:s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}e.offset(o).addClass(s).addClass("in")}},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function r(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip();return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?r():n.detach(),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(t){return e.extend({},t?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);n[n.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-content")||(typeof n.content=="function"?n.content.call(t[0]):n.content),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(e){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,e.proxy(this.removeBackdrop,this)):this.removeBackdrop()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),function(e,t){"use strict";typeof define=="function"&&define.amd?define(["exports"],t):typeof exports!="undefined"?t(exports):t(e.esprima={})}(this,function(e){"use strict";function m(e,t){if(!e)throw new Error("ASSERT: "+t)}function g(e,t){return u.slice(e,t)}function y(e){return"0123456789".indexOf(e)>=0}function b(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function w(e){return"01234567".indexOf(e)>=0}function E(e){return e===" "||e===" "||e===""||e==="\f"||e==="\u00a0"||e.charCodeAt(0)>=5760&&"\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\ufeff".indexOf(e)>=0}function S(e){return e==="\n"||e==="\r"||e==="\u2028"||e==="\u2029"}function x(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"||e.charCodeAt(0)>=128&&o.NonAsciiIdentifierStart.test(e)}function T(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e.charCodeAt(0)>=128&&o.NonAsciiIdentifierPart.test(e)}function N(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0}return!1}function C(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0}return!1}function k(e){return e==="eval"||e==="arguments"}function L(e){var t=!1;switch(e.length){case 2:t=e==="if"||e==="in"||e==="do";break;case 3:t=e==="var"||e==="for"||e==="new"||e==="try";break;case 4:t=e==="this"||e==="else"||e==="case"||e==="void"||e==="with";break;case 5:t=e==="while"||e==="break"||e==="catch"||e==="throw";break;case 6:t=e==="return"||e==="typeof"||e==="delete"||e==="switch";break;case 7:t=e==="default"||e==="finally";break;case 8:t=e==="function"||e==="continue"||e==="debugger";break;case 10:t=e==="instanceof"}if(t)return!0;switch(e){case"const":return!0;case"yield":case"let":return!0}return a&&C(e)?!0:N(e)}function A(){var e,t,n;t=!1,n=!1;while(f<h){e=u[f];if(n)e=u[f++],S(e)&&(n=!1,e==="\r"&&u[f]==="\n"&&++f,++l,c=f);else if(t)S(e)?(e==="\r"&&u[f+1]==="\n"&&++f,++l,++f,c=f,f>=h&&R({},s.UnexpectedToken,"ILLEGAL")):(e=u[f++],f>=h&&R({},s.UnexpectedToken,"ILLEGAL"),e==="*"&&(e=u[f],e==="/"&&(++f,t=!1)));else if(e==="/"){e=u[f+1];if(e==="/")f+=2,n=!0;else{if(e!=="*")break;f+=2,t=!0,f>=h&&R({},s.UnexpectedToken,"ILLEGAL")}}else if(E(e))++f;else{if(!S(e))break;++f,e==="\r"&&u[f]==="\n"&&++f,++l,c=f}}}function O(e){var t,n,r,i=0;n=e==="u"?4:2;for(t=0;t<n;++t){if(!(f<h&&b(u[f])))return"";r=u[f++],i=i*16+"0123456789abcdef".indexOf(r.toLowerCase())}return String.fromCharCode(i)}function M(){var e,n,r,i;e=u[f];if(!x(e))return;n=f;if(e==="\\"){++f;if(u[f]!=="u")return;++f,i=f,e=O("u");if(e){if(e==="\\"||!x(e))return;r=e}else f=i,r="u"}else r=u[f++];while(f<h){e=u[f];if(!T(e))break;if(e==="\\"){++f;if(u[f]!=="u")return;++f,i=f,e=O("u");if(e){if(e==="\\"||!T(e))return;r+=e}else f=i,r+="u"}else r+=u[f++]}return r.length===1?{type:t.Identifier,value:r,lineNumber:l,lineStart:c,range:[n,f]}:L(r)?{type:t.Keyword,value:r,lineNumber:l,lineStart:c,range:[n,f]}:r==="null"?{type:t.NullLiteral,value:r,lineNumber:l,lineStart:c,range:[n,f]}:r==="true"||r==="false"?{type:t.BooleanLiteral,value:r,lineNumber:l,lineStart:c,range:[n,f]}:{type:t.Identifier,value:r,lineNumber:l,lineStart:c,range:[n,f]}}function _(){var e=f,n=u[f],r,i,s;if(n===";"||n==="{"||n==="}")return++f,{type:t.Punctuator,value:n,lineNumber:l,lineStart:c,range:[e,f]};if(n===","||n==="("||n===")")return++f,{type:t.Punctuator,value:n,lineNumber:l,lineStart:c,range:[e,f]};r=u[f+1];if(n==="."&&!y(r))return{type:t.Punctuator,value:u[f++],lineNumber:l,lineStart:c,range:[e,f]};i=u[f+2],s=u[f+3];if(n===">"&&r===">"&&i===">"&&s==="=")return f+=4,{type:t.Punctuator,value:">>>=",lineNumber:l,lineStart:c,range:[e,f]};if(n==="="&&r==="="&&i==="=")return f+=3,{type:t.Punctuator,value:"===",lineNumber:l,lineStart:c,range:[e,f]};if(n==="!"&&r==="="&&i==="=")return f+=3,{type:t.Punctuator,value:"!==",lineNumber:l,lineStart:c,range:[e,f]};if(n===">"&&r===">"&&i===">")return f+=3,{type:t.Punctuator,value:">>>",lineNumber:l,lineStart:c,range:[e,f]};if(n==="<"&&r==="<"&&i==="=")return f+=3,{type:t.Punctuator,value:"<<=",lineNumber:l,lineStart:c,range:[e,f]};if(n===">"&&r===">"&&i==="=")return f+=3,{type:t.Punctuator,value:">>=",lineNumber:l,lineStart:c,range:[e,f]};if(r==="="&&"<>=!+-*%&|^/".indexOf(n)>=0)return f+=2,{type:t.Punctuator,value:n+r,lineNumber:l,lineStart:c,range:[e,f]};if(n===r&&"+-<>&|".indexOf(n)>=0&&"+-<>&|".indexOf(r)>=0)return f+=2,{type:t.Punctuator,value:n+r,lineNumber:l,lineStart:c,range:[e,f]};if("[]<>+-*%&|^!~?:=/".indexOf(n)>=0)return{type:t.Punctuator,value:u[f++],lineNumber:l,lineStart:c,range:[e,f]}}function D(){var e,n,r;r=u[f],m(y(r)||r===".","Numeric literal must start with a decimal digit or a decimal point"),n=f,e="";if(r!=="."){e=u[f++],r=u[f];if(e==="0"){if(r==="x"||r==="X"){e+=u[f++];while(f<h){r=u[f];if(!b(r))break;e+=u[f++]}return e.length<=2&&R({},s.UnexpectedToken,"ILLEGAL"),f<h&&(r=u[f],x(r)&&R({},s.UnexpectedToken,"ILLEGAL")),{type:t.NumericLiteral,value:parseInt(e,16),lineNumber:l,lineStart:c,range:[n,f]}}if(w(r)){e+=u[f++];while(f<h){r=u[f];if(!w(r))break;e+=u[f++]}return f<h&&(r=u[f],(x(r)||y(r))&&R({},s.UnexpectedToken,"ILLEGAL")),{type:t.NumericLiteral,value:parseInt(e,8),octal:!0,lineNumber:l,lineStart:c,range:[n,f]}}y(r)&&R({},s.UnexpectedToken,"ILLEGAL")}while(f<h){r=u[f];if(!y(r))break;e+=u[f++]}}if(r==="."){e+=u[f++];while(f<h){r=u[f];if(!y(r))break;e+=u[f++]}}if(r==="e"||r==="E"){e+=u[f++],r=u[f];if(r==="+"||r==="-")e+=u[f++];r=u[f];if(y(r)){e+=u[f++];while(f<h){r=u[f];if(!y(r))break;e+=u[f++]}}else r="character "+r,f>=h&&(r="<end>"),R({},s.UnexpectedToken,"ILLEGAL")}return f<h&&(r=u[f],x(r)&&R({},s.UnexpectedToken,"ILLEGAL")),{type:t.NumericLiteral,value:parseFloat(e),lineNumber:l,lineStart:c,range:[n,f]}}function P(){var e="",n,r,i,o,a,p,d=!1;n=u[f],m(n==="'"||n==='"',"String literal must starts with a quote"),r=f,++f;while(f<h){i=u[f++];if(i===n){n="";break}if(i==="\\"){i=u[f++];if(!S(i))switch(i){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+=" ";break;case"u":case"x":p=f,a=O(i),a?e+=a:(f=p,e+=i);break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="";break;default:w(i)?(o="01234567".indexOf(i),o!==0&&(d=!0),f<h&&w(u[f])&&(d=!0,o=o*8+"01234567".indexOf(u[f++]),"0123".indexOf(i)>=0&&f<h&&w(u[f])&&(o=o*8+"01234567".indexOf(u[f++]))),e+=String.fromCharCode(o)):e+=i}else++l,i==="\r"&&u[f]==="\n"&&++f}else{if(S(i))break;e+=i}}return n!==""&&R({},s.UnexpectedToken,"ILLEGAL"),{type:t.StringLiteral,value:e,octal:d,lineNumber:l,lineStart:c,range:[r,f]}}function H(){var e,t,n,r,i,o,a=!1,l,c=!1;p=null,A(),n=f,t=u[f],m(t==="/","Regular expression literal must start with a slash"),e=u[f++];while(f<h){t=u[f++],e+=t;if(a)t==="]"&&(a=!1);else if(t==="\\")t=u[f++],S(t)&&R({},s.UnterminatedRegExp),e+=t;else{if(t==="/"){c=!0;break}t==="["?a=!0:S(t)&&R({},s.UnterminatedRegExp)}}c||R({},s.UnterminatedRegExp),r=e.substr(1,e.length-2),i="";while(f<h){t=u[f];if(!T(t))break;++f;if(t==="\\"&&f<h){t=u[f];if(t==="u"){++f,l=f,t=O("u");if(t){i+=t,e+="\\u";for(;l<f;++l)e+=u[l]}else f=l,i+="u",e+="\\u"}else e+="\\"}else i+=t,e+=t}try{o=new RegExp(r,i)}catch(d){R({},s.InvalidRegExp)}return{literal:e,value:o,range:[n,f]}}function B(e){return e.type===t.Identifier||e.type===t.Keyword||e.type===t.BooleanLiteral||e.type===t.NullLiteral}function j(){var e,n;A();if(f>=h)return{type:t.EOF,lineNumber:l,lineStart:c,range:[f,f]};n=_();if(typeof n!="undefined")return n;e=u[f];if(e==="'"||e==='"')return P();if(e==="."||y(e))return D();n=M();if(typeof n!="undefined")return n;R({},s.UnexpectedToken,"ILLEGAL")}function F(){var e;return p?(f=p.range[1],l=p.lineNumber,c=p.lineStart,e=p,p=null,e):(p=null,j())}function I(){var e,t,n;return p!==null?p:(e=f,t=l,n=c,p=j(),f=e,l=t,c=n,p)}function q(){var e,t,n,r;return e=f,t=l,n=c,A(),r=l!==t,f=e,l=t,c=n,r}function R(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,function(e,t){return r[t]||""});throw typeof e.lineNumber=="number"?(n=new Error("Line "+e.lineNumber+": "+i),n.index=e.range[0],n.lineNumber=e.lineNumber,n.column=e.range[0]-c+1):(n=new Error("Line "+l+": "+i),n.index=f,n.lineNumber=l,n.column=f-c+1),n}function U(){try{R.apply(null,arguments)}catch(e){if(!v.errors)throw e;v.errors.push(e)}}function z(e){e.type===t.EOF&&R(e,s.UnexpectedEOS),e.type===t.NumericLiteral&&R(e,s.UnexpectedNumber),e.type===t.StringLiteral&&R(e,s.UnexpectedString),e.type===t.Identifier&&R(e,s.UnexpectedIdentifier);if(e.type===t.Keyword){if(N(e.value))R(e,s.UnexpectedReserved);else if(a&&C(e.value)){U(e,s.StrictReservedWord);return}R(e,s.UnexpectedToken,e.value)}R(e,s.UnexpectedToken,e.value)}function W(e){var n=F();(n.type!==t.Punctuator||n.value!==e)&&z(n)}function X(e){var n=F();(n.type!==t.Keyword||n.value!==e)&&z(n)}function V(e){var n=I();return n.type===t.Punctuator&&n.value===e}function $(e){var n=I();return n.type===t.Keyword&&n.value===e}function J(){var e=I(),n=e.value;return e.type!==t.Punctuator?!1:n==="="||n==="*="||n==="/="||n==="%="||n==="+="||n==="-="||n==="<<="||n===">>="||n===">>>="||n==="&="||n==="^="||n==="|="}function K(){var e,n;if(u[f]===";"){F();return}n=l,A();if(l!==n)return;if(V(";")){F();return}e=I(),e.type!==t.EOF&&!V("}")&&z(e)}function Q(e){return e.type===r.Identifier||e.type===r.MemberExpression}function G(){var e=[];W("[");while(!V("]"))V(",")?(F(),e.push(null)):(e.push(Tt()),V("]")||W(","));return W("]"),{type:r.ArrayExpression,elements:e}}function Y(e,t){var n,i;return n=a,i=Gt(),t&&a&&k(e[0].name)&&U(t,s.StrictParamName),a=n,{type:r.FunctionExpression,id:null,params:e,defaults:[],body:i,rest:null,generator:!1,expression:!1}}function Z(){var e=F();return e.type===t.StringLiteral||e.type===t.NumericLiteral?(a&&e.octal&&U(e,s.StrictOctalLiteral),ln(e)):{type:r.Identifier,name:e.value}}function et(){var e,n,i,s;e=I();if(e.type===t.Identifier)return i=Z(),e.value==="get"&&!V(":")?(n=Z(),W("("),W(")"),{type:r.Property,key:n,value:Y([]),kind:"get"}):e.value==="set"&&!V(":")?(n=Z(),W("("),e=I(),e.type!==t.Identifier&&z(F()),s=[Lt()],W(")"),{type:r.Property,key:n,value:Y(s,e),kind:"set"}):(W(":"),{type:r.Property,key:i,value:Tt(),kind:"init"});if(e.type!==t.EOF&&e.type!==t.Punctuator)return n=Z(),W(":"),{type:r.Property,key:n,value:Tt(),kind:"init"};z(e)}function tt(){var e=[],t,n,o,u={},f=String;W("{");while(!V("}"))t=et(),t.key.type===r.Identifier?n=t.key.name:n=f(t.key.value),o=t.kind==="init"?i.Data:t.kind==="get"?i.Get:i.Set,Object.prototype.hasOwnProperty.call(u,n)?(u[n]===i.Data?a&&o===i.Data?U({},s.StrictDuplicateProperty):o!==i.Data&&U({},s.AccessorDataProperty):o===i.Data?U({},s.AccessorDataProperty):u[n]&o&&U({},s.AccessorGetSet),u[n]|=o):u[n]=o,e.push(t),V("}")||W(",");return W("}"),{type:r.ObjectExpression,properties:e}}function nt(){var e;return W("("),e=Nt(),W(")"),e}function rt(){var e=I(),n=e.type;if(n===t.Identifier)return{type:r.Identifier,name:F().value};if(n===t.StringLiteral||n===t.NumericLiteral)return a&&e.octal&&U(e,s.StrictOctalLiteral),ln(F());if(n===t.Keyword){if($("this"))return F(),{type:r.ThisExpression};if($("function"))return Zt()}return n===t.BooleanLiteral?(F(),e.value=e.value==="true",ln(e)):n===t.NullLiteral?(F(),e.value=null,ln(e)):V("[")?G():V("{")?tt():V("(")?nt():V("/")||V("/=")?ln(H()):z(F())}function it(){var e=[];W("(");if(!V(")"))while(f<h){e.push(Tt());if(V(")"))break;W(",")}return W(")"),e}function st(){var e=F();return B(e)||z(e),{type:r.Identifier,name:e.value}}function ot(){return W("."),st()}function ut(){var e;return W("["),e=Nt(),W("]"),e}function at(){var e;return X("new"),e={type:r.NewExpression,callee:lt(),arguments:[]},V("(")&&(e.arguments=it()),e}function ft(){var e;e=$("new")?at():rt();while(V(".")||V("[")||V("("))V("(")?e={type:r.CallExpression,callee:e,arguments:it()}:V("[")?e={type:r.MemberExpression,computed:!0,object:e,property:ut()}:e={type:r.MemberExpression,computed:!1,object:e,property:ot()};return e}function lt(){var e;e=$("new")?at():rt();while(V(".")||V("["))V("[")?e={type:r.MemberExpression,computed:!0,object:e,property:ut()}:e={type:r.MemberExpression,computed:!1,object:e,property:ot()};return e}function ct(){var e=ft(),n;return n=I(),n.type!==t.Punctuator?e:((V("++")||V("--"))&&!q()&&(a&&e.type===r.Identifier&&k(e.name)&&U({},s.StrictLHSPostfix),Q(e)||R({},s.InvalidLHSInAssignment),e={type:r.UpdateExpression,operator:F().value,argument:e,prefix:!1}),e)}function ht(){var e,n;return e=I(),e.type!==t.Punctuator&&e.type!==t.Keyword?ct():V("++")||V("--")?(e=F(),n=ht(),a&&n.type===r.Identifier&&k(n.name)&&U({},s.StrictLHSPrefix),Q(n)||R({},s.InvalidLHSInAssignment
|
1044
|
-
),n={type:r.UpdateExpression,operator:e.value,argument:n,prefix:!0},n):V("+")||V("-")||V("~")||V("!")?(n={type:r.UnaryExpression,operator:F().value,argument:ht()},n):$("delete")||$("void")||$("typeof")?(n={type:r.UnaryExpression,operator:F().value,argument:ht()},a&&n.operator==="delete"&&n.argument.type===r.Identifier&&U({},s.StrictDelete),n):ct()}function pt(){var e=ht();while(V("*")||V("/")||V("%"))e={type:r.BinaryExpression,operator:F().value,left:e,right:ht()};return e}function dt(){var e=pt();while(V("+")||V("-"))e={type:r.BinaryExpression,operator:F().value,left:e,right:pt()};return e}function vt(){var e=dt();while(V("<<")||V(">>")||V(">>>"))e={type:r.BinaryExpression,operator:F().value,left:e,right:dt()};return e}function mt(){var e,t;t=d.allowIn,d.allowIn=!0,e=vt();while(V("<")||V(">")||V("<=")||V(">=")||t&&$("in")||$("instanceof"))e={type:r.BinaryExpression,operator:F().value,left:e,right:vt()};return d.allowIn=t,e}function gt(){var e=mt();while(V("==")||V("!=")||V("===")||V("!=="))e={type:r.BinaryExpression,operator:F().value,left:e,right:mt()};return e}function yt(){var e=gt();while(V("&"))F(),e={type:r.BinaryExpression,operator:"&",left:e,right:gt()};return e}function bt(){var e=yt();while(V("^"))F(),e={type:r.BinaryExpression,operator:"^",left:e,right:yt()};return e}function wt(){var e=bt();while(V("|"))F(),e={type:r.BinaryExpression,operator:"|",left:e,right:bt()};return e}function Et(){var e=wt();while(V("&&"))F(),e={type:r.LogicalExpression,operator:"&&",left:e,right:wt()};return e}function St(){var e=Et();while(V("||"))F(),e={type:r.LogicalExpression,operator:"||",left:e,right:Et()};return e}function xt(){var e,t,n;return e=St(),V("?")&&(F(),t=d.allowIn,d.allowIn=!0,n=Tt(),d.allowIn=t,W(":"),e={type:r.ConditionalExpression,test:e,consequent:n,alternate:Tt()}),e}function Tt(){var e,t;return e=I(),t=xt(),J()&&(Q(t)||R({},s.InvalidLHSInAssignment),a&&t.type===r.Identifier&&k(t.name)&&U(e,s.StrictLHSAssignment),t={type:r.AssignmentExpression,operator:F().value,left:t,right:Tt()}),t}function Nt(){var e=Tt();if(V(",")){e={type:r.SequenceExpression,expressions:[e]};while(f<h){if(!V(","))break;F(),e.expressions.push(Tt())}}return e}function Ct(){var e=[],t;while(f<h){if(V("}"))break;t=en();if(typeof t=="undefined")break;e.push(t)}return e}function kt(){var e;return W("{"),e=Ct(),W("}"),{type:r.BlockStatement,body:e}}function Lt(){var e=F();return e.type!==t.Identifier&&z(e),{type:r.Identifier,name:e.value}}function At(e){var t=Lt(),n=null;return a&&k(t.name)&&U({},s.StrictVarName),e==="const"?(W("="),n=Tt()):V("=")&&(F(),n=Tt()),{type:r.VariableDeclarator,id:t,init:n}}function Ot(e){var t=[];while(f<h){t.push(At(e));if(!V(","))break;F()}return t}function Mt(){var e;return X("var"),e=Ot(),K(),{type:r.VariableDeclaration,declarations:e,kind:"var"}}function _t(e){var t;return X(e),t=Ot(e),K(),{type:r.VariableDeclaration,declarations:t,kind:e}}function Dt(){return W(";"),{type:r.EmptyStatement}}function Pt(){var e=Nt();return K(),{type:r.ExpressionStatement,expression:e}}function Ht(){var e,t,n;return X("if"),W("("),e=Nt(),W(")"),t=Qt(),$("else")?(F(),n=Qt()):n=null,{type:r.IfStatement,test:e,consequent:t,alternate:n}}function Bt(){var e,t,n;return X("do"),n=d.inIteration,d.inIteration=!0,e=Qt(),d.inIteration=n,X("while"),W("("),t=Nt(),W(")"),V(";")&&F(),{type:r.DoWhileStatement,body:e,test:t}}function jt(){var e,t,n;return X("while"),W("("),e=Nt(),W(")"),n=d.inIteration,d.inIteration=!0,t=Qt(),d.inIteration=n,{type:r.WhileStatement,test:e,body:t}}function Ft(){var e=F();return{type:r.VariableDeclaration,declarations:Ot(),kind:e.value}}function It(){var e,t,n,i,o,u,a;return e=t=n=null,X("for"),W("("),V(";")?F():($("var")||$("let")?(d.allowIn=!1,e=Ft(),d.allowIn=!0,e.declarations.length===1&&$("in")&&(F(),i=e,o=Nt(),e=null)):(d.allowIn=!1,e=Nt(),d.allowIn=!0,$("in")&&(Q(e)||R({},s.InvalidLHSInForIn),F(),i=e,o=Nt(),e=null)),typeof i=="undefined"&&W(";")),typeof i=="undefined"&&(V(";")||(t=Nt()),W(";"),V(")")||(n=Nt())),W(")"),a=d.inIteration,d.inIteration=!0,u=Qt(),d.inIteration=a,typeof i=="undefined"?{type:r.ForStatement,init:e,test:t,update:n,body:u}:{type:r.ForInStatement,left:i,right:o,body:u,each:!1}}function qt(){var e,n=null;return X("continue"),u[f]===";"?(F(),d.inIteration||R({},s.IllegalContinue),{type:r.ContinueStatement,label:null}):q()?(d.inIteration||R({},s.IllegalContinue),{type:r.ContinueStatement,label:null}):(e=I(),e.type===t.Identifier&&(n=Lt(),Object.prototype.hasOwnProperty.call(d.labelSet,n.name)||R({},s.UnknownLabel,n.name)),K(),n===null&&!d.inIteration&&R({},s.IllegalContinue),{type:r.ContinueStatement,label:n})}function Rt(){var e,n=null;return X("break"),u[f]===";"?(F(),!d.inIteration&&!d.inSwitch&&R({},s.IllegalBreak),{type:r.BreakStatement,label:null}):q()?(!d.inIteration&&!d.inSwitch&&R({},s.IllegalBreak),{type:r.BreakStatement,label:null}):(e=I(),e.type===t.Identifier&&(n=Lt(),Object.prototype.hasOwnProperty.call(d.labelSet,n.name)||R({},s.UnknownLabel,n.name)),K(),n===null&&!d.inIteration&&!d.inSwitch&&R({},s.IllegalBreak),{type:r.BreakStatement,label:n})}function Ut(){var e,n=null;return X("return"),d.inFunctionBody||U({},s.IllegalReturn),u[f]===" "&&x(u[f+1])?(n=Nt(),K(),{type:r.ReturnStatement,argument:n}):q()?{type:r.ReturnStatement,argument:null}:(V(";")||(e=I(),!V("}")&&e.type!==t.EOF&&(n=Nt())),K(),{type:r.ReturnStatement,argument:n})}function zt(){var e,t;return a&&U({},s.StrictModeWith),X("with"),W("("),e=Nt(),W(")"),t=Qt(),{type:r.WithStatement,object:e,body:t}}function Wt(){var e,t=[],n;$("default")?(F(),e=null):(X("case"),e=Nt()),W(":");while(f<h){if(V("}")||$("default")||$("case"))break;n=Qt();if(typeof n=="undefined")break;t.push(n)}return{type:r.SwitchCase,test:e,consequent:t}}function Xt(){var e,t,n,i,o;X("switch"),W("("),e=Nt(),W(")"),W("{");if(V("}"))return F(),{type:r.SwitchStatement,discriminant:e};t=[],i=d.inSwitch,d.inSwitch=!0,o=!1;while(f<h){if(V("}"))break;n=Wt(),n.test===null&&(o&&R({},s.MultipleDefaultsInSwitch),o=!0),t.push(n)}return d.inSwitch=i,W("}"),{type:r.SwitchStatement,discriminant:e,cases:t}}function Vt(){var e;return X("throw"),q()&&R({},s.NewlineAfterThrow),e=Nt(),K(),{type:r.ThrowStatement,argument:e}}function $t(){var e;return X("catch"),W("("),V(")")||(e=Nt(),a&&e.type===r.Identifier&&k(e.name)&&U({},s.StrictCatchVariable)),W(")"),{type:r.CatchClause,param:e,body:kt()}}function Jt(){var e,t=[],n=null;return X("try"),e=kt(),$("catch")&&t.push($t()),$("finally")&&(F(),n=kt()),t.length===0&&!n&&R({},s.NoCatchOrFinally),{type:r.TryStatement,block:e,guardedHandlers:[],handlers:t,finalizer:n}}function Kt(){return X("debugger"),K(),{type:r.DebuggerStatement}}function Qt(){var e=I(),n,i;e.type===t.EOF&&z(e);if(e.type===t.Punctuator)switch(e.value){case";":return Dt();case"{":return kt();case"(":return Pt();default:}if(e.type===t.Keyword)switch(e.value){case"break":return Rt();case"continue":return qt();case"debugger":return Kt();case"do":return Bt();case"for":return It();case"function":return Yt();case"if":return Ht();case"return":return Ut();case"switch":return Xt();case"throw":return Vt();case"try":return Jt();case"var":return Mt();case"while":return jt();case"with":return zt();default:}return n=Nt(),n.type===r.Identifier&&V(":")?(F(),Object.prototype.hasOwnProperty.call(d.labelSet,n.name)&&R({},s.Redeclaration,"Label",n.name),d.labelSet[n.name]=!0,i=Qt(),delete d.labelSet[n.name],{type:r.LabeledStatement,label:n,body:i}):(K(),{type:r.ExpressionStatement,expression:n})}function Gt(){var e,n=[],i,o,u,l,c,p,v;W("{");while(f<h){i=I();if(i.type!==t.StringLiteral)break;e=en(),n.push(e);if(e.expression.type!==r.Literal)break;o=g(i.range[0]+1,i.range[1]-1),o==="use strict"?(a=!0,u&&U(u,s.StrictOctalLiteral)):!u&&i.octal&&(u=i)}l=d.labelSet,c=d.inIteration,p=d.inSwitch,v=d.inFunctionBody,d.labelSet={},d.inIteration=!1,d.inSwitch=!1,d.inFunctionBody=!0;while(f<h){if(V("}"))break;e=en();if(typeof e=="undefined")break;n.push(e)}return W("}"),d.labelSet=l,d.inIteration=c,d.inSwitch=p,d.inFunctionBody=v,{type:r.BlockStatement,body:n}}function Yt(){var e,t,n=[],i,o,u,l,c,p,d;X("function"),o=I(),e=Lt(),a?k(o.value)&&U(o,s.StrictFunctionName):k(o.value)?(l=o,c=s.StrictFunctionName):C(o.value)&&(l=o,c=s.StrictReservedWord),W("(");if(!V(")")){d={};while(f<h){o=I(),t=Lt(),a?(k(o.value)&&(u=o,c=s.StrictParamName),Object.prototype.hasOwnProperty.call(d,o.value)&&(u=o,c=s.StrictParamDupe)):l||(k(o.value)?(l=o,c=s.StrictParamName):C(o.value)?(l=o,c=s.StrictReservedWord):Object.prototype.hasOwnProperty.call(d,o.value)&&(l=o,c=s.StrictParamDupe)),n.push(t),d[t.name]=!0;if(V(")"))break;W(",")}}return W(")"),p=a,i=Gt(),a&&l&&R(l,c),a&&u&&U(u,c),a=p,{type:r.FunctionDeclaration,id:e,params:n,defaults:[],body:i,rest:null,generator:!1,expression:!1}}function Zt(){var e,t=null,n,i,o,u,l=[],c,p,d;X("function"),V("(")||(e=I(),t=Lt(),a?k(e.value)&&U(e,s.StrictFunctionName):k(e.value)?(i=e,o=s.StrictFunctionName):C(e.value)&&(i=e,o=s.StrictReservedWord)),W("(");if(!V(")")){d={};while(f<h){e=I(),u=Lt(),a?(k(e.value)&&(n=e,o=s.StrictParamName),Object.prototype.hasOwnProperty.call(d,e.value)&&(n=e,o=s.StrictParamDupe)):i||(k(e.value)?(i=e,o=s.StrictParamName):C(e.value)?(i=e,o=s.StrictReservedWord):Object.prototype.hasOwnProperty.call(d,e.value)&&(i=e,o=s.StrictParamDupe)),l.push(u),d[u.name]=!0;if(V(")"))break;W(",")}}return W(")"),p=a,c=Gt(),a&&i&&R(i,o),a&&n&&U(n,o),a=p,{type:r.FunctionExpression,id:t,params:l,defaults:[],body:c,rest:null,generator:!1,expression:!1}}function en(){var e=I();if(e.type===t.Keyword)switch(e.value){case"const":case"let":return _t(e.value);case"function":return Yt();default:return Qt()}if(e.type!==t.EOF)return Qt()}function tn(){var e,n=[],i,o,u;while(f<h){i=I();if(i.type!==t.StringLiteral)break;e=en(),n.push(e);if(e.expression.type!==r.Literal)break;o=g(i.range[0]+1,i.range[1]-1),o==="use strict"?(a=!0,u&&U(u,s.StrictOctalLiteral)):!u&&i.octal&&(u=i)}while(f<h){e=en();if(typeof e=="undefined")break;n.push(e)}return n}function nn(){var e;return a=!1,e={type:r.Program,body:tn()},e}function rn(e,t,n,r,i){m(typeof n=="number","Comment must have valid position");if(v.comments.length>0&&v.comments[v.comments.length-1].range[1]>n)return;v.comments.push({type:e,value:t,range:[n,r],loc:i})}function sn(){var e,t,n,r,i,o;e="",i=!1,o=!1;while(f<h){t=u[f];if(o)t=u[f++],S(t)?(n.end={line:l,column:f-c-1},o=!1,rn("Line",e,r,f-1,n),t==="\r"&&u[f]==="\n"&&++f,++l,c=f,e=""):f>=h?(o=!1,e+=t,n.end={line:l,column:h-c},rn("Line",e,r,h,n)):e+=t;else if(i)S(t)?(t==="\r"&&u[f+1]==="\n"?(++f,e+="\r\n"):e+=t,++l,++f,c=f,f>=h&&R({},s.UnexpectedToken,"ILLEGAL")):(t=u[f++],f>=h&&R({},s.UnexpectedToken,"ILLEGAL"),e+=t,t==="*"&&(t=u[f],t==="/"&&(e=e.substr(0,e.length-1),i=!1,++f,n.end={line:l,column:f-c},rn("Block",e,r,f,n),e="")));else if(t==="/"){t=u[f+1];if(t==="/")n={start:{line:l,column:f-c}},r=f,f+=2,o=!0,f>=h&&(n.end={line:l,column:f-c},o=!1,rn("Line",e,r,f,n));else{if(t!=="*")break;r=f,f+=2,i=!0,n={start:{line:l,column:f-c-2}},f>=h&&R({},s.UnexpectedToken,"ILLEGAL")}}else if(E(t))++f;else{if(!S(t))break;++f,t==="\r"&&u[f]==="\n"&&++f,++l,c=f}}}function on(){var e,t,n,r=[];for(e=0;e<v.comments.length;++e)t=v.comments[e],n={type:t.type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.comments=r}function un(){var e,r,i,s,o;return A(),e=f,r={start:{line:l,column:f-c}},i=v.advance(),r.end={line:l,column:f-c},i.type!==t.EOF&&(s=[i.range[0],i.range[1]],o=g(i.range[0],i.range[1]),v.tokens.push({type:n[i.type],value:o,range:s,loc:r})),i}function an(){var e,t,n,r;return A(),e=f,t={start:{line:l,column:f-c}},n=v.scanRegExp(),t.end={line:l,column:f-c},v.tokens.length>0&&(r=v.tokens[v.tokens.length-1],r.range[0]===e&&r.type==="Punctuator"&&(r.value==="/"||r.value==="/=")&&v.tokens.pop()),v.tokens.push({type:"RegularExpression",value:n.literal,range:[e,f],loc:t}),n}function fn(){var e,t,n,r=[];for(e=0;e<v.tokens.length;++e)t=v.tokens[e],n={type:t.type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.tokens=r}function ln(e){return{type:r.Literal,value:e.value}}function cn(e){return{type:r.Literal,value:e.value,raw:g(e.range[0],e.range[1])}}function hn(){var e={};return e.range=[f,f],e.loc={start:{line:l,column:f-c},end:{line:l,column:f-c}},e.end=function(){this.range[1]=f,this.loc.end.line=l,this.loc.end.column=f-c},e.applyGroup=function(e){v.range&&(e.groupRange=[this.range[0],this.range[1]]),v.loc&&(e.groupLoc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e.apply=function(e){v.range&&(e.range=[this.range[0],this.range[1]]),v.loc&&(e.loc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e}function pn(){var e,t;return A(),e=hn(),W("("),t=Nt(),W(")"),e.end(),e.applyGroup(t),t}function dn(){var e,t;A(),e=hn(),t=$("new")?at():rt();while(V(".")||V("["))V("[")?(t={type:r.MemberExpression,computed:!0,object:t,property:ut()},e.end(),e.apply(t)):(t={type:r.MemberExpression,computed:!1,object:t,property:ot()},e.end(),e.apply(t));return t}function vn(){var e,t;A(),e=hn(),t=$("new")?at():rt();while(V(".")||V("[")||V("("))V("(")?(t={type:r.CallExpression,callee:t,arguments:it()},e.end(),e.apply(t)):V("[")?(t={type:r.MemberExpression,computed:!0,object:t,property:ut()},e.end(),e.apply(t)):(t={type:r.MemberExpression,computed:!1,object:t,property:ot()},e.end(),e.apply(t));return t}function mn(e){var t,n,r;t=Object.prototype.toString.apply(e)==="[object Array]"?[]:{};for(n in e)e.hasOwnProperty(n)&&n!=="groupRange"&&n!=="groupLoc"&&(r=e[n],r===null||typeof r!="object"||r instanceof RegExp?t[n]=r:t[n]=mn(r));return t}function gn(e,t){return function(n){function i(e){return e.type===r.LogicalExpression||e.type===r.BinaryExpression}function s(n){var r,o;i(n.left)&&s(n.left),i(n.right)&&s(n.right),e&&(n.left.groupRange||n.right.groupRange?(r=n.left.groupRange?n.left.groupRange[0]:n.left.range[0],o=n.right.groupRange?n.right.groupRange[1]:n.right.range[1],n.range=[r,o]):typeof n.range=="undefined"&&(r=n.left.range[0],o=n.right.range[1],n.range=[r,o])),t&&(n.left.groupLoc||n.right.groupLoc?(r=n.left.groupLoc?n.left.groupLoc.start:n.left.loc.start,o=n.right.groupLoc?n.right.groupLoc.end:n.right.loc.end,n.loc={start:r,end:o}):typeof n.loc=="undefined"&&(n.loc={start:n.left.loc.start,end:n.right.loc.end}))}return function(){var r,o;return A(),r=hn(),o=n.apply(null,arguments),r.end(),e&&typeof o.range=="undefined"&&r.apply(o),t&&typeof o.loc=="undefined"&&r.apply(o),i(o)&&s(o),o}}}function yn(){var e;v.comments&&(v.skipComment=A,A=sn),v.raw&&(v.createLiteral=ln,ln=cn);if(v.range||v.loc)v.parseGroupExpression=nt,v.parseLeftHandSideExpression=lt,v.parseLeftHandSideExpressionAllowCall=ft,nt=pn,lt=dn,ft=vn,e=gn(v.range,v.loc),v.parseAdditiveExpression=dt,v.parseAssignmentExpression=Tt,v.parseBitwiseANDExpression=yt,v.parseBitwiseORExpression=wt,v.parseBitwiseXORExpression=bt,v.parseBlock=kt,v.parseFunctionSourceElements=Gt,v.parseCatchClause=$t,v.parseComputedMember=ut,v.parseConditionalExpression=xt,v.parseConstLetDeclaration=_t,v.parseEqualityExpression=gt,v.parseExpression=Nt,v.parseForVariableDeclaration=Ft,v.parseFunctionDeclaration=Yt,v.parseFunctionExpression=Zt,v.parseLogicalANDExpression=Et,v.parseLogicalORExpression=St,v.parseMultiplicativeExpression=pt,v.parseNewExpression=at,v.parseNonComputedProperty=st,v.parseObjectProperty=et,v.parseObjectPropertyKey=Z,v.parsePostfixExpression=ct,v.parsePrimaryExpression=rt,v.parseProgram=nn,v.parsePropertyFunction=Y,v.parseRelationalExpression=mt,v.parseStatement=Qt,v.parseShiftExpression=vt,v.parseSwitchCase=Wt,v.parseUnaryExpression=ht,v.parseVariableDeclaration=At,v.parseVariableIdentifier=Lt,dt=e(v.parseAdditiveExpression),Tt=e(v.parseAssignmentExpression),yt=e(v.parseBitwiseANDExpression),wt=e(v.parseBitwiseORExpression),bt=e(v.parseBitwiseXORExpression),kt=e(v.parseBlock),Gt=e(v.parseFunctionSourceElements),$t=e(v.parseCatchClause),ut=e(v.parseComputedMember),xt=e(v.parseConditionalExpression),_t=e(v.parseConstLetDeclaration),gt=e(v.parseEqualityExpression),Nt=e(v.parseExpression),Ft=e(v.parseForVariableDeclaration),Yt=e(v.parseFunctionDeclaration),Zt=e(v.parseFunctionExpression),lt=e(lt),Et=e(v.parseLogicalANDExpression),St=e(v.parseLogicalORExpression),pt=e(v.parseMultiplicativeExpression),at=e(v.parseNewExpression),st=e(v.parseNonComputedProperty),et=e(v.parseObjectProperty),Z=e(v.parseObjectPropertyKey),ct=e(v.parsePostfixExpression),rt=e(v.parsePrimaryExpression),nn=e(v.parseProgram),Y=e(v.parsePropertyFunction),mt=e(v.parseRelationalExpression),Qt=e(v.parseStatement),vt=e(v.parseShiftExpression),Wt=e(v.parseSwitchCase),ht=e(v.parseUnaryExpression),At=e(v.parseVariableDeclaration),Lt=e(v.parseVariableIdentifier);typeof v.tokens!="undefined"&&(v.advance=j,v.scanRegExp=H,j=un,H=an)}function bn(){typeof v.skipComment=="function"&&(A=v.skipComment),v.raw&&(ln=v.createLiteral);if(v.range||v.loc)dt=v.parseAdditiveExpression,Tt=v.parseAssignmentExpression,yt=v.parseBitwiseANDExpression,wt=v.parseBitwiseORExpression,bt=v.parseBitwiseXORExpression,kt=v.parseBlock,Gt=v.parseFunctionSourceElements,$t=v.parseCatchClause,ut=v.parseComputedMember,xt=v.parseConditionalExpression,_t=v.parseConstLetDeclaration,gt=v.parseEqualityExpression,Nt=v.parseExpression,Ft=v.parseForVariableDeclaration,Yt=v.parseFunctionDeclaration,Zt=v.parseFunctionExpression,nt=v.parseGroupExpression,lt=v.parseLeftHandSideExpression,ft=v.parseLeftHandSideExpressionAllowCall,Et=v.parseLogicalANDExpression,St=v.parseLogicalORExpression,pt=v.parseMultiplicativeExpression,at=v.parseNewExpression,st=v.parseNonComputedProperty,et=v.parseObjectProperty,Z=v.parseObjectPropertyKey,rt=v.parsePrimaryExpression,ct=v.parsePostfixExpression,nn=v.parseProgram,Y=v.parsePropertyFunction,mt=v.parseRelationalExpression,Qt=v.parseStatement,vt=v.parseShiftExpression,Wt=v.parseSwitchCase,ht=v.parseUnaryExpression,At=v.parseVariableDeclaration,Lt=v.parseVariableIdentifier;typeof v.scanRegExp=="function"&&(j=v.advance,H=v.scanRegExp)}function wn(e){var t=e.length,n=[],r;for(r=0;r<t;++r)n[r]=e.charAt(r);return n}function En(e,t){var n,r;r=String,typeof e!="string"&&!(e instanceof String)&&(e=r(e)),u=e,f=0,l=u.length>0?1:0,c=0,h=u.length,p=null,d={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1},v={},typeof t!="undefined"&&(v.range=typeof t.range=="boolean"&&t.range,v.loc=typeof t.loc=="boolean"&&t.loc,v.raw=typeof t.raw=="boolean"&&t.raw,typeof t.tokens=="boolean"&&t.tokens&&(v.tokens=[]),typeof t.comment=="boolean"&&t.comment&&(v.comments=[]),typeof t.tolerant=="boolean"&&t.tolerant&&(v.errors=[])),h>0&&typeof u[0]=="undefined"&&(e instanceof String&&(u=e.valueOf()),typeof u[0]=="undefined"&&(u=wn(e))),yn();try{n=nn(),typeof v.comments!="undefined"&&(on(),n.comments=v.comments),typeof v.tokens!="undefined"&&(fn(),n.tokens=v.tokens),typeof v.errors!="undefined"&&(n.errors=v.errors);if(v.range||v.loc)n.body=mn(n.body)}catch(i){throw i}finally{bn(),v={}}return n}var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v;t={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},n={},n[t.BooleanLiteral]="Boolean",n[t.EOF]="<end>",n[t.Identifier]="Identifier",n[t.Keyword]="Keyword",n[t.NullLiteral]="Null",n[t.NumericLiteral]="Numeric",n[t.Punctuator]="Punctuator",n[t.StringLiteral]="String",r={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},i={Data:1,Get:2,Set:4},s={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},o={NonAsciiIdentifierStart:new RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]"),NonAsciiIdentifierPart:new RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]")},typeof "esprima"[0]=="undefined"&&(g=function(t,n){return u.slice(t,n).join("")}),e.version="1.0.1",e.parse=En,e.Syntax=function(){var e,t={};typeof Object.create=="function"&&(t=Object.create(null));for(e in r)r.hasOwnProperty(e)&&(t[e]=r[e]);return typeof Object.freeze=="function"&&Object.freeze(t),t}()}),function(){function h(e,t,n){if(e.addEventListener){e.addEventListener(t,n,!1);return}e.attachEvent("on"+t,n)}function p(n){return n.type=="keypress"?String.fromCharCode(n.which):e[n.which]?e[n.which]:t[n.which]?t[n.which]:String.fromCharCode(n.which).toLowerCase()}function d(e,t){return e
|
1045
|
-
.sort().join(",")===t.sort().join(",")}function v(e,t){e=e||{};var n=!1,r;for(r in u){if(e[r]&&u[r]>t){n=!0;continue}u[r]=0}n||(l=!1)}function m(e,t,n,r,i){var o,a,f=[],l=n.type;if(!s[e])return[];l=="keyup"&&E(e)&&(t=[e]);for(o=0;o<s[e].length;++o){a=s[e][o];if(a.seq&&u[a.seq]!=a.level)continue;if(l!=a.action)continue;if(l=="keypress"&&!n.metaKey&&!n.ctrlKey||d(t,a.modifiers))r&&a.combo==i&&s[e].splice(o,1),f.push(a)}return f}function g(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function y(e,t,n){if(L.stopCallback(t,t.target||t.srcElement,n))return;e(t,n)===!1&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.returnValue=!1,t.cancelBubble=!0)}function b(e,t){var n=m(e,g(t),t),r,i={},s=0,o=!1;for(r=0;r<n.length;++r){if(n[r].seq){o=!0,s=Math.max(s,n[r].level),i[n[r].seq]=1,y(n[r].callback,t,n[r].combo);continue}!o&&!l&&y(n[r].callback,t,n[r].combo)}t.type==l&&!E(e)&&v(i,s)}function w(e){typeof e.which!="number"&&(e.which=e.keyCode);var t=p(e);if(!t)return;if(e.type=="keyup"&&f==t){f=!1;return}b(t,e)}function E(e){return e=="shift"||e=="ctrl"||e=="alt"||e=="meta"}function S(){clearTimeout(a),a=setTimeout(v,1e3)}function x(){if(!i){i={};for(var t in e){if(t>95&&t<112)continue;e.hasOwnProperty(t)&&(i[e[t]]=t)}}return i}function T(e,t,n){return n||(n=x()[e]?"keydown":"keypress"),n=="keypress"&&t.length&&(n="keydown"),n}function N(e,t,n,r){u[e]=0,r||(r=T(t[0],[]));var i=function(t){l=r,++u[e],S()},s=function(t){y(n,t,e),r!=="keyup"&&(f=p(t)),setTimeout(v,10)},o;for(o=0;o<t.length;++o)C(t[o],o<t.length-1?i:s,r,e,o)}function C(e,t,i,u,a){o[e+":"+i]=t,e=e.replace(/\s+/g," ");var f=e.split(" "),l,c,h,p=[];if(f.length>1){N(e,f,t,i);return}h=e==="+"?["+"]:e.split("+");for(l=0;l<h.length;++l)c=h[l],r[c]&&(c=r[c]),i&&i!="keypress"&&n[c]&&(c=n[c],p.push("shift")),E(c)&&p.push(c);i=T(c,p,i),s[c]||(s[c]=[]),m(c,p,{type:i},!u,e),s[c][u?"unshift":"push"]({callback:t,modifiers:p,action:i,seq:u,level:a,combo:e})}function k(e,t,n){for(var r=0;r<e.length;++r)C(e[r],t,n)}var e={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},t={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},n={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},r={option:"alt",command:"meta","return":"enter",escape:"esc"},i,s={},o={},u={},a,f=!1,l=!1;for(var c=1;c<20;++c)e[111+c]="f"+c;for(c=0;c<=9;++c)e[c+96]=c;h(document,"keypress",w),h(document,"keydown",w),h(document,"keyup",w);var L={bind:function(e,t,n){return e=e instanceof Array?e:[e],k(e,t,n),this},unbind:function(e,t){return L.bind(e,function(){},t)},trigger:function(e,t){return o[e+":"+t]&&o[e+":"+t](),this},reset:function(){return s={},o={},this},stopCallback:function(e,t,n){return(" "+t.className+" ").indexOf(" mousetrap ")>-1?!1:t.tagName=="INPUT"||t.tagName=="SELECT"||t.tagName=="TEXTAREA"||t.contentEditable&&t.contentEditable=="true"}};window.Mousetrap=L,typeof define=="function"&&define.amd&&define(L)}();var Hogan={};(function(e,t){function n(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function r(e,t,n,r){function i(){}function s(){}i.prototype=e,s.prototype=e.subs;var o,u=new i;u.subs=new s,u.subsText={},u.ib();for(o in t)u.subs[o]=t[o],u.subsText[o]=r;for(o in n)u.partials[o]=n[o];return u}function l(e){return String(e===null||e===undefined?"":e)}function c(e){return e=l(e),f.test(e)?e.replace(i,"&").replace(s,"<").replace(o,">").replace(u,"'").replace(a,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.ib()},e.Template.prototype={r:function(e,t,n){return""},v:c,t:l,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],i=t[n.name];if(n.instance&&n.base==i)return n.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}return i?(this.partials[e].base=i,n.subs&&(this.activeSub===undefined&&(t.stackText=this.text),i=r(i,n.subs,n.partials,t.stackText||this.text)),this.partials[e].instance=i,i):null},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!h(r)){n(e,t,this);return}for(var i=0;i<r.length;i++)e.push(r[i]),n(e,t,this),e.pop()},s:function(e,t,n,r,i,s,o){var u;return h(e)&&e.length===0?!1:(typeof e=="function"&&(e=this.ms(e,t,n,r,i,s,o)),u=!!e,!r&&u&&t&&t.push(typeof e=="object"?e:t[t.length-1]),u)},d:function(e,t,r,i){var s,o=e.split("."),u=this.f(o[0],t,r,i),a=this.options.modelGet,f=null;if(e==="."&&h(t[t.length-2]))u=t[t.length-1];else for(var l=1;l<o.length;l++)s=n(o[l],u,a),s!=null?(f=u,u=s):u="";return i&&!u?!1:(!i&&typeof u=="function"&&(t.push(f),u=this.mv(u,t,r),t.pop()),u)},f:function(e,t,r,i){var s=!1,o=null,u=!1,a=this.options.modelGet;for(var f=t.length-1;f>=0;f--){o=t[f],s=n(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,t,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(l(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:t?function(e){this.buf.push(e)}:function(e){this.buf+=e},fl:t?function(){var e=this.buf.join("");return this.buf=[],e}:function(){var e=this.buf;return this.buf="",e},ib:function(){this.buf=t?[]:""},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(l(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var i=/&/g,s=/</g,o=/>/g,u=/\'/g,a=/\"/g,f=/[&<>\"\']/,h=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),jQuery.tablesorter.addParser({id:"size",is:function(e){return e.trim().match(/^\d+(\.\d+)? (Bytes|KB|MB|GB|TB|PB)$/)},format:function(e){var t=["Bytes","KB","MB","GB","TB","PB"],n=e.trim().split(" ");return parseFloat(n.shift())*Math.pow(1024,_.indexOf(t,n.shift()))},type:"numeric"}),window.Genghis={Models:{},Collections:{},Views:{},Templates:{},defaults:{codeMirror:{mode:"application/json",lineNumbers:!0,tabSize:4,indentUnit:4,matchBrackets:!0}},boot:function(e){e+=e.charAt(e.length-1)=="/"?"":"/",window.app=new Genghis.Views.App({baseUrl:e}),Backbone.history.start({pushState:!0,root:e})}},Genghis.version="2.2.2",Genghis.Templates.Alert=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="alert'),r.s(r.f("block",e,t,1),e,t,0,29,41,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" alert-block")}),e.pop()),r.b(" alert-"),r.b(r.v(r.f("level",e,t,0))),r.b('">'),r.b("\n"+n),r.b(' <a class="close" href="#">×</a>'),r.b("\n"+n),r.s(r.f("block",e,t,1),e,t,0,132,164,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <p>"),n.b(n.t(n.f("msg",e,t,0))),n.b("</p>"),n.b("\n")}),e.pop()),r.s(r.f("block",e,t,1),e,t,1,0,0,"")||(r.b(" "),r.b(r.t(r.f("msg",e,t,0))),r.b("\n")),r.b("</div>"),r.fl()}}),Genghis.Templates.CollectionRow=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<td>"),r.b("\n"+n),r.b(' <a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('" class="name value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="documents value">'),r.b(r.v(r.f("count",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="indexes has-details value">'),r.b(r.v(r.f("indexCount",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="'),r.b(r.v(r.f("indexCount",e,t,0))),r.b(" Index"),r.s(r.f("indexesIsPlural",e,t,1),e,t,0,282,284,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("es")}),e.pop()),r.b('">'),r.b("\n"+n),r.s(r.f("indexCount",e,t,1),e,t,0,334,501,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <ul class="index-details">'),r.b("\n"+n),r.s(r.f("indexes",e,t,1),e,t,0,404,460,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>"),n.b(n.t(n.d(".",e,t,0))),n.b("</li>"),n.b("\n")}),e.pop()),r.b(" </ul>"),r.b("\n")}),e.pop()),r.s(r.f("indexCount",e,t,1),e,t,1,0,0,"")||(r.b(" <em>None.</em>"),r.b("\n")),r.b(" </div>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b('<td class="action-column">'),r.b("\n"+n),r.b(' <button class="btn btn-mini btn-danger destroy">Remove</button>'),r.b("\n"+n),r.b("</td>"),r.b("\n"),r.fl()}}),Genghis.Templates.Collections=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>"),r.b(r.v(r.f("title",e,t,0))),r.b("</h2></header>"),r.b("\n"+n),r.b('<div class="content">'),r.b("\n"+n),r.b(" <table>"),r.b("\n"+n),r.b(" <thead>"),r.b("\n"+n),r.b(" <tr>"),r.b("\n"+n),r.b(" <th>name</th>"),r.b("\n"+n),r.b(" <th>documents</th>"),r.b("\n"+n),r.b(" <th>indexes</th>"),r.b("\n"+n),r.b(" <th></th>"),r.b("\n"+n),r.b(" </tr>"),r.b("\n"+n),r.b(" </thead>"),r.b("\n"+n),r.b(" <tbody>"),r.b("\n"+n),r.b(" </tbody>"),r.b("\n"+n),r.b(" </table>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="add-form inactive form-horizontal">'),r.b("\n"+n),r.b(' <input class="name span4" type="text" size="30">'),r.b("\n"+n),r.b(' <div class="btn-group">'),r.b("\n"+n),r.b(' <button class="show btn">Add collection</button>'),r.b("\n"+n),r.b(' <button class="btn dropdown-toggle" data-toggle="dropdown">'),r.b("\n"+n),r.b(' <span class="caret"></span>'),r.b("\n"+n),r.b(" </button>"),r.b("\n"+n),r.b(' <ul class="dropdown-menu">'),r.b("\n"+n),r.b(' <li><a class="show" href="#">Add collection</a></li>'),r.b("\n"+n),r.b(' <li><a class="show show-gridfs" href="#">Add GridFS collection</a></li>'),r.b("\n"+n),r.b(" </ul>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("\n"+n),r.b(' <button class="add btn btn-primary">Add collection</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Confirm=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.s(r.f("header",e,t,1),e,t,0,13,148,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <button class="dismiss close" aria-hidden="true">×</button>'),r.b("\n"+n),r.b(" <h3>"),r.b(r.v(r.f("header",e,t,0))),r.b("</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n")}),e.pop()),r.b("\n"+n),r.b('<div class="modal-body">'),r.b("\n"+n),r.s(r.f("body",e,t,1),e,t,0,201,228,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <p>"),n.b(n.t(n.f("body",e,t,0))),n.b("</p>"),n.b("\n")}),e.pop()),r.s(r.f("confirmInput",e,t,1),e,t,0,261,333,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <div>"),r.b("\n"+n),r.b(' <input type="text" class="confirm-input">'),r.b("\n"+n),r.b(" </div>"),r.b("\n")}),e.pop()),r.b("</div>"),r.b("\n"+n),r.b("\n"+n),r.b("\n"+n),r.b('<div class="modal-footer">'),r.b("\n"+n),r.b(' <button class="dismiss btn" aria-hidden="true">'),r.b(r.v(r.f("dismissText",e,t,0))),r.b("</button>"),r.b("\n"+n),r.b(' <button class="confirm btn btn-primary"'),r.s(r.f("confirmInput",e,t,1),e,t,0,525,534,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" disabled")}),e.pop()),r.b(">"),r.b(r.t(r.f("confirmText",e,t,0))),r.b("</button>"),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.DatabaseRow=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<td>"),r.b("\n"+n),r.b(' <a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('" class="name value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="collections has-details value">'),r.b(r.v(r.f("count",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="'),r.b(r.v(r.f("count",e,t,0))),r.b(" Collection"),r.s(r.f("isPlural",e,t,1),e,t,0,210,211,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("s")}),e.pop()),r.b('">'),r.b("\n"+n),r.s(r.f("count",e,t,1),e,t,0,249,520,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <ul>"),r.b("\n"+n),r.s(r.f("firstChildren",e,t,1),e,t,0,303,357,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>"),n.b(n.v(n.d(".",e,t,0))),n.b("</li>"),n.b("\n")}),e.pop()),r.s(r.f("hasMoreChildren",e,t,1),e,t,0,416,471,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>…</li>"),n.b("\n")}),e.pop()),r.b(" </ul>"),r.b("\n")}),e.pop()),r.s(r.f("count",e,t,1),e,t,1,0,0,"")||(r.b(" <em>None.</em>"),r.b("\n")),r.b(" </div>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="size value">'),r.b(r.v(r.f("humanSize",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b('<td class="action-column">'),r.b("\n"+n),r.b(' <button class="btn btn-mini btn-danger destroy">Remove</button>'),r.b("\n"+n),r.b("</td>"),r.fl()}}),Genghis.Templates.Databases=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>"),r.b(r.v(r.f("title",e,t,0))),r.b("</h2></header>"),r.b("\n"+n),r.b('<div class="content">'),r.b("\n"+n),r.b(" <table>"),r.b("\n"+n),r.b(" <thead>"),r.b("\n"+n),r.b(" <tr>"),r.b("\n"+n),r.b(" <th>name</th>"),r.b("\n"+n),r.b(" <th>collections</th>"),r.b("\n"+n),r.b(" <th>size</th>"),r.b("\n"+n),r.b(" <th></th>"),r.b("\n"+n),r.b(" </tr>"),r.b("\n"+n),r.b(" </thead>"),r.b("\n"+n),r.b(" <tbody>"),r.b("\n"+n),r.b(" </tbody>"),r.b("\n"+n),r.b(" </table>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="add-form inactive form-horizontal">'),r.b("\n"+n),r.b(' <input class="name span4" type="text" size="30">'),r.b("\n"+n),r.b(' <button class="show btn">Add database</button>'),r.b("\n"+n),r.b(' <button class="add btn btn-primary">Add database</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Document=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header>"),r.b("\n"+n),r.b(" <h2>"),r.b("\n"+n),r.b(" "),r.b(r.v(r.d("model.prettyId",e,t,0))),r.b("\n"+n),r.s(r.d("model.prettyTime",e,t,1),e,t,0,78,184,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <small><time datetime="'),n.b(n.v(n.d("model.prettyTime",e,t,0))),n.b('">'),n.b(n.v(n.d("model.prettyTime",e,t,0))),n.b("</time></small>"),n.b("\n")}),e.pop()),r.b(" </h2>"),r.b("\n"+n),r.b("</header>"),r.b("\n"+n),r.b('<div class="content document-wrapper"></div>'),r.fl()}}),Genghis.Templates.DocumentView=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="well">'),r.b("\n"+n),r.b(' <div class="document-actions">'),r.b("\n"+n),r.s(r.f("isGridFile",e,t,1),e,t,0,79,189,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <a class="btn btn-small btn-primary grid-download" href="'),n.b(n.v(n.f("downloadUrl",e,t,0))),n.b('">Download</a>'),n.b("\n")}),e.pop()),r.s(r.f("isGridChunk",e,t,1),e,t,0,233,324,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <a class="btn btn-small grid-file" href="'),n.b(n.v(n.f("fileUrl",e,t,0))),n.b('">Grid File</a>'),n.b("\n")}),e.pop()),r.b(' <button class="btn btn-small btn-primary save">Save</button>'),r.b("\n"+n),r.b(' <button class="btn btn-small cancel">Cancel</button>'),r.b("\n"+n),r.b(' <button class="btn btn-small edit">Edit</button>'),r.b("\n"+n),r.b(' <button class="btn btn-small btn-danger destroy">Delete</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h3>"),r.b("\n"+n),r.b(' <a class="id" href="'),r.b(r.v(r.f("url",e,t,0))),r.b('">'),r.b(r.v(r.f("prettyId",e,t,0))),r.b("</a>"),r.b("\n"+n),r.s(r.f("prettyTime",e,t,1),e,t,0,707,801,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <small><time datetime="'),n.b(n.v(n.f("prettyTime",e,t,0))),n.b('">'),n.b(n.v(n.f("prettyTime",e,t,0))),n.b("</time></small>"),n.b("\n")}),e.pop()),r.b(" </h3>"),r.b("\n"+n),r.b("\n"+n),r.b(' <div class="document"></div>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Documents=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>Documents</h2></header>"),r.b("\n"+n),r.b('<div class="controls">'),r.b("\n"+n),r.b(' <button class="add-document btn btn-large">Add document</button>'),r.b("\n"+n),r.b(' <div class="pagination-wrapper top"></div>'),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="content document-wrapper"></div>'),r.b("\n"+n),r.b('<div class="controls">'),r.b("\n"+n),r.b(' <button class="add-document btn btn-large">Add document</button>'),r.b("\n"+n),r.b(' <div class="pagination-wrapper top"></div>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.KeyboardShortcuts=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div id="keyboard-shortcuts" class="modal">'),r.b("\n"+n),r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <a href="#" class="close">×</a>'),r.b("\n"+n),r.b(" <h3>Keyboard shortcuts</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-body">'),r.b("\n"+n),r.b(" <ul>"),r.b("\n"+n),r.b(" <li>"),r.b("\n"+n),r.b(" <h4>Global</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>?</kbd></dt>"),r.b("\n"+n),r.b(" <dd>This cheat sheet</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>s</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Go to servers</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>u</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Go up one level</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h4>Servers</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New server</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h4>Databases</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New database</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b(" <li>"),r.b("\n"+n),r.b(" <h4>Collections</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New collection</dd>"),r.b("\n"+n),r.b(" <dt><kbd>shift</kbd> + <kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New GridFS collection</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h4>Documents</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>/</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Search</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New document</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>n</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Next page</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>p</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Previous page</dd>"),r.b("\n"+n),r.b("\n"+n),r.b("<!--"),r.b("\n"+n),r.b(" <dt><kbd>-</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Collapse all</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>+</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Expand all</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>Alt+1</kbd> – <kbd>Alt+9</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Expand to depth</dd>"),r.b("\n"+n),r.b("-->"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b(" </ul>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Masthead=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="container">'),r.b("\n"+n),r.b(" "),r.s(r.f("heading",e,t,1),e,t,0,42,64,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("<h1>"),n.b(n.v(n.f("heading",e,t,0))),n.b("</h1>")}),e.pop()),r.b("\n"+n),r.b(" "),r.b(r.t(r.f("content",e,t,0))),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Nav=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<ul class="nav">'),r.b("\n"+n),r.b(' <li class="nav-section servers"><a class="btn-servers" href="'),r.b(r.v(r.f("baseUrl",e,t,0))),r.b('">Servers</a></li>'),r.b("\n"+n),r.b(' <li class="nav-section dropdown server"></li>'),r.b("\n"+n),r.b(' <li class="nav-section dropdown database"></li>'),r.b("\n"+n),r.b(' <li class="nav-section dropdown collection"></li>'),r.b("\n"+n),r.b("</ul>"),r.b("\n"),r.fl()}}),Genghis.Templates.NavSection=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<a href="#" class="dropdown-toggle" data-toggle="dropdown">'),r.b(r.v(r.f("id",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b('<ul class="dropdown-menu"></ul>'),r.b("\n"),r.fl()}}),Genghis.Templates.NavSectionMenu=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.s(r.d("collection.firstChildren",e,t,1),e,t,0,31,130,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <li><a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('">'),r.b("\n"+n),r.b(" "),r.b(r.v(r.f("id",e,t,0))),r.b("\n"+n),r.b(" <span>"),r.b(r.v(r.f("humanCount",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(" </a></li>"),r.b("\n")}),e.pop()),r.s(r.d("collection.hasMoreChildren",e,t,1),e,t,0,195,287,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <li class="divider"></li>'),r.b("\n"+n),r.b(' <li><a href="'),r.b(r.v(r.d("collection.url",e,t,0))),r.b('">More »</a></li>'),r.b("\n")}),e.pop()),r.fl()}}),Genghis.Templates.NewDocument=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div id="new-document" class="modal modal-editor">'),r.b("\n"+n),r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <a class="close" data-dismiss="modal">×</a>'),r.b("\n"+n),r.b(" <h3>New Document</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-body">'),r.b("\n"+n),r.b(' <div class="wrapper">'),r.b("\n"+n),r.b(' <div id="editor-new" class="genghis-document-editor"></div>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-footer">'),r.b("\n"+n),r.b(' <button class="btn cancel">Cancel</button>'),r.b("\n"+n),r.b(' <button class="btn btn-primary save">Save</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.NewGridFile=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div id="new-grid-file" class="modal modal-file-upload">'),r.b("\n"+n),r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <a class="close" data-dismiss="modal">×</a>'),r.b("\n"+n),r.b(" <h3>Upload File</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-body">'),r.b("\n"+n),r.b(' <div class="wrapper">'),r.b("\n"+n),r.b(' <div id="editor-upload" class="genghis-document-editor"></div>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-footer">'),r.b("\n"+n),r.b(' <button class="btn cancel">Cancel</button>'),r.b("\n"+n),r.b(' <button class="btn btn-primary save">Upload</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Pagination=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="pagination pagination-right">'),r.b("\n"+n),r.b(" <ul>"),r.b("\n"+n),r.b(' <li class="prev'),r.s(r.f("isFirst",e,t,1),e,t,0,82,91,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" disabled")}),e.pop()),r.b('">'),r.b("\n"+n),r.b(" <a"),r.s(r.f("isFirst",e,t,1),e,t,1,0,0,"")||(r.b(' href="'),r.b(r.v(r.f("prevUrl",e,t,0))),r.b('"')),r.b(">←</a>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b("\n"+n),r.s(r.f("isStart",e,t,1),e,t,1,0,0,"")||(r.b(' <li class="first"><a href="'),r.b(r.v(r.f("firstUrl",e,t,0))),r.b('">1</a></li>'),r.b("\n"+n),r.b(' <li class="disabled"><a>…</a></li>'),r.b("\n")),r.b("\n"+n),r.b("\n"+n),r.s(r.f("pageUrls",e,t,1),e,t,0,361,460,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li"),n.s(n.f("active",e,t,1),e,t,0,386,401,"{{ }}")&&(n.rs(e,t,function(e,t,n){n.b(' class="active"')}),e.pop()),n.b('><a href="'),n.b(n.v(n.f("url",e,t,0))),n.b('">'),n.b(n.v(n.f("index",e,t,0))),n.b("</a></li>"),n.b("\n")}),e.pop()),r.b("\n"+n),r.s(r.f("isEnd",e,t,1),e,t,1,0,0,"")||(r.b(' <li class="disabled"><a>…</a></li>'),r.b("\n"+n),r.b(' <li class="last"><a href="'),r.b(r.v(r.f("lastUrl",e,t,0))),r.b('">'),r.b(r.v(r.f("last",e,t,0))),r.b("</a></li>"),r.b("\n")),r.b("\n"+n),r.b(' <li class="next'),r.s(r.f("isLast",e,t,1),e,t,0,663,672,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" disabled")}),e.pop()),r.b('">'),r.b("\n"+n),r.b(" <a"),r.s(r.f("isLast",e,t,1),e,t,1,0,0,"")||(r.b(' href="'),r.b(r.v(r.f("nextUrl",e,t,0))),r.b('"')),r.b(">→</a>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b(" </ul>"),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Search=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<input id="navbar-query" class="search-query" name="q" type="text" value="'),r.b(r.v(r.f("query",e,t,0))),r.b('" />'),r.b("\n"+n),r.b('<div class="search-advanced">'),r.b("\n"+n),r.b(' <div class="well"></div>'),r.b("\n"+n),r.b(' <div class="form-actions">'),r.b("\n"+n),r.b(' <button class="search btn btn-primary">Search</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<span class="grippie"></span>'),r.b("\n"),r.fl()}}),Genghis.Templates.ServerRow=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.s(r.f("error",e,t,1),e,t,0,12,167,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <td colspan="3">'),r.b("\n"+n),r.b(' <span class="value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <span class="label label-important" title="'),r.b(r.v(r.f("error",e,t,0))),r.b('">Error</span>'),r.b("\n"+n),r.b(" </td>"),r.b("\n")}),e.pop()),r.s(r.f("error",e,t,1),e,t,1,0,0,"")||(r.b(" <td>"),r.b("\n"+n),r.b(' <a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('" class="name value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b(" </td>"),r.b("\n"+n),r.b(" <td>"),r.b("\n"+n),r.b(' <span class="databases has-details value">'),r.b(r.v(r.f("count",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="'),r.b(r.v(r.f("count",e,t,0))),r.b(" Database"),r.s(r.f("isPlural",e,t,1),e,t,0,423,424,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("s")}),e.pop()),r.b('">'),r.b("\n"+n),r.s(r.f("count",e,t,1),e,t,0,466,773,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <ul>"),r.b("\n"+n),r.s(r.f("firstChildren",e,t,1),e,t,0,528,590,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>"),n.b(n.v(n.d(".",e,t,0))),n.b("</li>"),n.b("\n")}),e.pop()),r.s(r.f("hasMoreChildren",e,t,1),e,t,0,653,716,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>…</li>"),n.b("\n")}),e.pop()),r.b(" </ul>"),r.b("\n")}),e.pop()),r.s(r.f("count",e,t,1),e,t,1,0,0,"")||(r.b(" <em>None.</em>"),r.b("\n")),r.b(" </div>"),r.b("\n"+n),r.b(" </td>"),r.b("\n"+n),r.b(" <td>"),r.b("\n"+n),r.b(' <span class="size value">'),r.b(r.v(r.f("humanSize",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(" </td>"),r.b("\n")),r.b('<td class="action-column">'),r.b("\n"+n),r.b(" "),r.s(r.f("editable",e,t,1),e,t,0,1026,1089,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b('<button class="btn btn-mini btn-danger destroy">Remove</button>')}),e.pop()),r.b("\n"+n),r.b("</td>"),r.b("\n"),r.fl()}}),Genghis.Templates.Servers=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>Servers</h2></header>"),r.b("\n"+n),r.b('<div class="content">'),r.b("\n"+n),r.b(" <table>"),r.b("\n"+n),r.b(" <thead>"),r.b("\n"+n),r.b(" <tr>"),r.b("\n"+n),r.b(" <th>name</th>"),r.b("\n"+n),r.b(" <th>databases</th>"),r.b("\n"+n),r.b(" <th>size</th>"),r.b("\n"+n),r.b(" <th></th>"),r.b("\n"+n),r.b(" </tr>"),r.b("\n"+n),r.b(" </thead>"),r.b("\n"+n),r.b(" <tbody>"),r.b("\n"+n),r.b(" </tbody>"),r.b("\n"+n),r.b(" </table>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="add-form inactive form-horizontal">'),r.b("\n"+n),r.b(' <span class="input-append">'),r.b("\n"+n),r.b(' <input class="name span4" type="text" size="30"><span class="add-on help" title="user:pass@localhost:27017">?</span>'),r.b("\n"+n),r.b(" </span>"),r.b("\n"+n),r.b(' <button class="show btn">Add server</button>'),r.b("\n"+n),r.b(' <button class="add btn btn-primary">Add server</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Welcome=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<h2>Welcome to</h2>"),r.b("\n"+n),r.b("<h1>Genghis</h1>"),r.b("\n"+n),r.b("<p>The single-file MongoDB admin app.</p>"),r.b("\n"+n),r.b('<ul class="welcome-links">'),r.b("\n"+n),r.b(' <li><a href="http://genghisapp.com">Homepage</a></li>'),r.b("\n"+n),r.b(' <li><a href="https://github.com/bobthecow/genghis/issues">Issues</a></li>'),r.b("\n"+n),r.b(" <li>Version "),r.b(r.v(r.f("version",e,t,0))),r.b("</li>"),r.b("\n"+n),r.b("</ul>"),r.fl()}}),Genghis.Util={route:function(e){return e.replace(app.baseUrl,"").replace(/^\//,"")},parseQuery:function(e){var t={};return e.length&&_.each(e.split("&"),function(e){var n=e.split("="),r=n.shift();t[r]=decodeURIComponent(n.join("="))}),t},buildQuery:function(e){return _.map(e,function(e,t){return t+"="+e}).join("&")},humanizeSize:function(e){if(e==-0)return"n/a";var t=["Bytes","KB","MB","GB","TB","PB"],n=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10);return(n===0?e/Math.pow(1024,n):(e/Math.pow(1024,n)).toFixed(1))+" "+t[n]},humanizeCount:function(e){var t="";return e=e||0,e>1e3&&(e=Math.floor(e/1e3),t=" k"),e>1e3&&(e=Math.floor(e/1e3),t=" M"),e>1e3?"...":e+t},escape:function(e){if(e)return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")},attachCollapsers:function(e){$(".document",e).on("click","button,span.e",function(e){var t=$(this).parent(),n=t.children(".v"),r=/^\s*(name|title)\s*/i,i=n.hasClass("o"),s="",o,u;t.children(".e").length||(i&&(u=$(_.detect(n.find("> span.p > var"),function(e){return r.test($(e).text())})).siblings("span.v"),u.length===0&&(u=$(_.detect(n.find("> span.p > span.v"),function(e){var t=$(e);return t.hasClass("n")||t.hasClass("b")||t.hasClass("q")&&t.text().length<64}))),u&&u.length&&(o=u.siblings("var").text(),s=(o?o+": ":"")+Genghis.Util.escape(u.text()))),t.append('<span class="e">'+(i?"{":"[")+" <q>"+s+" …</q> "+(i?"}":"]")+"</span>")),t.toggleClass("collapsed"),e.preventDefault()})},base64Encode:function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n=e.length,r="";for(var i=0;i<n;i+=3){var s=[e.charCodeAt(i),e.charCodeAt(i+1),e.charCodeAt(i+2)],o=[s[0]>>2,(s[0]&3)<<4|s[1]>>4,(s[1]&15)<<2|s[2]>>6,s[2]&63];isNaN(s[1])&&(o[2]=64),isNaN(s[2])&&(o[3]=64),r+=t[o[0]]+t[o[1]]+t[o[2]]+t[o[3]]}return r},base64Decode:function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n=e.length,r="",i,s,o,u,a,f,l;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");var c=0;while(c<n)u=t.indexOf(e.charAt(c++)),a=t.indexOf(e.charAt(c++)),f=t.indexOf(e.charAt(c++)),l=t.indexOf(e.charAt(c++)),i=u<<2|a>>4,s=(a&15)<<4|f>>2,o=(f&3)<<6|l,r+=String.fromCharCode(i),f!=64&&(r+=String.fromCharCode(s)),l!=64&&(r+=String.fromCharCode(o));return r},base64ToHex
|
1046
|
-
:function(e){var t=[],n=atob(e.replace(/[=\s]+$/,"")),r=n.length;for(var i=0;i<r;++i){var s=n.charCodeAt(i).toString(16);t.push(s.length===1?"0"+s:s)}return t.join("")},download:function(){var e;return function(t){e||(e=$("<iframe>",{id:"genghis-util-download"}).hide().appendTo("body")),e.attr("src",t)}}()},Genghis.JSON={parse:function(src){function addError(e,t){t.error||(error=new Error(e),error.loc=t.loc,error.node=t,t.error=error,errors.push(error))}function throwErrors(e){var t=new Error(""+e.length+" parse error"+(e.length===1?"":"s"));throw t.errors=e,t}function replaceCallExpression(src){function ObjectId(e){return{$genghisType:"ObjectId",$value:e?e.toString():null}}function GenghisDate(e){return{$genghisType:"ISODate",$value:e?(new Date(e)).toString():null}}function ISODate(e){if(!e)return new GenghisDate;var t=/(\d{4})-?(\d{2})-?(\d{2})([T ](\d{2})(:?(\d{2})(:?(\d{2}(\.\d+)?))?)?(Z|([+\-])(\d{2}):?(\d{2})?)?)?/,n=t.exec(e);if(!n)throw"Invalid ISO date";var r=parseInt(n[1],10)||1970,i=(parseInt(n[2],10)||1)-1,s=parseInt(n[3],10)||0,o=parseInt(n[5],10)||0,u=parseInt(n[7],10)||0,a=parseFloat(n[9])||0,f=Math.round(a%1*1e3);a-=f/1e3;var l=Date.UTC(r,i,s,o,u,a,f);if(n[11]&&n[11]!="Z"){var c=0;c+=(parseInt(n[13],10)||0)*60*60*1e3,c+=(parseInt(n[14],10)||0)*60*1e3,n[12]=="+"&&(c*=-1),l+=c}return new GenghisDate(l)}function DBRef(e,t){return{$ref:e,$id:t}}function GenghisRegExp(e,t){return{$genghisType:"RegExp",$value:{$pattern:e?e.toString():null,$flags:t?t.toString():null}}}function BinData(e,t){return{$genghisType:"BinData",$value:{$subtype:e,$binary:t}}}return src=src.replace(/^\s*(new\s+)?(Date|RegExp)(\b)/,"$1Genghis$2$3"),JSON.stringify(eval(src))}function replaceRegExpLiteral(e){var t="";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),replaceCallExpression("GenghisRegExp("+JSON.stringify(e.source)+', "'+t+'")')}function insertHelpers(e){function n(t){chunks[e.range[0]]=t;for(var n=e.range[0]+1;n<e.range[1];n++)chunks[n]=""}if(!e.range)return;e.source=function(){return chunks.slice(e.range[0],e.range[1]).join("")};if(e.update&&_.isObject(e.update)){var t=e.update;Object.keys(t).forEach(function(e){n[e]=t[e]}),e.update=n}else e.update=n}function assertType(e,t){t.type!==e&&addError("Expecting "+e+" but found "+t.type,t)}typeof src!="string"&&(src=String(src)),src="var __genghis_json__ = "+src;var opts={loc:!0,raw:!0,tokens:!0,tolerant:!0,range:!0},allowedCalls={ObjectId:!0,Date:!0,ISODate:!0,DBRef:!0,RegExp:!0,BinData:!0},allowedPropertyValues={Literal:!0,ObjectExpression:!0,ArrayExpression:!0,NewExpression:!0,CallExpression:!0,UnaryExpression:!0},errors=[],chunks=src.split(""),ast;try{ast=esprima.parse(src,opts)}catch(e){throwErrors([e])}ast.errors.length&&throwErrors(ast.errors);var node;return node=ast,assertType("Program",node),node=node.body,node.length!==1&&addError("Unexpected statement "+node[1].type,node[1]),node=node[0],assertType("VariableDeclaration",node),node=node.declarations,node.length!==1&&addError("Unexpected variable declarations "+node.length,node[1]),node=node[0],assertType("VariableDeclarator",node),node=node.init,node.type!=="ObjectExpression"&&addError("Expected an object expression, found "+node.type,node),errors.length&&throwErrors(errors),function walk(e){insertHelpers(e),Object.keys(e).forEach(function(t){var n=e[t];if(Array.isArray(n)){var r=[];n.forEach(function(e){e&&typeof e.type=="string"&&walk(e)})}else n&&typeof n.type=="string"&&(insertHelpers(e),walk(n))});switch(e.type){case"NewExpression":case"CallExpression":e.callee&&!allowedCalls[e.callee.name]?addError("Bad call, bro: "+e.callee.name,e):e.update(replaceCallExpression(e.source()));break;case"Property":e.value&&!allowedPropertyValues[e.value.type]&&addError("Unexpected value: "+e.value.source(),e.value);break;case"Identifier":case"ArrayExpression":case"ObjectExpression":case"UnaryExpression":break;case"Literal":_.isRegExp(e.value)&&e.update(replaceRegExpLiteral(e.value));break;default:addError("Unexpected "+e.type,e)}}(node),errors.length&&throwErrors(errors),function(node){var __genghis_json__;return eval("__genghis_json__ = "+node.source()),__genghis_json__}(node)},stringify:function(e,t){return jQuery("<div>"+this.prettyPrint(e,t,!1)+"</div>").text()},prettyPrint:function(e,t,n){function r(e){function d(e,t){return m("SPAN",e,t)}function m(e,t,n){var r=document.createElement(e);return t&&(r.className=t),n&&(typeof n=="string"&&(n=g(n)),r.appendChild(n)),r}function g(e){return document.createTextNode(e)}function y(e){var t=d("v q"),n;return t.appendChild(g('"')),i.lastIndex=0,i.test(e)&&(e=e.replace(i,function(e){var t=h[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})),s.test(e)?(n=m("A","s"),n.href=e):n=d("s"),n.appendChild(g(e)),t.appendChild(n),t.appendChild(g('"')),t}function b(e){if(f.test(e)||!a.test(e))e='"'+e.replace(i,function(e){var t=h[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"';return m("VAR",!1,e)}function w(e,t,n){var r=d("call "+n);return r.appendChild(g(e+"(")),_.each(t,function(e,n){r.appendChild(e),n<t.length-1&&r.appendChild(g(", "))}),r.appendChild(g(")")),r}function E(e,t){var r,i,s,o,u=l,a,f,h,p="",v=t[e],S;_.isObject(v)&&typeof v.toJSON=="function"&&(v=v.toJSON(e));switch(typeof v){case"string":return y(v);case"number":return d("v n",isFinite(v)?String(v):"null");case"boolean":return d("v b",String(v));case"object":if(_.isNull(v))return d("v z","null");if(Object.hasOwnProperty.call(v,"$genghisType"))switch(v.$genghisType){case"ObjectId":return w("ObjectId",[y(v.$value)],"oid");case"ISODate":return w("ISODate",[y(v.$value)],"date");case"RegExp":var x=v.$value.$pattern,T=v.$value.$flags||"";return d("v re","/"+x+"/"+T);case"BinData":return w("BinData",[d("n",String(v.$value.$subtype)),y(v.$value.$binary)],"bindata")}l+=c;if(_.isArray(v)){if(v.length===0)return l=u,d("v a","[]");f=d("v a"),n&&l&&(f.collapsible=!0,v.length>10&&(f.collapsed=!0)),f.appendChild(g(l?"[\n"+l:"[")),p=g(l?",\n"+l:","),o=v.length;for(r=0;r<o;r+=1)r>0&&f.appendChild(p.cloneNode(!1)),f.appendChild(E(r,v)||d("v z","null"));return f.appendChild(g(l?"\n"+u+"]":"]")),l=u,f}a=[];var N=g(l?": ":":"),C=!!v.$ref&&!!v.$id;for(i in v)Object.hasOwnProperty.call(v,i)&&(s=E(i,v),s&&(S="p"+(s.collapsed?" collapsed":""),C&&(i=="$ref"||i=="$id"||i=="$db")&&(S=S+" ref-"+i.substr(1)),h=d(S),C&&i=="$id"&&h.setAttribute("data-document-id",Genghis.Models.Document.prototype.thunkId(v[i])),s.collapsible&&h.appendChild(m("button")),h.appendChild(b(i)),h.appendChild(N.cloneNode(!1)),h.appendChild(s),s.collapsed&&(child=d("e"),child.appendChild(g("[ ")),child.appendChild(m("Q",!1,g(" \u2026"))),child.appendChild(g(" ]")),h.appendChild(child)),a.push(h)));S="v o";if(a.length===0)return l=u,d(S,g("{}"));C&&(S+=" ref"),f=d(S),f.collapsible=!!n,f.appendChild(g(l?"{\n"+l:"{")),p=g(l?",\n"+l:","),o=a.length;for(r=0;r<a.length;r++)r>0&&f.appendChild(p.cloneNode(!0)),f.appendChild(a[r]);return f.appendChild(g(l?"\n"+u+"}":"}")),l=u,f}}var r=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,s=/^https?:\/\/[^\s]+$/,o="$A-Z_a-z\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",u="0-9\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19d9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",a=RegExp("^["+o+"]["+o+u+"]*$"),f=/^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/,l="",c=t===!1?"":" ",h={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},p={"&":"&",'"':""","<":"<",">":">"};return l="",v=E("_",{_:e}).innerHTML,v}return n=n!==!1,r(e)},normalize:function(e,t){return Genghis.JSON.stringify(Genghis.JSON.parse(e),t)}},Genghis.Collections.BaseCollection=Backbone.Collection.extend({firstChildren:function(){return this.collection.toArray().slice(0,10)},hasMoreChildren:function(){return this.collection.length>10}}),Genghis.Models.BaseModel=Backbone.Model.extend({name:function(){return this.get("name")},count:function(){return this.get("count")},humanCount:function(){return Genghis.Util.humanizeCount(this.get("count")||0)},isPlural:function(){return this.get("count")!==1},humanSize:function(){return Genghis.Util.humanizeSize(this.get("size"))},hasMoreChildren:function(){return this.get("count")>15}}),Genghis.Views.BaseDocument=Backbone.View.extend({errorMarkers:[],clearErrors:function(){var e=this.editor;this.getErrorBlock().html(""),_.each(this.errorMarkers,function(t){e.clearMarker(t)}),this.errorMarkers=[]},getEditorValue:function(){this.clearErrors();var e=this.getErrorBlock(),t=this.editor,n=this.errorMarkers;try{return Genghis.JSON.parse(t.getValue())}catch(r){_.each(r.errors||[r],function(r){var i=r.message;r.lineNumber&&!/Line \d+/i.test(i)&&(i="Line "+r.lineNumber+": "+r.message);var s=new Genghis.Views.Alert({model:new Genghis.Models.Alert({level:"error",msg:i,block:!0})});e.append(s.render().el),r.lineNumber&&n.push(t.setMarker(r.lineNumber-1,null,"line-error"))})}return!1}}),Genghis.Views.BaseNewDocument=Genghis.Views.BaseDocument.extend({initialize:function(){_.bindAll(this,"render","getTextArea","show","refreshEditor","closeModal","cancelEdit","saveDocument","showServerError"),this.render()},render:function(){this.$el=$(this.template.render()).hide().appendTo("body"),this.el=this.$el[0],this.modal=this.$el.modal({backdrop:"static",show:!1,keyboard:!1});var e=this.$(".wrapper");return this.editor=CodeMirror.fromTextArea(this.getTextArea(),_.extend({},Genghis.defaults.codeMirror,{onFocus:function(){e.addClass("focused")},onBlur:function(){e.removeClass("focused")},extraKeys:{"Ctrl-Enter":this.saveDocument,"Cmd-Enter":this.saveDocument}})),$(window).resize(_.throttle(this.refreshEditor,100)),this.modal.bind("hide",this.cancelEdit),this.modal.bind("shown",this.refreshEditor),this.modal.find("button.cancel").bind("click",this.closeModal),this.modal.find("button.save").bind("click",this.saveDocument),this},refreshEditor:function(){this.editor.refresh(),this.editor.focus()},closeModal:function(e){this.modal.modal("hide")},cancelEdit:function(e){this.editor.setValue("")},getErrorBlock:function(){var e=this.$("div.errors");return e.length===0&&(e=$('<div class="errors"></div>').prependTo(this.$(".modal-body"))),e},showServerError:function(e){var t=new Genghis.Views.Alert({model:new Genghis.Models.Alert({level:"error",msg:e,block:!0})});this.getErrorBlock().append(t.render().el)}}),Genghis.Views.BaseRow=Backbone.View.extend({tagName:"tr",events:{"click a.name":"navigate","click button.destroy":"destroy"},initialize:function(){_.bindAll(this,"render","navigate","remove","destroy"),this.model.bind("change",this.render),this.model.bind("destroy",this.remove)},render:function(){return this.$el.html(this.template.render(this.model)).toggleClass("error",!!this.model.get("error")).find(".label[title]").tooltip({placement:"bottom"}),this.$(".has-details").popover({html:!0,content:function(){return $(this).siblings(".details").html()},title:function(){return $(this).siblings(".details").attr("title")},trigger:"manual"}).hoverIntent(function(){$(this).popover("show")},function(){$(this).popover("hide")}),this},navigate:function(e){e.preventDefault(),app.router.navigate(Genghis.Util.route($(e.target).attr("href")),!0)},remove:function(){this.$el.remove()},isParanoid:!1,destroy:function(){var e=this.model,t=e.has("name")?e.get("name"):"";if(this.isParanoid){if(!t)throw"Unable to confirm destruction without a confirmation string.";new Genghis.Views.Confirm({header:"Deleting is forever.",body:"Type <strong>"+t+"</strong> to continue:",confirmInput:t,confirmText:"Delete "+t+" forever",confirm:function(){e.destroy()}})}else new Genghis.Views.Confirm({confirmText:this.destroyConfirmButton(t),confirm:function(){e.destroy()}})},destroyConfirmButton:function(e){return"<strong>Yes</strong>, delete "+e+" forever"}}),Genghis.Views.BaseSection=Backbone.View.extend({events:{"click .add-form button.show":"showAddForm","click .add-form button.add":"submitAddForm","click .add-form button.cancel":"closeAddForm","keyup .add-form input.name":"updateOnKeyup"},initialize:function(){_.bindAll(this,"render","updateTitle","showAddForm","submitAddForm","closeAddForm","updateOnKeyup","addModel","addModelAndUpdate","addAll"),this.model&&this.model.bind("change",this.updateTitle),this.collection&&(this.collection.bind("reset",this.render),this.collection.bind("add",this.addModelAndUpdate)),this.render()},render:function(){this.$el.html(this.template.render({title:this.formatTitle(this.model)})),this.addForm=this.$(".add-form"),this.addButton=this.$(".add-form button.add"),this.addInput=this.$(".add-form input"),this.cancelButton=this.$(".add-form button.cancel"),this.addAll();var e={};return e[this.$("table thead th").length-1]={sorter:!1},this.$("table").tablesorter({headers:e,textExtraction:function(e){return $(".value",e).text()||$(e).text()}}),this.collection.size()&&this.$("table").trigger("sorton",[[[0,0]]]),this},updateTitle:function(){this.$("> header h2").text(this.formatTitle(this.model))},showAddForm:function(e){e&&e.preventDefault()&&e.preventDefault(),this.addForm.removeClass("inactive"),this.addInput.select().focus()},submitAddForm:function(){this.collection.create({name:this.addInput.val()}),this.closeAddForm()},closeAddForm:function(){this.addForm.addClass("inactive"),this.addInput.val("")},updateOnKeyup:function(e){e.keyCode==13&&this.submitAddForm(),e.keyCode==27&&this.closeAddForm()},addModel:function(e){var t=new this.rowView({model:e});this.$("table tbody").append(t.render().el)},addModelAndUpdate:function(e){this.addModel(e),this.$("table").trigger("update")},addAll:function(){this.$("table tbody").html(""),this.collection.each(this.addModel),this.$el.removeClass("spinning")},show:function(){Mousetrap.bind("c",this.showAddForm),$("body").addClass("section-"+this.$el.attr("id")),this.$el.addClass("spinning").show(),$(document).scrollTop(0)},hide:function(){Mousetrap.unbind("c"),$("body").removeClass("section-"+this.$el.attr("id")),this.$el.hide()}}),Genghis.Models.Alert=Backbone.Model.extend({defaults:{level:"warning",block:!1},block:function(){return!!this.get("block")},level:function(){return this.get("level")},msg:function(){return this.get("msg")}}),Genghis.Models.Collection=Genghis.Models.BaseModel.extend({indexesIsPlural:function(){return this.indexCount()!==1},indexCount:function(){return(this.get("indexes")||[]).length},indexes:function(){return _.map(this.get("indexes"),function(e){return Genghis.JSON.prettyPrint(e.key)})},isGridCollection:function(){return/\.files$/.test(this.get("name"))}}),Genghis.Models.Database=Genghis.Models.BaseModel.extend({firstChildren:function(){return _.first(this.get("collections")||[],15)}}),Genghis.Models.Document=Backbone.Model.extend({idAttribute:null,initialize:function(){_.bindAll(this,"prettyId","prettyTime","prettyPrint","JSONish","isGridFile","isGridChunk","downloadUrl","fileUrl")},thunkId:function(e){if(_.isObject(e)&&e.hasOwnProperty("$genghisType")&&e.$genghisType=="ObjectId")return e.$value;if(typeof e!="undefined")return"~"+Genghis.Util.base64Encode(JSON.stringify(e))},parse:function(e){var t=this.thunkId(e._id);return t&&(this.id=t),e},url:function(){var e=function(e){return!e||!e.url?null:_.isFunction(e.url)?e.url():e.url},t=e(this.collection)||this.urlRoot||urlError();return t=t.split("?").shift(),this.isNew()?t:t+(t.charAt(t.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},prettyId:function(){var e=this.get("_id");if(_.isObject(e)&&e.hasOwnProperty("$genghisType"))switch(e.$genghisType){case"ObjectId":return e.$value;case"BinData":if(e.$value.$subtype==3){var t=/^([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$/i,n=Genghis.Util.base64ToHex(e.$value.$binary);if(t.test(n))return n.replace(t,"$1-$2-$3-$4-$5")}return e.$value.$binary.replace(/\=+$/,"")}return Genghis.JSON.stringify(e,!1)},prettyTime:function(){if(!this.collection||this.collection.guessCreationTime){if(typeof this._prettyTime=="undefined"){var e=this.get("_id");if(_.isObject(e)&&e.hasOwnProperty("$genghisType")&&e.$genghisType==="ObjectId"&&e.$value.length==24){var t=new Date;t.setTime(parseInt(e.$value.substring(0,8),16)*1e3),this._prettyTime=t.toUTCString()}}return this._prettyTime}},prettyPrint:function(){return Genghis.JSON.prettyPrint(this.toJSON())},JSONish:function(){return Genghis.JSON.stringify(this.toJSON())},isGridFile:function(){return this.get("chunkSize")&&/\.files\/documents\//.test(this.url())},isGridChunk:function(){return this.get("files_id")&&/\.chunks\/documents\//.test(this.url())},downloadUrl:function(){if(!this.isGridFile())throw"Not a GridFS file.";return this.url().replace(/\.files\/documents\//,".files/files/")},fileUrl:function(){if(!this.isGridChunk())throw"Not a GridFS chunk.";return this.url().replace(/\.chunks\/documents\//,".files/documents/").replace(this.id,this.thunkId(this.get("files_id")))}}),Genghis.Models.Pagination=Backbone.Model.extend({defaults:{page:1,pages:1,limit:50,count:0,total:0},initialize:function(){_.bindAll(this,"decrementTotal")},decrementTotal:function(){this.set({total:this.get("total")-1,count:this.get("count")-1})}}),Genghis.Models.Selection=Backbone.Model.extend({defaults:{server:null,database:null,collection:null,query:null,page:null},initialize:function(){_.bindAll(this,"select","update","nextPage","previousPage"),this.bind("change",this.update),this.pagination=new Genghis.Models.Pagination,this.servers=new Genghis.Collections.Servers,this.currentServer=new Genghis.Models.Server,this.databases=new Genghis.Collections.Databases,this.currentDatabase=new Genghis.Models.Database,this.collections=new Genghis.Collections.Collections,this.currentCollection=new Genghis.Models.Collection,this.documents=new Genghis.Collections.Documents,this.currentDocument=new Genghis.Models.Document},select:function(e,t,n,r,i,s){this.set({server:e||null,database:t||null,collection:n||null,document:r||null,query:i||null,page:s||null})},update:function(){function f(e,t){if(t.status!==404){try{data=JSON.parse(t.responseText)}catch(n){data={}}app.alerts.create({msg:data.error||"Unknown error",level:"error",block:!0})}}function l(e,t,n){return t=t||"Not Found",n=n||"Please try again.",function(e,r){switch(r.status){case 404:app.showSection(),app.showMasthead("404: "+t,"<p>"+n+"</p>",{error:!0});break;default:f(e,r)}}}var e=this.get("server"),t=this.get("database"),n=this.get("collection"),r=this.get("document"),i=this.get("query"),s=this.get("page"),o=app.baseUrl,u={};o+="servers",this.servers.url=o,this.servers.fetch({error:f}),e?(o=o+"/"+e,this.currentServer.url=o,this.currentServer.fetch({error:l("databases","Server Not Found")}),o+="/databases",this.databases.url=o,this.databases.fetch({error:f})):(this.currentServer.clear(),this.databases.reset()),t?(o=o+"/"+t,this.currentDatabase.url=o,this.currentDatabase.fetch({error:l("collections","Database Not Found")}),o+="/collections",this.collections.url=o,this.collections.fetch({error:f})):(this.currentDatabase.clear(),this.collections.reset());if(n){o=o+"/"+n,this.currentCollection.url=o,this.currentCollection.fetch({error:l("documents","Collection Not Found")}),o+="/documents";var a="";if(i||s)i&&(u.q=encodeURIComponent(JSON.stringify(Genghis.JSON.parse(i)))),s&&(u.page=encodeURIComponent(s)),a="?"+Genghis.Util.buildQuery(u);this.documents.url=o+a,this.documents.fetch({error:f})}else this.currentCollection.clear(),this.documents.reset();r&&(this.currentDocument.clear({silent:!0}),this.currentDocument.id=r,this.currentDocument.urlRoot=o,this.currentDocument.fetch({error:l("document","Document Not Found","But I’m sure there are plenty of other nice documents out there…")}))},nextPage:function(){return 1+(this.get("page")||1)},previousPage:function(){return Math.max(1,(this.get("page")||1)-1)}}),Genghis.Models.Server=Genghis.Models.BaseModel.extend({editable:function(){return!!this.get("editable")},firstChildren:function(){return _.first(this.get("databases")||[],15)},error:function(){return this.get("error")}}),Genghis.Collections.Alerts=Backbone.Collection.extend({model:Genghis.Models.Alert,initialize:function(){_.bindAll(this,"handleError")},handleError:function(e){if(e.readyState===0)return;try{data=JSON.parse(e.responseText)}catch(t){data={error:e.responseText}}msg=data.error||"<strong>FAIL</strong> An unexpected server error has occurred.",this.add({level:"error",msg:msg,block:!msg.search(/<(p|ul|ol|div)[ >]/)})}}),Genghis.Collections.Collections=Genghis.Collections.BaseCollection.extend({model:Genghis.Models.Collection}),Genghis.Collections.Databases=Genghis.Collections.BaseCollection.extend({model:Genghis.Models.Database}),Genghis.Collections.Documents=Backbone.Collection.extend({model:Genghis.Models.Document,parse:function(e){return app.selection.pagination.set({page:e.page,pages:e.pages,count:e.documents.length,total:e.count}),this.guessCreationTime=_.all(e.documents,function(e){var t=e._id||null;if(!_.isObject(t)||t.$genghisType!="ObjectId")return!0;if(t.$value.length!=24)return!1;var n=parseInt(t.$value.substring(0,8),16)*1e3;return n>this.start&&n<this.end},{start:1251388342e3,end:(new Date).getTime()+1728e5}),e.documents}}),Genghis.Collections.Servers=Backbone.Collection.extend({model:Genghis.Models.Server,firstChildren:function(){return this.collection.reject(function(e){return e.has("error")}).slice(0,10)},hasMoreChildren:function(){return this.collection.length>10||this.collection.detect(function(e){return e.has("error")})}}),Genghis.Views.Alert=Backbone.View.extend({tagName:"div",template:Genghis.Templates.Alert,events:{"click a.close":"destroy"},initialize:function(){_.bindAll(this,"render","remove","destroy"),this.model.bind("change",this.render),this.model.bind("destroy",this.remove)},render:function(){return this.$el.html(this.template.render(this.model)),this},destroy:function(){this.model.destroy()},remove:function(){this.$el.remove()}}),Genghis.Views.Alerts=Backbone.View.extend({el:"aside#alerts",initialize:function(){_.bindAll(this,"render","addModel"),this.collection.bind("reset",this.render),this.collection.bind("add",this.addModel)},render:function(){return this.$el.html(""),this},addModel:function(e){var t=new Genghis.Views.Alert({model:e});this.$el.append(t.render().el)}}),Genghis.Views.App=Backbone.View.extend({el:"section#genghis",initialize:function(){_.bindAll(this,"showMasthead","removeMasthead","showSection");var e=this.baseUrl=this.options.baseUrl,t=this.selection=new Genghis.Models.Selection,n=this.alerts=new Genghis.Collections.Alerts;this.navView=new Genghis.Views.Nav({model:t,baseUrl:e}),this.alertsView=new Genghis.Views.Alerts({collection:n}),this.keyboardShortcutsView=new Genghis.Views.KeyboardShortcuts,this.serversView=new Genghis.Views.Servers({collection:t.servers}),this.databasesView=new Genghis.Views.Databases({model:t.currentServer,collection:t.databases}),this.collectionsView=new Genghis.Views.Collections({model:t.currentDatabase,collection:t.collections}),this.documentsView=new Genghis.Views.Documents({model:t.currentCollection,collection:t.documents,pagination:t.pagination}),this.documentView=new Genghis.Views.Document({model:t.currentDocument}),this.sections={servers:this.serversView,databases:this.databasesView,collections:this.collectionsView,documents:this.documentsView,document:this.documentView};var r=this.router=new Genghis.Router;$(".navbar a.brand").click(function(e){e.preventDefault(),r.navigate("",!0)}),$.getJSON(this.baseUrl+"check-status").error(n.handleError).success(function(e){_.each(e.alerts,function(e){n.add(_.extend({block:!e.msg.search(/<(p|ul|ol|div)[ >]/i)},e))})}),t.change()},showMasthead:function(e,t,n){this.removeMasthead(!0),mastheadView=new Genghis.Views.Masthead(_.extend(n||{},{heading:e,content:t||""}))},removeMasthead:function(e){var t=$("header.masthead");e||(t=t.not(".sticky")),t.remove()},showSection:function(e){var t=e&&_.has(this.sections,e);this.removeMasthead(),e=="servers"&&this.showWelcome(),$("body").toggleClass("has-section",t),_.each(this.sections,function(t,n){n!=e&&t.hide()}),t&&this.sections[e].show()},showWelcome:_.once(function(){this.showMasthead("",Genghis.Templates.Welcome.render({version:Genghis.version}),{epic:!0,className:"masthead welcome"})})}),Genghis.Views.CollectionRow=Genghis.Views.BaseRow.extend({template:Genghis.Templates.CollectionRow,isParanoid:!0}),Genghis.Views.Collections=Genghis.Views.BaseSection.extend({el:"section#collections",template:Genghis.Templates.Collections,rowView:Genghis.Views.CollectionRow,events:{"click .add-form button.show":"showAddForm","click .add-form a.show":"showAddForm","click .add-form a.show-gridfs":"showGridFSAddForm","click .add-form button.add":"submitAddForm","click .add-form button.cancel":"closeAddForm","keyup .add-form input.name":"updateOnKeyup"},initialize:function(){_.bindAll(this,"showGridFSAddForm"),Genghis.Views.BaseSection.prototype.initialize.apply(this,arguments)},render:function(){return Genghis.Views.BaseSection.prototype.render.apply(this,arguments),this.$(".dropdown-toggle").dropdown(),this},formatTitle:function(e){return e.id?e.id+" Collections":"Collections"},submitAddForm:function(){var e=this.addInput.val().replace(/^\s+/,"").replace(/\s+$/,"");if(e===""){window.app.alerts.add({msg:"Please enter a valid collection name."});return}this.addButton.hasClass("add-gridfs")?(e=e.replace(/\.(files|chunks)$/,""),this.collection.create({name:e+".files"}),this.collection.create({name:e+".chunks"})):this.collection.create({name:e}),this.closeAddForm()},showAddForm:function(){var e=this.$(".input-wrapper");e.length&&e.replaceWith(e.find("input")),this.addButton.removeClass("add-gridfs").text("Add collection"),Genghis.Views.BaseSection.prototype.showAddForm.apply(this,arguments)},showGridFSAddForm:function(
|
1047
|
-
e){e&&e.preventDefault&&e.preventDefault(),this.$(".input-wrapper").length===0&&(this.addInput.wrap('<div class="input-wrapper input-append">'),$('<span class="add-on">.files</span>').insertAfter(this.addInput)),this.addButton.addClass("add-gridfs").text("Add GridFS collection"),this.addForm.removeClass("inactive"),this.addInput.val()===""&&this.addInput.val("fs"),this.addInput.select().focus()},show:function(){Mousetrap.bind("shift+c",this.showGridFSAddForm),Genghis.Views.BaseSection.prototype.show.apply(this,arguments)},hide:function(){Mousetrap.unbind("shift+c"),Genghis.Views.BaseSection.prototype.hide.apply(this,arguments)}}),Genghis.Views.Confirm=Backbone.View.extend({className:"modal confirm-modal",template:Genghis.Templates.Confirm,events:{"click button.dismiss":"dismiss","click button.confirm":"confirm","keyup .confirm-input":"validateInput"},defaults:{header:null,body:"Really? There is no undo.",confirmText:"Okay",dismissText:"Cancel"},initialize:function(){_.bindAll(this,"render","confirm","validateInput","dismiss","remove"),this.onConfirm=this.options.confirm||function(){},this.confirmInput=this.options.confirmInput,this.modalOptions=_.pick(this.options,"backdrop","keyboard"),this.renderContext=_.defaults(_.pick(this.options,"header","body","confirmText","confirmInput","dismissText"),this.defaults),this.options.show!==!1&&this.render()},render:function(){var e=this.$el.html(this.template.render(this.renderContext));return this.confirmInput&&e.on("shown",function(){e.find(".confirm-input").focus()}),e.modal(this.modalOptions),this},confirm:function(){this.onConfirm(),this.dismiss()},validateInput:function(e){var t=this.$("button.confirm");$(e.target).val()==this.confirmInput?(t.removeAttr("disabled"),e.keyCode==13&&(e.preventDefault(),t.click())):t.attr("disabled",!0)},dismiss:function(){this.$el.on("hidden",this.remove).modal("hide")},remove:function(){this.$el.remove()}}),Genghis.Views.DatabaseRow=Genghis.Views.BaseRow.extend({template:Genghis.Templates.DatabaseRow,isParanoid:!0}),Genghis.Views.Databases=Genghis.Views.BaseSection.extend({el:"section#databases",template:Genghis.Templates.Databases,rowView:Genghis.Views.DatabaseRow,formatTitle:function(e){return e.id?e.id+" Databases":"Databases"}}),Genghis.Views.Document=Backbone.View.extend({el:"section#document",template:Genghis.Templates.Document,initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render)},render:function(){var e=new Genghis.Views.DocumentView({model:this.model});return this.$el.removeClass("spinning").html(this.template.render({model:this.model})),this.$(".content").html(e.render().el),this},show:function(){$("body").addClass("section-"+this.$el.attr("id")),this.$el.addClass("spinning").show(),$(document).scrollTop(0)},hide:function(){$("body").removeClass("section-"+this.$el.attr("id")),this.$el.hide()}}),Genghis.Views.DocumentView=Genghis.Views.BaseDocument.extend({tagName:"article",template:Genghis.Templates.DocumentView,events:{"click a.id":"navigate","click button.edit":"openEditDialog","click button.save":"saveDocument","click button.cancel":"cancelEdit","click button.destroy":"destroy","click a.grid-download":"download","click a.grid-file":"navigate","click .ref .ref-ref .v .s":"navigateColl","click .ref .ref-db .v .s":"navigateDb","click .ref .ref-id .v .s, .ref .ref-id .v.n":"navigateId"},initialize:function(){_.bindAll(this,"render","updateDocument","navigate","openEditDialog","cancelEdit","saveDocument","destroy","remove","download","navigateColl","navigateDb","navigateId","showServerError"),this.model.bind("change",this.updateDocument),this.model.bind("destroy",this.remove)},render:function(){return this.$el.html(this.template.render(this.model)),Genghis.Util.attachCollapsers(this.el),setTimeout(this.updateDocument,1),this},updateDocument:function(){this.$(".document").html("").append(this.model.prettyPrint()).show()},navigate:function(e){e.preventDefault(),app.router.navigate(Genghis.Util.route($(e.target).attr("href")),!0)},navigateDb:function(e){var t=$(e.target).parents(".ref"),n=t.find(".ref-db .v .s").text();app.router.redirectToDatabase(app.selection.currentServer.id,n)},navigateColl:function(e){var t=$(e.target).parents(".ref"),n=t.find(".ref-db .v .s").text()||app.selection.currentDatabase.id,r=t.find(".ref-ref .v .s").text();app.router.redirectToCollection(app.selection.currentServer.id,n,r)},navigateId:function(e){var t=$(e.target).parents(".ref"),n=t.find(".ref-db .v .s").text()||app.selection.currentDatabase.id,r=t.find(".ref-ref .v .s").text()||app.selection.currentCollection.id,i=t.find(".ref-id").attr("data-document-id");app.router.redirectToDocument(app.selection.currentServer.id,n,r,encodeURIComponent(i))},openEditDialog:function(){var e=this.$(".well"),t=Math.max(180,Math.min(600,e.height()+40)),n="editor-"+this.model.id.replace("~","-"),r=$('<textarea id="'+n+'"></textarea>').text(this.model.JSONish()).appendTo(e);this.$(".document").hide();var i=this.$el.addClass("edit");this.editor=CodeMirror.fromTextArea(r[0],_.extend({},Genghis.defaults.codeMirror,{onFocus:function(){i.addClass("focused")},onBlur:function(){i.removeClass("focused")},extraKeys:{"Ctrl-Enter":this.saveDocument,"Cmd-Enter":this.saveDocument}})),this.editor.setSize(null,t),setTimeout(this.editor.focus,50),r.resize(_.throttle(this.editor.refresh,100))},cancelEdit:function(){this.$el.removeClass("edit focused"),this.editor.toTextArea(),this.$("textarea").remove(),this.updateDocument(),this.$(".well").height("auto")},getErrorBlock:function(){var e=this.$("div.errors");return e.length===0&&(e=$('<div class="errors"></div>').prependTo(this.el)),e},showServerError:function(e){var t=new Genghis.Views.Alert({model:new Genghis.Models.Alert({level:"error",msg:e,block:!0})});this.getErrorBlock().append(t.render().el)},saveDocument:function(){var e=this.getEditorValue();if(e===!1)return;var t=this.showServerError;this.model.clear({silent:!0}),this.model.save(e,{wait:!0,success:this.cancelEdit,error:function(e,n){var r;try{r=JSON.parse(n.responseText).error}catch(i){}t(r||"Error updating document.")}})},destroy:function(){var e=this.model,t=this.model.isGridFile(),n=t?"file":"document";t&&(this.model.url=this.model.url().replace(".files/documents/",".files/files/")),new Genghis.Views.Confirm({body:"<strong>Really?</strong> "+(t?"This will delete all GridFS chunks as well. <br><br>":"")+"There is no undo.",confirmText:"<strong>Yes</strong>, delete "+n+" forever",confirm:function(){var t=app.selection;e.destroy({wait:!0,error:function(e,t){var r;try{r=JSON.parse(t.responseText).error}catch(i){}app.alerts.create({level:"error",msg:r||"Error deleting "+n+"."})},success:function(e,n){t.pagination.decrementTotal(),t.get("document")&&app.router.redirectTo(t.get("server"),t.get("database"),t.get("collection"),null,t.get("query"))}})}})},remove:function(){this.$el.remove()},download:function(e){Genghis.Util.download(this.model.downloadUrl()),e.preventDefault()}}),Genghis.Views.Documents=Backbone.View.extend({el:"section#documents",template:Genghis.Templates.Documents,events:{"click button.add-document":"createDocument","dragover button.file-upload":"dragGridFile","dragleave button.file-upload":"dragLeave","drop button.file-upload":"dropGridFile"},initialize:function(){_.bindAll(this,"render","addAll","addDocument","createDocument","dragGridFile","dragLeave","dropGridFile"),this.pagination=this.options.pagination,this.collection.bind("reset",this.addAll,this),this.collection.bind("add",this.addDocument,this),this.render()},render:function(){return this.$el.html(this.template.render({})),this.headerView=new Genghis.Views.DocumentsHeader({model:this.pagination}),this.paginationView=new Genghis.Views.Pagination({el:this.$(".pagination-wrapper"),model:this.pagination,collection:this.collection}),this.addAll(),this},addAll:function(){this.$(".content").html(""),this.$("button.add-document").text(this.model.isGridCollection()?"Upload file":"Add document").toggleClass("file-upload",this.model.isGridCollection()),this.collection.each(this.addDocument),this.$el.removeClass("spinning")},addDocument:function(e){var t=new Genghis.Views.DocumentView({model:e});this.$(".content").append(t.render().el)},createDocument:function(e){e&&e.preventDefault&&e.preventDefault();if(this.model.isGridCollection()){if(!Modernizr.filereader){app.alerts.create({msg:"<h2>Unable to upload file.</h2> Your browser does not support the File API. Please use a modern browser.",level:"error",block:!0});return}this.getNewGridFileView().show()}else this.getNewDocumentView().show()},dragGridFile:function(e){e.stopPropagation(),e.preventDefault(),e.originalEvent.dataTransfer.dropEffect="copy",$(e.target).addClass("active")},dragLeave:function(e){$(e.target).removeClass("active")},dropGridFile:function(e){e.stopPropagation(),e.preventDefault(),$(e.target).removeClass("active");if(!Modernizr.filereader){app.alerts.create({msg:"<h2>Unable to upload file.</h2> Your browser does not support the File API. Please use a modern browser.",level:"error",block:!0});return}this.getNewGridFileView().showMetadata(e.originalEvent.dataTransfer.files[0])},getNewDocumentView:function(){return this.newDocumentView||(this.newDocumentView=new Genghis.Views.NewDocument({collection:this.collection})),this.newDocumentView},getNewGridFileView:function(){return this.newGridFileView||(this.newGridFileView=new Genghis.Views.NewGridFile({collection:this.collection})),this.newGridFileView},show:function(){Mousetrap.bind("c",this.createDocument),$("body").addClass("section-"+this.$el.attr("id")),this.$el.addClass("spinning").show(),$(document).scrollTop(0)},hide:function(){Mousetrap.unbind("c"),$("body").removeClass("section-"+this.$el.attr("id")),this.$el.hide()}}),Genghis.Views.DocumentsHeader=Backbone.View.extend({el:"section#documents > header h2",initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render)},render:function(){var e,t=this.model.get("count"),n=this.model.get("page"),r=this.model.get("pages"),i=this.model.get("limit"),s=this.model.get("total");e=""+s+" Document"+(s!=1?"s":"");if(s!=t){var o=(n-1)*i+1,u=Math.min((n-1)*i+t,s);e=""+o+" - "+u+" of "+e}return this.$el.html(e),this}}),Genghis.Views.KeyboardShortcuts=Backbone.View.extend({tagName:"div",template:Genghis.Templates.KeyboardShortcuts,events:{"click a.close":"hide"},initialize:function(){_.bindAll(this,"render","show","hide","toggle"),Mousetrap.bind("?",this.toggle),$("footer a.keyboard-shortcuts").click(this.show),this.render()},render:function(){return this.$el.html(this.template.render()).modal({backdrop:!0,keyboard:!0,show:!1}),this},show:function(e){e.preventDefault(),this.$el.modal("show")},hide:function(e){e.preventDefault(),this.$el.modal("hide")},toggle:function(){this.$el.modal("toggle")}}),Genghis.Views.Masthead=Backbone.View.extend({tagName:"header",attributes:{"class":"masthead"},template:Genghis.Templates.Masthead,initialize:function(){this.heading=this.options.heading,this.content=this.options.content||"",this.error=this.options.error||!1,this.epic=this.options.epic||!1,this.sticky=this.options.sticky||!1,this.render()},render:function(){return this.$el.html(this.template.render({heading:this.heading,content:this.content})).toggleClass("error",this.error).toggleClass("epic",this.epic).toggleClass("sticky",this.sticky).insertAfter("header.navbar"),this}}),Genghis.Views.Nav=Backbone.View.extend({el:".navbar nav",template:Genghis.Templates.Nav,events:{"click a":"navigate"},initialize:function(){_.bindAll(this,"render","navigate","navigateToServers","navigateUp"),this.baseUrl=this.options.baseUrl,this.model.bind("change",this.updateQuery),$("body").bind("click",function(e){$(".dropdown-toggle, .menu").parent("li").removeClass("open")}),Mousetrap.bind("s",this.navigateToServers),Mousetrap.bind("u",this.navigateUp),this.render()},render:function(){return this.$el.html(this.template.render({baseUrl:this.baseUrl})),this.serverNavView=new Genghis.Views.NavSection({el:this.$("li.server"),model:this.model.currentServer,collection:this.model.servers}),this.databaseNavView=new Genghis.Views.NavSection({el:this.$("li.database"),model:this.model.currentDatabase,collection:this.model.databases}),this.collectionNavView=new Genghis.Views.NavSection({el:this.$("li.collection"),model:this.model.currentCollection,collection:this.model.collections}),this.searchView=new Genghis.Views.Search({model:this.model}),this.$el.append(this.searchView.render().el),this},navigate:function(e){e.preventDefault(),app.router.navigate(Genghis.Util.route($(e.target).attr("href")),!0)},navigateToServers:function(e){e.preventDefault(),app.router.redirectToIndex()},navigateUp:function(e){e.preventDefault(),app.router.redirectTo(this.model.has("database")&&this.model.get("server"),this.model.has("collection")&&this.model.get("database"),(this.model.has("document")||this.model.has("query"))&&this.model.get("collection"))}}),Genghis.Views.NavSection=Backbone.View.extend({template:Genghis.Templates.NavSection,menuTemplate:Genghis.Templates.NavSectionMenu,initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.updateLink,this),this.collection.bind("reset",this.renderMenu,this),this.render()},render:function(){return this.$el.html(this.template.render(this.model)),this.$(".dropdown-toggle").hoverIntent(function(e){$(e.target).parent("li").addClass("open").siblings("li").removeClass("open")},$.noop),this},updateLink:function(){this.$("a.dropdown-toggle").text(this.model.id?this.model.id:"").attr("href",this.model.id?this.model.url:"")},renderMenu:function(){this.$("ul.dropdown-menu").html(this.menuTemplate.render({model:this.model,collection:this.collection})),this.$("ul.dropdown-menu a span").each(function(e,t){var n=$(t),r=n.text().length;r>3&&n.parent().css("padding-right",""+(r+.5)+"em")})}}),Genghis.Views.NewDocument=Genghis.Views.BaseNewDocument.extend({el:"#new-document",template:Genghis.Templates.NewDocument,getTextArea:function(){return this.$("#editor-new")[0]},show:function(){this.editor.setValue("{\n \n}\n"),this.editor.setCursor({line:1,ch:4}),this.modal.modal("show")},saveDocument:function(){var e=this.getEditorValue();if(e===!1)return;var t=this.closeModal,n=this.showServerError;this.collection.create(e,{wait:!0,success:function(e){t(),app.router.navigate(Genghis.Util.route(e.url()),!0)},error:function(e,t){var r;try{r=JSON.parse(t.responseText).error}catch(i){}n(r||"Error creating document.")}})}}),Genghis.Views.NewGridFile=Genghis.Views.BaseNewDocument.extend({el:"#new-grid-file",template:Genghis.Templates.NewGridFile,initialize:function(){_.bindAll(this,"handleFileInputChange","showMetadata"),Genghis.Views.BaseNewDocument.prototype.initialize.apply(this,arguments)},render:function(){return Genghis.Views.BaseNewDocument.prototype.render.apply(this,arguments),this.fileInput=$('<input id="new-grid-file-input" type="file">').hide().appendTo("body"),this.currentFile=null,this.fileInput.bind("change",this.handleFileInputChange),this},getTextArea:function(){return this.$("#editor-upload")[0]},show:function(){this.fileInput.click()},handleFileInputChange:function(e){this.showMetadata(e.target.files[0])},showMetadata:function(e){this.currentFile=e,e&&(this.fileInput.val(""),this.editor.setValue(Genghis.JSON.stringify({filename:e.name,contentType:e.type||"binary/octet-stream",metadata:{}})),this.editor.setCursor({line:3,ch:15}),this.modal.modal("show"))},saveDocument:function(){var e=this.getEditorValue();if(e===!1)return;if(e.file){this.showServerError("Unexpected property: 'file'");return}var t=this.closeModal,n=this.showServerError,r=this.collection,i=this.collection.url.replace(".files/documents",".files/files"),s=new FileReader;s.onload=function(s){e.file=s.target.result,$.ajax({type:"POST",url:i,data:JSON.stringify(e),contentType:"application/json"}).success(function(e){r.add(e),t();var n=(new Genghis.Models.Document(e)).prettyId();app.router.navigate(Genghis.Util.route(r.url+"/"+n),!0)}).error(function(e){var t;try{t=JSON.parse(e.responseText).error}catch(r){}n(t||"Error uploading file.")})},s.readAsDataURL(this.currentFile)}}),Genghis.Views.Pagination=Backbone.View.extend({template:Genghis.Templates.Pagination,events:{"click a":"navigate"},initialize:function(){_.bindAll(this,"render","urlTemplate","navigate","nextPage","prevPage"),this.model.bind("change",this.render),Mousetrap.bind("n",this.nextPage),Mousetrap.bind("p",this.prevPage)},render:function(){if(this.model.get("pages")==1)this.$el.hide();else{var e=9,t=Math.ceil(e/2),n=this.model.get("page"),r=this.model.get("pages"),i=n>t?Math.max(n-(t-3),1):1,s=r-n>t?Math.min(n+(t-3),r):r,o=s==r?Math.max(r-(e-3),1):i,u=i==1?Math.min(o+(e-3),r):s;u>=r-2&&(u=r),o<=3&&(o=1);var a=this.urlTemplate;this.$el.html(this.template.render({page:n,last:r,firstUrl:a(1),prevUrl:a(Math.max(1,n-1)),nextUrl:a(Math.min(n+1,r)),lastUrl:a(r),pageUrls:_.range(o,u+1).map(function(e){return{index:e,url:a(e),active:e===n}}),isFirst:n===1,isStart:o===1,isEnd:u>=r,isLast:n===r})).show()}return this},urlTemplate:function(e){var t=this.collection.url,n=t.split("?"),r=n.shift(),i=Genghis.Util.parseQuery(n.join("?")),s={page:e};return i.q&&(s.q=encodeURIComponent(app.selection.get("query"))),r+"?"+Genghis.Util.buildQuery(_.extend(i,s))},navigate:function(e){e.preventDefault();var t=$(e.target).attr("href");t&&app.router.navigate(Genghis.Util.route(t),!0)},nextPage:function(e){this.$el.is(":visible")&&(e.preventDefault(),this.$("li.next a[href]").click())},prevPage:function(e){this.$el.is(":visible")&&(e.preventDefault(),this.$("li.prev a[href]").click())}}),Genghis.Views.Search=Backbone.View.extend({tagName:"form",className:"navbar-search form-search control-group",template:Genghis.Templates.Search,events:{"keyup input#navbar-query":"handleSearchKeyup","click span.grippie":"toggleExpanded","dragmove span.grippie":"handleGrippieDrag","click button.cancel":"collapseSearch","click button.search":"findDocumentsAdvanced"},initialize:function(){_.bindAll(this,"render","updateQuery","handleSearchKeyup","findDocuments","findDocumentsAdvanced","focusSearch","blurSearch","advancedSearchToQuery","queryToAdvancedSearch","expandSearch","collapseSearch","collapseNoFocus","toggleExpanded","handleGrippieDrag"),this.model.bind("change",this.updateQuery),this.model.bind("change:collection",this.collapseNoFocus)},render:function(){this.$el.html(this.template.render({query:this.model.get("query")})),this.$el.submit(function(e){e.preventDefault()}),Mousetrap.bind("/",this.focusSearch);var e=this.$el,t=e.find(".well"),n=this.expandSearch,r=this.collapseSearch;return this.$(".grippie").bind("mousedown",function(t){function o(t){var o=t.clientY+document.documentElement.scrollTop-e.offset().top;return o>=i&&o<=s&&e.height(o+"px"),e.hasClass("expanded")?o<i&&r():o>100&&n(),!1}function u(t){$(document).unbind("mousemove",o).unbind("mouseup",u),e.hasClass("expanded")||r(),t.preventDefault()}t.preventDefault();var i=30,s=Math.min($(window).height()/2,350);$(document).mousemove(o).mouseup(u)}),this},updateQuery:function(){var e=this.normalizeQuery(this.model.get("query")||this.getDocumentQuery()||"");this.$("input#navbar-query").val(e)},getDocumentQuery:function(){var e=this.model.get("document");return typeof e=="string"&&e[0]==="~"&&(e=Genghis.JSON.normalize('{"_id":'+Genghis.Util.base64Decode(e.substr(1))+"}")),e},handleSearchKeyup:function(e){this.$el.removeClass("error"),e.keyCode==13?(e.preventDefault(),this.findDocuments($(e.target).val())):e.keyCode==27&&this.blurSearch()},findDocuments:function(e){var t=Genghis.Util.route(this.model.currentCollection.url+"/documents");e=e.trim();if(e.match(/^([a-z\d]+)$/i))t=t+"/"+e;else{try{e=Genghis.JSON.normalize(e,!1)}catch(n){this.$el.addClass("error");return}t=t+"?"+Genghis.Util.buildQuery({q:encodeURIComponent(e)})}app.router.navigate(t,!0)},findDocumentsAdvanced:function(e){this.findDocuments(this.editor.getValue()),this.collapseSearch()},focusSearch:function(e){this.$("input#navbar-query").is(":visible")?(e&&e.preventDefault(),this.$("input#navbar-query").focus()):this.editor&&this.$(".well").is(":visible")&&(e&&e.preventDefault(),this.editor.focus())},blurSearch:function(){this.$("input#navbar-query").blur(),this.updateQuery()},normalizeQuery:function(e){e=e.trim();if(e!=="")try{e=Genghis.JSON.normalize(e,!1)}catch(t){}return e.replace(/^\{\s*\}$/,"").replace(/^\{\s*(['"]?)_id\1\s*:\s*\{\s*(['"]?)\$id\2\s*:\s*(["'])([a-z\d]+)\3\s*\}\s*\}$/,"$4").replace(/^\{\s*(['"]?)_id\1\s*:\s*(new\s+)?ObjectId\s*\(\s*(["'])([a-z\d]+)\3\s*\)\s*\}$/,"$4")},advancedSearchToQuery:function(){this.$("input#navbar-query").val(this.normalizeQuery(this.editor.getValue()))},queryToAdvancedSearch:function(){var e=this.$("input#navbar-query").val().trim();e.match(/^[a-z\d]+$/i)&&(e='{_id:ObjectId("'+e+'")}');if(e!=="")try{e=Genghis.JSON.normalize(e,!0)}catch(t){}this.editor.setValue(e)},expandSearch:function(e){if(!this.editor){var t=this.$(".search-advanced");this.editor=CodeMirror(this.$(".well")[0],_.extend({},Genghis.defaults.codeMirror,{lineNumbers:!1,onFocus:function(){t.addClass("focused")},onBlur:function(){t.removeClass("focused")},extraKeys:{"Ctrl-Enter":this.findDocumentsAdvanced,"Cmd-Enter":this.findDocumentsAdvanced,Esc:this.findDocumentsAdvanced},onChange:this.advancedSearchToQuery}))}this.queryToAdvancedSearch(),this.$el.addClass("expanded");var n=this.editor,r=this.focusSearch;_.defer(function(){n.refresh(),r()})},collapseSearch:function(){this.collapseNoFocus(),this.focusSearch()},collapseNoFocus:function(){this.$el.removeClass("expanded").css("height","auto")},toggleExpanded:function(){this.$el.hasClass("expanded")?this.collapseSearch():(this.expandSearch(),this.$el.height(Math.floor($(window).height()/4)+"px"))},handleGrippieDrag:function(e){console.log(e)}}),Genghis.Views.ServerRow=Genghis.Views.BaseRow.extend({template:Genghis.Templates.ServerRow,destroyConfirmButton:function(e){return"<strong>Yes</strong>, remove "+e+" from server list"}}),Genghis.Views.Servers=Genghis.Views.BaseSection.extend({el:"section#servers",template:Genghis.Templates.Servers,rowView:Genghis.Views.ServerRow,render:function(){return Genghis.Views.BaseSection.prototype.render.apply(this,arguments),$(".help",this.addForm).tooltip(),this},updateTitle:function(){},formatTitle:function(){return"Servers"}}),Genghis.Router=Backbone.Router.extend({routes:{"":"index",servers:"redirectToIndex","servers/:server":"server","servers/:server/databases":"redirectToServer","servers/:server/databases/:database":"database","servers/:server/databases/:database/collections":"redirectToDatabase","servers/:server/databases/:database/collections/:collection?*query":"redirectToCollectionQuery","servers/:server/databases/:database/collections/:collection":"collection","servers/:server/databases/:database/collections/:collection/documents":"redirectToCollection","servers/:server/databases/:database/collections/:collection/documents?*query":"collectionQuery","servers/:server/databases/:database/collections/:collection/documents/:documentId":"document","*path":"notFound"},index:function(){document.title="Genghis",app.selection.select(),app.showSection("servers")},redirectToIndex:function(){this.navigate("",!0)},server:function(e){document.title=this.buildTitle(e),app.selection.select(e),app.showSection("databases")},redirectToServer:function(e){this.navigate("servers/"+e,!0)},database:function(e,t){document.title=this.buildTitle(e,t),app.selection.select(e,t),app.showSection("collections")},redirectToDatabase:function(e,t){this.navigate("servers/"+e+"/databases/"+t,!0)},collection:function(e,t,n){document.title=this.buildTitle(e,t,n),app.selection.select(e,t,n),app.showSection("documents")},redirectToCollection:function(e,t,n){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n,!0)},redirectToCollectionQuery:function(e,t,n,r){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n+"/documents?"+r,!0)},collectionQuery:function(e,t,n,r){document.title=this.buildTitle(e,t,n,"Query results");var i=Genghis.Util.parseQuery(r);app.selection.select(e,t,n,null,i.q,i.page),app.showSection("documents")},redirectToQuery:function(e,t,n,r){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n+"/documents?"+Genghis.Util.buildQuery({q:encodeURIComponent(r)}),!0)},document:function(e,t,n,r){document.title=this.buildTitle(e,t,n,decodeURIComponent(r)),app.selection.select(e,t,n,decodeURIComponent(r)),app.showSection("document")},redirectToDocument:function(e,t,n,r){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n+"/documents/"+r,!0)},redirectTo:function(e,t,n,r,i){return e?t?n?!r&&!i?this.redirectToCollection(e,t,n):i?this.redirectToQuery(e,t,n,i):this.redirectToDocument(e,t,n,r):this.redirectToDatabase(e,t):this.redirectToServer(e):this.redirectToIndex()},notFound:function(e){if(e.replace(/(^\/|\/$)/g,"")==app.baseUrl.replace(/(^\/|\/$)/g,""))return this.redirectToIndex();document.title=this.buildTitle("404: Not Found"),app.showSection(),app.showMasthead("404: Not Found","<p>If you think you've reached this message in error, please press <strong>0</strong> to speak with an operator. Otherwise, hang up and try again.</p>",{error:!0,epic:!0})},buildTitle:function(){var e=Array.prototype.slice.call(arguments);return e.length?"Genghis \u2014 "+e.join(" \u203a "):"Genghis"}});
|
1074
|
+
s||this.closed||s.start>e+n.length||s.start+s.added<e)this.done.push([{start:e,added:t,old:n}]),this.closed=!1;else{var u=Math.max(0,s.start-e),a=Math.max(0,e+n.length-(s.start+s.added));for(var f=u;f>0;--f)s.old.unshift(n[f-1]);for(var f=a;f>0;--f)s.old.push(n[n.length-f]);u&&(s.start=e),s.added+=t-(n.length-u-a)}this.time=r},startCompound:function(){this.compound++||(this.closed=!0)},endCompound:function(){--this.compound||(this.closed=!0)}},e.e_stop=tt,e.e_preventDefault=Z,e.e_stopPropagation=et,e.connect=st,ot.prototype={set:function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)}};var ut=e.Pass={toString:function(){return"CodeMirror.Pass"}},at=function(){if(g)return!1;var e=Et("div");return"draggable"in e||"dragDrop"in e}(),ft=function(){var e=Et("textarea");return e.value="foo\nbar",e.value.indexOf("\r")>-1?"\r\n":"\n"}(),lt=/^$/;d?lt=/$'/:x?lt=/\-[^ \-?]|\?[^ !'\"\),.\-\/:;\?\]\}]/:E&&(lt=/\-[^ \-\.?]|\?[^ \-\.?\]\}:;!'\"\),\/]|[\.!\"#&%\)*+,:;=>\]|\}~][\(\{\[<]|\$'/);var dt=[""],kt=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc]/,At="\n\nb".split(/\n/).length!=3?function(e){var t=0,n=[],r=e.length;while(t<=r){var i=e.indexOf("\n",t);i==-1&&(i=e.length);var s=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),o=s.indexOf("\r");o!=-1?(n.push(s.slice(0,o)),t+=o+1):(n.push(s),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)};e.splitLines=At;var Ot=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0};e.defineMode("null",function(){return{token:function(e){e.skipToEnd()}}}),e.defineMIME("text/plain","null");var Mt={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};return e.keyNames=Mt,function(){for(var e=0;e<10;e++)Mt[e+48]=String(e);for(var e=65;e<=90;e++)Mt[e]=String.fromCharCode(e);for(var e=1;e<=12;e++)Mt[e+111]=Mt[e+63235]="F"+e}(),e.version="2.38",e}(),CodeMirror.defineMode("javascript",function(e,t){function u(e,t,n){return t.tokenize=n,n(e,t)}function a(e,t){var n=!1,r;while((r=e.next())!=null){if(r==t&&!n)return!1;n=!n&&r=="\\"}return n}function c(e,t,n){return f=e,l=n,t}function h(e,t){var n=e.next();if(n=='"'||n=="'")return u(e,t,p(n));if(/[\[\]{}\(\),;\:\.]/.test(n))return c(n);if(n=="0"&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),c("number","number");if(/\d/.test(n)||n=="-"&&e.eat(/\d/))return e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),c("number","number");if(n=="/")return e.eat("*")?u(e,t,d):e.eat("/")?(e.skipToEnd(),c("comment","comment")):t.lastType=="operator"||t.lastType=="keyword c"||/^[\[{}\(,;:]$/.test(t.lastType)?(a(e,"/"),e.eatWhile(/[gimy]/),c("regexp","string-2")):(e.eatWhile(o),c("operator",null,e.current()));if(n=="#")return e.skipToEnd(),c("error","error");if(o.test(n))return e.eatWhile(o),c("operator",null,e.current());e.eatWhile(/[\w\$_]/);var r=e.current(),i=s.propertyIsEnumerable(r)&&s[r];return i&&t.lastType!="."?c(i.type,i.style,r):c("variable","variable",r)}function p(e){return function(t,n){return a(t,e)||(n.tokenize=h),c("string","string")}}function d(e,t){var n=!1,r;while(r=e.next()){if(r=="/"&&n){t.tokenize=h;break}n=r=="*"}return c("comment","comment")}function m(e,t,n,r,i,s){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=s,r!=null&&(this.align=r)}function g(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0}function y(e,t,n,i,s){var o=e.cc;b.state=e,b.stream=s,b.marked=null,b.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);for(;;){var u=o.length?o.pop():r?O:A;if(u(n,i)){while(o.length&&o[o.length-1].lex)o.pop()();return b.marked?b.marked:n=="variable"&&g(e,i)?"variable-2":t}}}function w(){for(var e=arguments.length-1;e>=0;e--)b.cc.push(arguments[e])}function E(){return w.apply(null,arguments),!0}function S(e){function t(t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}var n=b.state;if(n.context){b.marked="def";if(t(n.localVars))return;n.localVars={name:e,next:n.localVars}}else{if(t(n.globalVars))return;n.globalVars={name:e,next:n.globalVars}}}function T(){b.state.context={prev:b.state.context,vars:b.state.localVars},b.state.localVars=x}function N(){b.state.localVars=b.state.context.vars,b.state.context=b.state.context.prev}function C(e,t){var n=function(){var n=b.state;n.lexical=new m(n.indented,b.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function k(){var e=b.state;e.lexical.prev&&(e.lexical.type==")"&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function L(e){return function(n){return n==e?E():e==";"?w():E(arguments.callee)}}function A(e){return e=="var"?E(C("vardef"),q,L(";"),k):e=="keyword a"?E(C("form"),O,A,k):e=="keyword b"?E(C("form"),A,k):e=="{"?E(C("}"),j,k):e==";"?E():e=="function"?E(V):e=="for"?E(C("form"),L("("),C(")"),U,L(")"),k,A,k):e=="variable"?E(C("stat"),D):e=="switch"?E(C("form"),O,C("}","switch"),L("{"),j,k,k):e=="case"?E(O,L(":")):e=="default"?E(L(":")):e=="catch"?E(C("form"),T,L("("),$,L(")"),A,k,N):w(C("stat"),O,L(";"),k)}function O(e){return v.hasOwnProperty(e)?E(_):e=="function"?E(V):e=="keyword c"?E(M):e=="("?E(C(")"),M,L(")"),k,_):e=="operator"?E(O):e=="["?E(C("]"),B(O,"]"),k,_):e=="{"?E(C("}"),B(H,"}"),k,_):E()}function M(e){return e.match(/[;\}\)\],]/)?w():w(O)}function _(e,t){if(e=="operator"&&/\+\+|--/.test(t))return E(_);if(e=="operator"&&t=="?")return E(O,L(":"),O);if(e==";")return;if(e=="(")return E(C(")"),B(O,")"),k,_);if(e==".")return E(P,_);if(e=="[")return E(C("]"),O,L("]"),k,_)}function D(e){return e==":"?E(k,A):w(_,L(";"),k)}function P(e){if(e=="variable")return b.marked="property",E()}function H(e){e=="variable"&&(b.marked="property");if(v.hasOwnProperty(e))return E(L(":"),O)}function B(e,t){function n(r){return r==","?E(e,n):r==t?E():E(L(t))}return function(i){return i==t?E():w(e,n)}}function j(e){return e=="}"?E():w(A,j)}function F(e){return e==":"?E(I):w()}function I(e){return e=="variable"?(b.marked="variable-3",E()):w()}function q(e,t){return e=="variable"?(S(t),i?E(F,R):E(R)):w()}function R(e,t){if(t=="=")return E(O,R);if(e==",")return E(q)}function U(e){return e=="var"?E(q,L(";"),W):e==";"?E(W):e=="variable"?E(z):E(W)}function z(e,t){return t=="in"?E(O):E(_,W)}function W(e,t){return e==";"?E(X):t=="in"?E(O):E(O,L(";"),X)}function X(e){e!=")"&&E(O)}function V(e,t){if(e=="variable")return S(t),E(V);if(e=="(")return E(C(")"),T,B($,")"),k,A,N)}function $(e,t){if(e=="variable")return S(t),i?E(F):E()}var n=e.indentUnit,r=t.json,i=t.typescript,s=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),r=e("keyword c"),s=e("operator"),o={type:"atom",style:"atom"},u={"if":t,"while":t,"with":t,"else":n,"do":n,"try":n,"finally":n,"return":r,"break":r,"continue":r,"new":r,"delete":r,"throw":r,"var":e("var"),"const":e("var"),let:e("var"),"function":e("function"),"catch":e("catch"),"for":e("for"),"switch":e("switch"),"case":e("case"),"default":e("default"),"in":s,"typeof":s,"instanceof":s,"true":o,"false":o,"null":o,"undefined":o,NaN:o,Infinity:o};if(i){var a={type:"variable",style:"variable-3"},f={"interface":e("interface"),"class":e("class"),"extends":e("extends"),constructor:e("constructor"),"public":e("public"),"private":e("private"),"protected":e("protected"),"static":e("static"),"super":e("super"),string:a,number:a,bool:a,any:a};for(var l in f)u[l]=f[l]}return u}(),o=/[+\-*&%=<>!?|]/,f,l,v={atom:!0,number:!0,variable:!0,string:!0,regexp:!0},b={state:null,column:null,marked:null,cc:null},x={name:"this",next:{name:"arguments"}};return k.lex=!0,{startState:function(e){return{tokenize:h,lastType:null,cc:[],lexical:new m((e||0)-n,0,"block",!1),localVars:t.localVars,globalVars:t.globalVars,context:t.localVars&&{vars:t.localVars},indented:0}},token:function(e,t){e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation());if(e.eatSpace())return null;var n=t.tokenize(e,t);return f=="comment"?n:(t.lastType=f,y(t,n,f,l,e))},indent:function(e,t){if(e.tokenize==d)return CodeMirror.Pass;if(e.tokenize!=h)return 0;var r=t&&t.charAt(0),i=e.lexical;i.type=="stat"&&r=="}"&&(i=i.prev);var s=i.type,o=r==s;return s=="vardef"?i.indented+(e.lastType=="operator"||e.lastType==","?4:0):s=="form"&&r=="{"?i.indented:s=="form"?i.indented+n:s=="stat"?i.indented+(e.lastType=="operator"||e.lastType==","?n:0):i.info=="switch"&&!o?i.indented+(/^(?:case|default)\b/.test(t)?n:2*n):i.align?i.column+(o?0:1):i.indented+(o?0:n)},electricChars:":{}",jsonMode:r}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("text/ecmascript","javascript"),CodeMirror.defineMIME("application/javascript","javascript"),CodeMirror.defineMIME("application/ecmascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMIME("text/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMIME("application/typescript",{name:"javascript",typescript:!0}),!function(e){"use strict";function r(){e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||s.toggleClass("open"),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown-menu",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeout),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-content"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.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>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),function(e,t){"use strict";typeof define=="function"&&define.amd?define(["exports"],t):typeof exports!="undefined"?t(exports):t(e.esprima={})}(this,function(e){"use strict";function m(e,t){if(!e)throw new Error("ASSERT: "+t)}function g(e,t){return u.slice(e,t)}function y(e){return"0123456789".indexOf(e)>=0}function b(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function w(e){return"01234567".indexOf(e)>=0}function E(e){return e===" "||e===" "||e===""||e==="\f"||e==="\u00a0"||e.charCodeAt(0)>=5760&&"\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\ufeff".indexOf(e)>=0}function S(e){return e==="\n"||e==="\r"||e==="\u2028"||e==="\u2029"}function x(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"||e.charCodeAt(0)>=128&&o.NonAsciiIdentifierStart.test(e)}function T(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e.charCodeAt(0)>=128&&o.NonAsciiIdentifierPart.test(e)}function N(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0}return!1}function C(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0}return!1}function k(e){return e==="eval"||e==="arguments"}function L(e){var t=!1;switch(e.length){case 2:t=e==="if"||e==="in"||e==="do";break;case 3:t=e==="var"||e==="for"||e==="new"||e==="try";break;case 4:t=e==="this"||e==="else"||e==="case"||e==="void"||e==="with";break;case 5:t=e==="while"||e==="break"||e==="catch"||e==="throw";break;case 6:t=e==="return"||e==="typeof"||e==="delete"||e==="switch";break;case 7:t=e==="default"||e==="finally";break;case 8:t=e==="function"||e==="continue"||e==="debugger";break;case 10:t=e==="instanceof"}if(t)return!0;switch(e){case"const":return!0;case"yield":case"let":return!0}return a&&C(e)?!0:N(e)}function A(){var e,t,n;t=!1,n=!1;while(f<h){e=u[f];if(n)e=u[f++],S(e)&&(n=!1,e==="\r"&&u[f]==="\n"&&++f,++l,c=f);else if(t)S(e)?(e==="\r"&&u[f+1]==="\n"&&++f,++l,++f,c=f,f>=h&&R({},s.UnexpectedToken,"ILLEGAL")):(e=u[f++],f>=h&&R({},s.UnexpectedToken,"ILLEGAL"),e==="*"&&(e=u[f],e==="/"&&(++f,t=!1)));else if(e==="/"){e=u[f+1];if(e==="/")f+=2,n=!0;else{if(e!=="*")break;f+=2,t=!0,f>=h&&R({},s.UnexpectedToken,"ILLEGAL")}}else if(E(e))++f;else{if(!S(e))break;++f,e==="\r"&&u[f]==="\n"&&++f,++l,c=f}}}function O(e){var t,n,r,i=0;n=e==="u"?4:2;for(t=0;t<n;++t){if(!(f<h&&b(u[f])))return"";r=u[f++],i=i*16+"0123456789abcdef".indexOf(r.toLowerCase())}return String.fromCharCode(i)}function M(){var e,n,r,i;e=u[f];if(!x(e))return;n=f;if(e==="\\"){++f;if(u[f]!=="u")return;++f,i=f,e=O("u");if(e){if(e==="\\"||!x(e))return;r=e}else f=i,r="u"}else r=u[f++];while(f<h){e=u[f];if(!T(e))break;if(e==="\\"){++f;if(u[f]!=="u")return;++f,i=f,e=O("u");if(e){if(e==="\\"||!T(e))return;r+=e}else f=i,r+="u"}else r+=u[f++]}return r.length===1?{type:t.Identifier,value:r,lineNumber:l,lineStart:c,range:[n,f]}:L(r)?{type:t.Keyword,value:r,lineNumber:l,lineStart:c,range:[n,f]}:r==="null"?{type:t.NullLiteral,value:r,lineNumber:l,lineStart:c,range:[n,f]}:r==="true"||r==="false"?{type:t.BooleanLiteral,value:r,lineNumber:l,lineStart:c,range:[n,f]}:{type:t.Identifier,value:r,lineNumber:l,lineStart:c,range:[n,f]}}function _(){var e=f,n=u[f],r,i,s;if(n===";"||n==="{"||n==="}")return++f,{type:t.Punctuator,value:n,lineNumber:l,lineStart:c,range:[e,f]};if(n===","||n==="("||n===")")return++f,{type:t.Punctuator,value:n,lineNumber:l,lineStart:c,range:[e,f]};r=u[f+1];if(n==="."&&!y(r))return{type:t.Punctuator,value:u[f++],lineNumber:l,lineStart:c,range:[e,f]};i=u[f+2],s=u[f+3];if(n===">"&&r===">"&&i===">"&&s==="=")return f+=4,{type:t.Punctuator,value:">>>=",lineNumber:l,lineStart:c,range:[e,f]};if(n==="="&&r==="="&&i==="=")return f+=3,{type:t.Punctuator,value:"===",lineNumber:l,lineStart:c,range:[e,f]};if(n==="!"&&r==="="&&i==="=")return f+=3,{type:t.Punctuator,value:"!==",lineNumber:l,lineStart:c,range:[e,f]};if(n===">"&&r===">"&&i===">")return f+=3,{type:t.Punctuator,value:">>>",lineNumber:l,lineStart:c,range:[e,f]};if(n==="<"&&r==="<"&&i==="=")return f+=3,{type:t.Punctuator,value:"<<=",lineNumber:l,lineStart:c,range:[e,f]};if(n===">"&&r===">"&&i==="=")return f+=3,{type:t.Punctuator,value:">>=",lineNumber:l,lineStart:c,range:[e,f]};if(r==="="&&"<>=!+-*%&|^/".indexOf(n)>=0)return f+=2,{type:t.Punctuator,value:n+r,lineNumber:l,lineStart:c,range:[e,f]};if(n===r&&"+-<>&|".indexOf(n)>=0&&"+-<>&|".indexOf(r)>=0)return f+=2,{type:t.Punctuator,value:n+r,lineNumber:l,lineStart:c,range:[e,f]};if("[]<>+-*%&|^!~?:=/".indexOf(n)>=0)return{type:t.Punctuator,value:u[f++],lineNumber:l,lineStart:c,range:[e,f]}}function D(){var e,n,r;r=u[f],m(y(r)||r===".","Numeric literal must start with a decimal digit or a decimal point"),n=f,e="";if(r!=="."){e=u[f++],r=u[f];if(e==="0"){if(r==="x"||r==="X"){e+=u[f++];while(f<h){r=u[f];if(!b(r))break;e+=u[f++]}return e.length<=2&&R({},s.UnexpectedToken,"ILLEGAL"),f<h&&(r=u[f],x(r)&&R({},s.UnexpectedToken,"ILLEGAL")),{type:t.NumericLiteral,value:parseInt(e,16),lineNumber:l,lineStart:c,range:[n,f]}}if(w(r)){e+=u[f++];while(f<h){r=u[f];if(!w(r))break;e+=u[f++]}return f<h&&(r=u[f],(x(r)||y(r))&&R({},s.UnexpectedToken,"ILLEGAL")),{type:t.NumericLiteral,value:parseInt(e,8),octal:!0,lineNumber:l,lineStart:c,range:[n,f]}}y(r)&&R({},s.UnexpectedToken,"ILLEGAL")}while(f<h){r=u[f];if(!y(r))break;e+=u[f++]}}if(r==="."){e+=u[f++];while(f<h){r=u[f];if(!y(r))break;e+=u[f++]}}if(r==="e"||r==="E"){e+=u[f++],r=u[f];if(r==="+"||r==="-")e+=u[f++];r=u[f];if(y(r)){e+=u[f++];while(f<h){r=u[f];if(!y(r))break;e+=u[f++]}}else r="character "+r,f>=h&&(r="<end>"),R({},s.UnexpectedToken,"ILLEGAL")}return f<h&&(r=u[f],x(r)&&R({},s.UnexpectedToken,"ILLEGAL")),{type:t.NumericLiteral,value:parseFloat(e),lineNumber:l,lineStart:c,range:[n,f]}}function P(){var e="",n,r,i,o,a,p,d=!1;n=u[f],m(n==="'"||n==='"',"String literal must starts with a quote"),r=f,++f;while(f<h){i=u[f++];if(i===n){n="";break}if(i==="\\"){i=u[f++];if(!S(i))switch(i){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+=" ";break;case"u":case"x":p=f,a=O(i),a?e+=a:(f=p,e+=i);break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="";break;default:w(i)?(o="01234567".indexOf(i),o!==0&&(d=!0),f<h&&w(u[f])&&(d=!0,o=o*8+"01234567".indexOf(u[f++]),"0123".indexOf(i)>=0&&f<h&&w(u[f])&&(o=o*8+"01234567".indexOf(u[f++]))),e+=String.fromCharCode(o)):e+=i}else++l,i==="\r"&&u[f]==="\n"&&++f}else{if(S(i))break;e+=i}}return n!==""&&R({},s.UnexpectedToken,"ILLEGAL"),{type:t.StringLiteral,value:e,octal:d,lineNumber:l,lineStart:c,range:[r,f]}}function H(){var e,t,n,r,i,o,a=!1,l,c=!1;p=null,A(),n=f,t=u[f],m(t==="/","Regular expression literal must start with a slash"),e=u[f++];while(f<h){t=u[f++],e+=t;if(a)t==="]"&&(a=!1);else if(t==="\\")t=u[f++],S(t)&&R({},s.UnterminatedRegExp),e+=t;else{if(t==="/"){c=!0;break}t==="["?a=!0:S(t)&&R({},s.UnterminatedRegExp)}}c||R({},s.UnterminatedRegExp),r=e.substr(1,e.length-2),i="";while(f<h){t=u[f];if(!T(t))break;++f;if(t==="\\"&&f<h){t=u[f];if(t==="u"){++f,l=f,t=O("u");if(t){i+=t,e+="\\u";for(;l<f;++l)e+=u[l]}else f=l,i+="u",e+="\\u"}else e+="\\"}else i+=t,e+=t}try{o=new RegExp(r,i)}catch(d){R({},s.InvalidRegExp)}return{literal:e,value:o,range:[n,f]}}function B(e){return e.type===t.Identifier||e.type===t.Keyword||e.type===t.BooleanLiteral||e.type===t.NullLiteral}function j(){var e,n;A();if(f>=h)return{type:t.EOF,lineNumber:l,lineStart:c,range:[f,f]};n=_();if(typeof n!="undefined")return n;e=u[f];if(e==="'"||e==='"')return P();if(e==="."||y(e))return D();n=M();if(typeof n!="undefined")return n;R({},s.UnexpectedToken,"ILLEGAL")}function F(){var e;return p?(f=p.range[1],l=p.lineNumber,c=p.lineStart,e=p,p=null,e):(p=null,j())}function I(){var e,t,n;return p!==null?p:(e=f,t=l,n=c,p=j(),f=e,l=t,c=n,p)}function q(){var e,t,n,r;return e=f,t=l,n=c,A(),r=l!==t,f=e,l=t,c=n,r}function R(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,function(e,t){return r[t]||""});throw typeof e.lineNumber=="number"?(n=new Error("Line "+e.lineNumber+": "+i),n.index=e.range[0],n.lineNumber=e.lineNumber,n.column=e.range[0]-c+1):(n=new Error("Line "+l+": "+i),n.index=f,n.lineNumber=l,n.column=f-c+1),n}function U(){try{R.apply(null,arguments)}catch(e){if(!v.errors)throw e;v.errors.push(e)}}function z(e){e.type===t.EOF&&R(e,s.UnexpectedEOS),e.type===t.NumericLiteral&&R(e,s.UnexpectedNumber),e.type===t.StringLiteral&&R(e,s.UnexpectedString),e.type===t.Identifier&&R(e,s.UnexpectedIdentifier);if(e.type===t.Keyword){if(N(e.value))R(e,s.UnexpectedReserved);else if(a&&C(e.value)){U(e,s.StrictReservedWord);return}R(e,s.UnexpectedToken,e.value)}R(e,s.UnexpectedToken,e.value)}function W(e){var n=F();(n.type!==t.Punctuator||n.value!==e)&&z(n)}function X(e){var n=F();(n.type!==t.Keyword||n.value!==e)&&z(n)}function V(e){var n=I();return n.type===t.Punctuator&&n.value===e}function $(e){var n=I();return n.type===t.Keyword&&n.value===e}function J(){var e=I(),n=e.value;return e.type!==t.Punctuator?!1:n==="="||n==="*="||n==="/="||n==="%="||n==="+="||n==="-="||n==="<<="||n===">>="||n===">>>="||n==="&="||n==="^="||n==="|="}function K(){var e,n;if(u[f]===";"){F();return}n=l,A();if(l!==n)return;if(V(";")){F();return}e=I(),e.type!==t.EOF&&!V("}")&&z(e)}function Q(e){return e.type===r.Identifier||e.type===r.MemberExpression}function G(){var e=[];W("[");while(!V("]"))V(",")?(F(),e.push(null)):(e.push(Tt()),V("]")||W(","));return W("]"),{type:r.ArrayExpression,elements:e}}function Y(e,t){var n,i;return n=a,i=Gt(),t&&a&&k(e[0].name)&&U(t,s.StrictParamName),a=n,{type:r.FunctionExpression,id:null,params:e,defaults:[],body:i,rest:null,generator:!1,expression:!1}}function Z(){var e=F();return e.type===t.StringLiteral||e.type===t.NumericLiteral?(a&&e.octal&&U(e,s.StrictOctalLiteral),ln(e)):{type:r.Identifier,name:e.value}}function et(){var e,n,i,s;e=I();if(e.type===t.Identifier)return i=Z(),e.value==="get"&&!V(":")?(n=Z(),W("("),W(")"),{type:r.Property,key:n,value:Y([]),kind:"get"}):e.value==="set"&&!V(":")?(n=Z(),W("("),e=I(),e.type!==t.Identifier&&z(F()),s=[Lt()],W(")"),{type:r.Property,key:n,value:Y(s,e),kind:"set"}):(W(":"),{type:r.Property,key:i,value:Tt(),kind:"init"});if(e.type!==t.EOF&&e.type!==t.Punctuator)return n=Z(),W(":"),{type:r.Property,key:n,value:Tt(),kind:"init"};z(e)}function tt(){var e=[],t,n,o,u={},f=String;W("{");while(!V("}"))t=et(),t.key.type===r.Identifier?n=t.key.name:n=f(t.key.value),o=t.kind==="init"?i.Data:t.kind==="get"?i.Get:i.Set,Object.prototype.hasOwnProperty.call(u,n)?(u[n]===i.Data?a&&o===i.Data?U({},s.StrictDuplicateProperty):o!==i.Data&&U({},s.AccessorDataProperty):o===i.Data?U({},s.AccessorDataProperty):u[n]&o&&U({},s.AccessorGetSet),u[n]|=o):u[n]=o,e.push(t),V("}")||W(",");return W("}"),{type:r.ObjectExpression,properties:e}}function nt(){var e;return W("("),e=Nt(),W(")"),e}function rt(){var e=I(),n=e.type;if(n===t.Identifier)return{type:r.Identifier,name:F().value};if(n===t.StringLiteral||n===t.NumericLiteral)return a&&e.octal&&U(e,s.StrictOctalLiteral),ln(F());if(n===t.Keyword){if($("this"))return F(),{type:r.ThisExpression};if($("function"))return Zt()}return n===t.BooleanLiteral?(F(),e.value=e.value==="true",ln(e)):n===t.NullLiteral?(F(),e.value=null,ln(e)):V("[")?G():V("{")?tt():V("(")?nt():V("/")||V("/=")?ln(H()):z(F())}function it(){var e=[];W("(");if(!V(")"))while(f<h){e.push(Tt());if(V(")"))break;W(",")}return W(")"),e}function st(){var e=F();return B(e)||z(e),{type:r.Identifier,name:e.value}}function ot(){return W("."),st()}function ut(){var e;return W("["),e=Nt(),W("]"),e}function at(){var e;return X("new"),e={type:r.NewExpression,callee:lt(),arguments:[]},V("(")&&(e.arguments=it()),e}function ft(){var e;e=$("new")?at():rt();while(V(".")||V("[")||V("("))V("(")?e={type:r.CallExpression
|
1075
|
+
,callee:e,arguments:it()}:V("[")?e={type:r.MemberExpression,computed:!0,object:e,property:ut()}:e={type:r.MemberExpression,computed:!1,object:e,property:ot()};return e}function lt(){var e;e=$("new")?at():rt();while(V(".")||V("["))V("[")?e={type:r.MemberExpression,computed:!0,object:e,property:ut()}:e={type:r.MemberExpression,computed:!1,object:e,property:ot()};return e}function ct(){var e=ft(),n;return n=I(),n.type!==t.Punctuator?e:((V("++")||V("--"))&&!q()&&(a&&e.type===r.Identifier&&k(e.name)&&U({},s.StrictLHSPostfix),Q(e)||R({},s.InvalidLHSInAssignment),e={type:r.UpdateExpression,operator:F().value,argument:e,prefix:!1}),e)}function ht(){var e,n;return e=I(),e.type!==t.Punctuator&&e.type!==t.Keyword?ct():V("++")||V("--")?(e=F(),n=ht(),a&&n.type===r.Identifier&&k(n.name)&&U({},s.StrictLHSPrefix),Q(n)||R({},s.InvalidLHSInAssignment),n={type:r.UpdateExpression,operator:e.value,argument:n,prefix:!0},n):V("+")||V("-")||V("~")||V("!")?(n={type:r.UnaryExpression,operator:F().value,argument:ht()},n):$("delete")||$("void")||$("typeof")?(n={type:r.UnaryExpression,operator:F().value,argument:ht()},a&&n.operator==="delete"&&n.argument.type===r.Identifier&&U({},s.StrictDelete),n):ct()}function pt(){var e=ht();while(V("*")||V("/")||V("%"))e={type:r.BinaryExpression,operator:F().value,left:e,right:ht()};return e}function dt(){var e=pt();while(V("+")||V("-"))e={type:r.BinaryExpression,operator:F().value,left:e,right:pt()};return e}function vt(){var e=dt();while(V("<<")||V(">>")||V(">>>"))e={type:r.BinaryExpression,operator:F().value,left:e,right:dt()};return e}function mt(){var e,t;t=d.allowIn,d.allowIn=!0,e=vt();while(V("<")||V(">")||V("<=")||V(">=")||t&&$("in")||$("instanceof"))e={type:r.BinaryExpression,operator:F().value,left:e,right:vt()};return d.allowIn=t,e}function gt(){var e=mt();while(V("==")||V("!=")||V("===")||V("!=="))e={type:r.BinaryExpression,operator:F().value,left:e,right:mt()};return e}function yt(){var e=gt();while(V("&"))F(),e={type:r.BinaryExpression,operator:"&",left:e,right:gt()};return e}function bt(){var e=yt();while(V("^"))F(),e={type:r.BinaryExpression,operator:"^",left:e,right:yt()};return e}function wt(){var e=bt();while(V("|"))F(),e={type:r.BinaryExpression,operator:"|",left:e,right:bt()};return e}function Et(){var e=wt();while(V("&&"))F(),e={type:r.LogicalExpression,operator:"&&",left:e,right:wt()};return e}function St(){var e=Et();while(V("||"))F(),e={type:r.LogicalExpression,operator:"||",left:e,right:Et()};return e}function xt(){var e,t,n;return e=St(),V("?")&&(F(),t=d.allowIn,d.allowIn=!0,n=Tt(),d.allowIn=t,W(":"),e={type:r.ConditionalExpression,test:e,consequent:n,alternate:Tt()}),e}function Tt(){var e,t;return e=I(),t=xt(),J()&&(Q(t)||R({},s.InvalidLHSInAssignment),a&&t.type===r.Identifier&&k(t.name)&&U(e,s.StrictLHSAssignment),t={type:r.AssignmentExpression,operator:F().value,left:t,right:Tt()}),t}function Nt(){var e=Tt();if(V(",")){e={type:r.SequenceExpression,expressions:[e]};while(f<h){if(!V(","))break;F(),e.expressions.push(Tt())}}return e}function Ct(){var e=[],t;while(f<h){if(V("}"))break;t=en();if(typeof t=="undefined")break;e.push(t)}return e}function kt(){var e;return W("{"),e=Ct(),W("}"),{type:r.BlockStatement,body:e}}function Lt(){var e=F();return e.type!==t.Identifier&&z(e),{type:r.Identifier,name:e.value}}function At(e){var t=Lt(),n=null;return a&&k(t.name)&&U({},s.StrictVarName),e==="const"?(W("="),n=Tt()):V("=")&&(F(),n=Tt()),{type:r.VariableDeclarator,id:t,init:n}}function Ot(e){var t=[];while(f<h){t.push(At(e));if(!V(","))break;F()}return t}function Mt(){var e;return X("var"),e=Ot(),K(),{type:r.VariableDeclaration,declarations:e,kind:"var"}}function _t(e){var t;return X(e),t=Ot(e),K(),{type:r.VariableDeclaration,declarations:t,kind:e}}function Dt(){return W(";"),{type:r.EmptyStatement}}function Pt(){var e=Nt();return K(),{type:r.ExpressionStatement,expression:e}}function Ht(){var e,t,n;return X("if"),W("("),e=Nt(),W(")"),t=Qt(),$("else")?(F(),n=Qt()):n=null,{type:r.IfStatement,test:e,consequent:t,alternate:n}}function Bt(){var e,t,n;return X("do"),n=d.inIteration,d.inIteration=!0,e=Qt(),d.inIteration=n,X("while"),W("("),t=Nt(),W(")"),V(";")&&F(),{type:r.DoWhileStatement,body:e,test:t}}function jt(){var e,t,n;return X("while"),W("("),e=Nt(),W(")"),n=d.inIteration,d.inIteration=!0,t=Qt(),d.inIteration=n,{type:r.WhileStatement,test:e,body:t}}function Ft(){var e=F();return{type:r.VariableDeclaration,declarations:Ot(),kind:e.value}}function It(){var e,t,n,i,o,u,a;return e=t=n=null,X("for"),W("("),V(";")?F():($("var")||$("let")?(d.allowIn=!1,e=Ft(),d.allowIn=!0,e.declarations.length===1&&$("in")&&(F(),i=e,o=Nt(),e=null)):(d.allowIn=!1,e=Nt(),d.allowIn=!0,$("in")&&(Q(e)||R({},s.InvalidLHSInForIn),F(),i=e,o=Nt(),e=null)),typeof i=="undefined"&&W(";")),typeof i=="undefined"&&(V(";")||(t=Nt()),W(";"),V(")")||(n=Nt())),W(")"),a=d.inIteration,d.inIteration=!0,u=Qt(),d.inIteration=a,typeof i=="undefined"?{type:r.ForStatement,init:e,test:t,update:n,body:u}:{type:r.ForInStatement,left:i,right:o,body:u,each:!1}}function qt(){var e,n=null;return X("continue"),u[f]===";"?(F(),d.inIteration||R({},s.IllegalContinue),{type:r.ContinueStatement,label:null}):q()?(d.inIteration||R({},s.IllegalContinue),{type:r.ContinueStatement,label:null}):(e=I(),e.type===t.Identifier&&(n=Lt(),Object.prototype.hasOwnProperty.call(d.labelSet,n.name)||R({},s.UnknownLabel,n.name)),K(),n===null&&!d.inIteration&&R({},s.IllegalContinue),{type:r.ContinueStatement,label:n})}function Rt(){var e,n=null;return X("break"),u[f]===";"?(F(),!d.inIteration&&!d.inSwitch&&R({},s.IllegalBreak),{type:r.BreakStatement,label:null}):q()?(!d.inIteration&&!d.inSwitch&&R({},s.IllegalBreak),{type:r.BreakStatement,label:null}):(e=I(),e.type===t.Identifier&&(n=Lt(),Object.prototype.hasOwnProperty.call(d.labelSet,n.name)||R({},s.UnknownLabel,n.name)),K(),n===null&&!d.inIteration&&!d.inSwitch&&R({},s.IllegalBreak),{type:r.BreakStatement,label:n})}function Ut(){var e,n=null;return X("return"),d.inFunctionBody||U({},s.IllegalReturn),u[f]===" "&&x(u[f+1])?(n=Nt(),K(),{type:r.ReturnStatement,argument:n}):q()?{type:r.ReturnStatement,argument:null}:(V(";")||(e=I(),!V("}")&&e.type!==t.EOF&&(n=Nt())),K(),{type:r.ReturnStatement,argument:n})}function zt(){var e,t;return a&&U({},s.StrictModeWith),X("with"),W("("),e=Nt(),W(")"),t=Qt(),{type:r.WithStatement,object:e,body:t}}function Wt(){var e,t=[],n;$("default")?(F(),e=null):(X("case"),e=Nt()),W(":");while(f<h){if(V("}")||$("default")||$("case"))break;n=Qt();if(typeof n=="undefined")break;t.push(n)}return{type:r.SwitchCase,test:e,consequent:t}}function Xt(){var e,t,n,i,o;X("switch"),W("("),e=Nt(),W(")"),W("{");if(V("}"))return F(),{type:r.SwitchStatement,discriminant:e};t=[],i=d.inSwitch,d.inSwitch=!0,o=!1;while(f<h){if(V("}"))break;n=Wt(),n.test===null&&(o&&R({},s.MultipleDefaultsInSwitch),o=!0),t.push(n)}return d.inSwitch=i,W("}"),{type:r.SwitchStatement,discriminant:e,cases:t}}function Vt(){var e;return X("throw"),q()&&R({},s.NewlineAfterThrow),e=Nt(),K(),{type:r.ThrowStatement,argument:e}}function $t(){var e;return X("catch"),W("("),V(")")||(e=Nt(),a&&e.type===r.Identifier&&k(e.name)&&U({},s.StrictCatchVariable)),W(")"),{type:r.CatchClause,param:e,body:kt()}}function Jt(){var e,t=[],n=null;return X("try"),e=kt(),$("catch")&&t.push($t()),$("finally")&&(F(),n=kt()),t.length===0&&!n&&R({},s.NoCatchOrFinally),{type:r.TryStatement,block:e,guardedHandlers:[],handlers:t,finalizer:n}}function Kt(){return X("debugger"),K(),{type:r.DebuggerStatement}}function Qt(){var e=I(),n,i;e.type===t.EOF&&z(e);if(e.type===t.Punctuator)switch(e.value){case";":return Dt();case"{":return kt();case"(":return Pt();default:}if(e.type===t.Keyword)switch(e.value){case"break":return Rt();case"continue":return qt();case"debugger":return Kt();case"do":return Bt();case"for":return It();case"function":return Yt();case"if":return Ht();case"return":return Ut();case"switch":return Xt();case"throw":return Vt();case"try":return Jt();case"var":return Mt();case"while":return jt();case"with":return zt();default:}return n=Nt(),n.type===r.Identifier&&V(":")?(F(),Object.prototype.hasOwnProperty.call(d.labelSet,n.name)&&R({},s.Redeclaration,"Label",n.name),d.labelSet[n.name]=!0,i=Qt(),delete d.labelSet[n.name],{type:r.LabeledStatement,label:n,body:i}):(K(),{type:r.ExpressionStatement,expression:n})}function Gt(){var e,n=[],i,o,u,l,c,p,v;W("{");while(f<h){i=I();if(i.type!==t.StringLiteral)break;e=en(),n.push(e);if(e.expression.type!==r.Literal)break;o=g(i.range[0]+1,i.range[1]-1),o==="use strict"?(a=!0,u&&U(u,s.StrictOctalLiteral)):!u&&i.octal&&(u=i)}l=d.labelSet,c=d.inIteration,p=d.inSwitch,v=d.inFunctionBody,d.labelSet={},d.inIteration=!1,d.inSwitch=!1,d.inFunctionBody=!0;while(f<h){if(V("}"))break;e=en();if(typeof e=="undefined")break;n.push(e)}return W("}"),d.labelSet=l,d.inIteration=c,d.inSwitch=p,d.inFunctionBody=v,{type:r.BlockStatement,body:n}}function Yt(){var e,t,n=[],i,o,u,l,c,p,d;X("function"),o=I(),e=Lt(),a?k(o.value)&&U(o,s.StrictFunctionName):k(o.value)?(l=o,c=s.StrictFunctionName):C(o.value)&&(l=o,c=s.StrictReservedWord),W("(");if(!V(")")){d={};while(f<h){o=I(),t=Lt(),a?(k(o.value)&&(u=o,c=s.StrictParamName),Object.prototype.hasOwnProperty.call(d,o.value)&&(u=o,c=s.StrictParamDupe)):l||(k(o.value)?(l=o,c=s.StrictParamName):C(o.value)?(l=o,c=s.StrictReservedWord):Object.prototype.hasOwnProperty.call(d,o.value)&&(l=o,c=s.StrictParamDupe)),n.push(t),d[t.name]=!0;if(V(")"))break;W(",")}}return W(")"),p=a,i=Gt(),a&&l&&R(l,c),a&&u&&U(u,c),a=p,{type:r.FunctionDeclaration,id:e,params:n,defaults:[],body:i,rest:null,generator:!1,expression:!1}}function Zt(){var e,t=null,n,i,o,u,l=[],c,p,d;X("function"),V("(")||(e=I(),t=Lt(),a?k(e.value)&&U(e,s.StrictFunctionName):k(e.value)?(i=e,o=s.StrictFunctionName):C(e.value)&&(i=e,o=s.StrictReservedWord)),W("(");if(!V(")")){d={};while(f<h){e=I(),u=Lt(),a?(k(e.value)&&(n=e,o=s.StrictParamName),Object.prototype.hasOwnProperty.call(d,e.value)&&(n=e,o=s.StrictParamDupe)):i||(k(e.value)?(i=e,o=s.StrictParamName):C(e.value)?(i=e,o=s.StrictReservedWord):Object.prototype.hasOwnProperty.call(d,e.value)&&(i=e,o=s.StrictParamDupe)),l.push(u),d[u.name]=!0;if(V(")"))break;W(",")}}return W(")"),p=a,c=Gt(),a&&i&&R(i,o),a&&n&&U(n,o),a=p,{type:r.FunctionExpression,id:t,params:l,defaults:[],body:c,rest:null,generator:!1,expression:!1}}function en(){var e=I();if(e.type===t.Keyword)switch(e.value){case"const":case"let":return _t(e.value);case"function":return Yt();default:return Qt()}if(e.type!==t.EOF)return Qt()}function tn(){var e,n=[],i,o,u;while(f<h){i=I();if(i.type!==t.StringLiteral)break;e=en(),n.push(e);if(e.expression.type!==r.Literal)break;o=g(i.range[0]+1,i.range[1]-1),o==="use strict"?(a=!0,u&&U(u,s.StrictOctalLiteral)):!u&&i.octal&&(u=i)}while(f<h){e=en();if(typeof e=="undefined")break;n.push(e)}return n}function nn(){var e;return a=!1,e={type:r.Program,body:tn()},e}function rn(e,t,n,r,i){m(typeof n=="number","Comment must have valid position");if(v.comments.length>0&&v.comments[v.comments.length-1].range[1]>n)return;v.comments.push({type:e,value:t,range:[n,r],loc:i})}function sn(){var e,t,n,r,i,o;e="",i=!1,o=!1;while(f<h){t=u[f];if(o)t=u[f++],S(t)?(n.end={line:l,column:f-c-1},o=!1,rn("Line",e,r,f-1,n),t==="\r"&&u[f]==="\n"&&++f,++l,c=f,e=""):f>=h?(o=!1,e+=t,n.end={line:l,column:h-c},rn("Line",e,r,h,n)):e+=t;else if(i)S(t)?(t==="\r"&&u[f+1]==="\n"?(++f,e+="\r\n"):e+=t,++l,++f,c=f,f>=h&&R({},s.UnexpectedToken,"ILLEGAL")):(t=u[f++],f>=h&&R({},s.UnexpectedToken,"ILLEGAL"),e+=t,t==="*"&&(t=u[f],t==="/"&&(e=e.substr(0,e.length-1),i=!1,++f,n.end={line:l,column:f-c},rn("Block",e,r,f,n),e="")));else if(t==="/"){t=u[f+1];if(t==="/")n={start:{line:l,column:f-c}},r=f,f+=2,o=!0,f>=h&&(n.end={line:l,column:f-c},o=!1,rn("Line",e,r,f,n));else{if(t!=="*")break;r=f,f+=2,i=!0,n={start:{line:l,column:f-c-2}},f>=h&&R({},s.UnexpectedToken,"ILLEGAL")}}else if(E(t))++f;else{if(!S(t))break;++f,t==="\r"&&u[f]==="\n"&&++f,++l,c=f}}}function on(){var e,t,n,r=[];for(e=0;e<v.comments.length;++e)t=v.comments[e],n={type:t.type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.comments=r}function un(){var e,r,i,s,o;return A(),e=f,r={start:{line:l,column:f-c}},i=v.advance(),r.end={line:l,column:f-c},i.type!==t.EOF&&(s=[i.range[0],i.range[1]],o=g(i.range[0],i.range[1]),v.tokens.push({type:n[i.type],value:o,range:s,loc:r})),i}function an(){var e,t,n,r;return A(),e=f,t={start:{line:l,column:f-c}},n=v.scanRegExp(),t.end={line:l,column:f-c},v.tokens.length>0&&(r=v.tokens[v.tokens.length-1],r.range[0]===e&&r.type==="Punctuator"&&(r.value==="/"||r.value==="/=")&&v.tokens.pop()),v.tokens.push({type:"RegularExpression",value:n.literal,range:[e,f],loc:t}),n}function fn(){var e,t,n,r=[];for(e=0;e<v.tokens.length;++e)t=v.tokens[e],n={type:t.type,value:t.value},v.range&&(n.range=t.range),v.loc&&(n.loc=t.loc),r.push(n);v.tokens=r}function ln(e){return{type:r.Literal,value:e.value}}function cn(e){return{type:r.Literal,value:e.value,raw:g(e.range[0],e.range[1])}}function hn(){var e={};return e.range=[f,f],e.loc={start:{line:l,column:f-c},end:{line:l,column:f-c}},e.end=function(){this.range[1]=f,this.loc.end.line=l,this.loc.end.column=f-c},e.applyGroup=function(e){v.range&&(e.groupRange=[this.range[0],this.range[1]]),v.loc&&(e.groupLoc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e.apply=function(e){v.range&&(e.range=[this.range[0],this.range[1]]),v.loc&&(e.loc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e}function pn(){var e,t;return A(),e=hn(),W("("),t=Nt(),W(")"),e.end(),e.applyGroup(t),t}function dn(){var e,t;A(),e=hn(),t=$("new")?at():rt();while(V(".")||V("["))V("[")?(t={type:r.MemberExpression,computed:!0,object:t,property:ut()},e.end(),e.apply(t)):(t={type:r.MemberExpression,computed:!1,object:t,property:ot()},e.end(),e.apply(t));return t}function vn(){var e,t;A(),e=hn(),t=$("new")?at():rt();while(V(".")||V("[")||V("("))V("(")?(t={type:r.CallExpression,callee:t,arguments:it()},e.end(),e.apply(t)):V("[")?(t={type:r.MemberExpression,computed:!0,object:t,property:ut()},e.end(),e.apply(t)):(t={type:r.MemberExpression,computed:!1,object:t,property:ot()},e.end(),e.apply(t));return t}function mn(e){var t,n,r;t=Object.prototype.toString.apply(e)==="[object Array]"?[]:{};for(n in e)e.hasOwnProperty(n)&&n!=="groupRange"&&n!=="groupLoc"&&(r=e[n],r===null||typeof r!="object"||r instanceof RegExp?t[n]=r:t[n]=mn(r));return t}function gn(e,t){return function(n){function i(e){return e.type===r.LogicalExpression||e.type===r.BinaryExpression}function s(n){var r,o;i(n.left)&&s(n.left),i(n.right)&&s(n.right),e&&(n.left.groupRange||n.right.groupRange?(r=n.left.groupRange?n.left.groupRange[0]:n.left.range[0],o=n.right.groupRange?n.right.groupRange[1]:n.right.range[1],n.range=[r,o]):typeof n.range=="undefined"&&(r=n.left.range[0],o=n.right.range[1],n.range=[r,o])),t&&(n.left.groupLoc||n.right.groupLoc?(r=n.left.groupLoc?n.left.groupLoc.start:n.left.loc.start,o=n.right.groupLoc?n.right.groupLoc.end:n.right.loc.end,n.loc={start:r,end:o}):typeof n.loc=="undefined"&&(n.loc={start:n.left.loc.start,end:n.right.loc.end}))}return function(){var r,o;return A(),r=hn(),o=n.apply(null,arguments),r.end(),e&&typeof o.range=="undefined"&&r.apply(o),t&&typeof o.loc=="undefined"&&r.apply(o),i(o)&&s(o),o}}}function yn(){var e;v.comments&&(v.skipComment=A,A=sn),v.raw&&(v.createLiteral=ln,ln=cn);if(v.range||v.loc)v.parseGroupExpression=nt,v.parseLeftHandSideExpression=lt,v.parseLeftHandSideExpressionAllowCall=ft,nt=pn,lt=dn,ft=vn,e=gn(v.range,v.loc),v.parseAdditiveExpression=dt,v.parseAssignmentExpression=Tt,v.parseBitwiseANDExpression=yt,v.parseBitwiseORExpression=wt,v.parseBitwiseXORExpression=bt,v.parseBlock=kt,v.parseFunctionSourceElements=Gt,v.parseCatchClause=$t,v.parseComputedMember=ut,v.parseConditionalExpression=xt,v.parseConstLetDeclaration=_t,v.parseEqualityExpression=gt,v.parseExpression=Nt,v.parseForVariableDeclaration=Ft,v.parseFunctionDeclaration=Yt,v.parseFunctionExpression=Zt,v.parseLogicalANDExpression=Et,v.parseLogicalORExpression=St,v.parseMultiplicativeExpression=pt,v.parseNewExpression=at,v.parseNonComputedProperty=st,v.parseObjectProperty=et,v.parseObjectPropertyKey=Z,v.parsePostfixExpression=ct,v.parsePrimaryExpression=rt,v.parseProgram=nn,v.parsePropertyFunction=Y,v.parseRelationalExpression=mt,v.parseStatement=Qt,v.parseShiftExpression=vt,v.parseSwitchCase=Wt,v.parseUnaryExpression=ht,v.parseVariableDeclaration=At,v.parseVariableIdentifier=Lt,dt=e(v.parseAdditiveExpression),Tt=e(v.parseAssignmentExpression),yt=e(v.parseBitwiseANDExpression),wt=e(v.parseBitwiseORExpression),bt=e(v.parseBitwiseXORExpression),kt=e(v.parseBlock),Gt=e(v.parseFunctionSourceElements),$t=e(v.parseCatchClause),ut=e(v.parseComputedMember),xt=e(v.parseConditionalExpression),_t=e(v.parseConstLetDeclaration),gt=e(v.parseEqualityExpression),Nt=e(v.parseExpression),Ft=e(v.parseForVariableDeclaration),Yt=e(v.parseFunctionDeclaration),Zt=e(v.parseFunctionExpression),lt=e(lt),Et=e(v.parseLogicalANDExpression),St=e(v.parseLogicalORExpression),pt=e(v.parseMultiplicativeExpression),at=e(v.parseNewExpression),st=e(v.parseNonComputedProperty),et=e(v.parseObjectProperty),Z=e(v.parseObjectPropertyKey),ct=e(v.parsePostfixExpression),rt=e(v.parsePrimaryExpression),nn=e(v.parseProgram),Y=e(v.parsePropertyFunction),mt=e(v.parseRelationalExpression),Qt=e(v.parseStatement),vt=e(v.parseShiftExpression),Wt=e(v.parseSwitchCase),ht=e(v.parseUnaryExpression),At=e(v.parseVariableDeclaration),Lt=e(v.parseVariableIdentifier);typeof v.tokens!="undefined"&&(v.advance=j,v.scanRegExp=H,j=un,H=an)}function bn(){typeof v.skipComment=="function"&&(A=v.skipComment),v.raw&&(ln=v.createLiteral);if(v.range||v.loc)dt=v.parseAdditiveExpression,Tt=v.parseAssignmentExpression,yt=v.parseBitwiseANDExpression,wt=v.parseBitwiseORExpression,bt=v.parseBitwiseXORExpression,kt=v.parseBlock,Gt=v.parseFunctionSourceElements,$t=v.parseCatchClause,ut=v.parseComputedMember,xt=v.parseConditionalExpression,_t=v.parseConstLetDeclaration,gt=v.parseEqualityExpression,Nt=v.parseExpression,Ft=v.parseForVariableDeclaration,Yt=v.parseFunctionDeclaration,Zt=v.parseFunctionExpression,nt=v.parseGroupExpression,lt=v.parseLeftHandSideExpression,ft=v.parseLeftHandSideExpressionAllowCall,Et=v.parseLogicalANDExpression,St=v.parseLogicalORExpression,pt=v.parseMultiplicativeExpression,at=v.parseNewExpression,st=v.parseNonComputedProperty,et=v.parseObjectProperty,Z=v.parseObjectPropertyKey,rt=v.parsePrimaryExpression,ct=v.parsePostfixExpression,nn=v.parseProgram,Y=v.parsePropertyFunction,mt=v.parseRelationalExpression,Qt=v.parseStatement,vt=v.parseShiftExpression,Wt=v.parseSwitchCase,ht=v.parseUnaryExpression,At=v.parseVariableDeclaration,Lt=v.parseVariableIdentifier;typeof v.scanRegExp=="function"&&(j=v.advance,H=v.scanRegExp)}function wn(e){var t=e.length,n=[],r;for(r=0;r<t;++r)n[r]=e.charAt(r);return n}function En(e,t){var n,r;r=String,typeof e!="string"&&!(e instanceof String)&&(e=r(e)),u=e,f=0,l=u.length>0?1:0,c=0,h=u.length,p=null,d={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1},v={},typeof t!="undefined"&&(v.range=typeof t.range=="boolean"&&t.range,v.loc=typeof t.loc=="boolean"&&t.loc,v.raw=typeof t.raw=="boolean"&&t.raw,typeof t.tokens=="boolean"&&t.tokens&&(v.tokens=[]),typeof t.comment=="boolean"&&t.comment&&(v.comments=[]),typeof t.tolerant=="boolean"&&t.tolerant&&(v.errors=[])),h>0&&typeof u[0]=="undefined"&&(e instanceof String&&(u=e.valueOf()),typeof u[0]=="undefined"&&(u=wn(e))),yn();try{n=nn(),typeof v.comments!="undefined"&&(on(),n.comments=v.comments),typeof v.tokens!="undefined"&&(fn(),n.tokens=v.tokens),typeof v.errors!="undefined"&&(n.errors=v.errors);if(v.range||v.loc)n.body=mn(n.body)}catch(i){throw i}finally{bn(),v={}}return n}var t,n,r,i,s,o,u,a,f,l,c,h,p,d,v;t={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},n={},n[t.BooleanLiteral]="Boolean",n[t.EOF]="<end>",n[t.Identifier]="Identifier",n[t.Keyword]="Keyword",n[t.NullLiteral]="Null",n[t.NumericLiteral]="Numeric",n[t.Punctuator]="Punctuator",n[t.StringLiteral]="String",r={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},i={Data:1,Get:2,Set:4},s={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},o={NonAsciiIdentifierStart:new RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]"),NonAsciiIdentifierPart:new RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]"
|
1076
|
+
)},typeof "esprima"[0]=="undefined"&&(g=function(t,n){return u.slice(t,n).join("")}),e.version="1.0.1",e.parse=En,e.Syntax=function(){var e,t={};typeof Object.create=="function"&&(t=Object.create(null));for(e in r)r.hasOwnProperty(e)&&(t[e]=r[e]);return typeof Object.freeze=="function"&&Object.freeze(t),t}()}),function(){function h(e,t,n){if(e.addEventListener){e.addEventListener(t,n,!1);return}e.attachEvent("on"+t,n)}function p(n){return n.type=="keypress"?String.fromCharCode(n.which):e[n.which]?e[n.which]:t[n.which]?t[n.which]:String.fromCharCode(n.which).toLowerCase()}function d(e,t){return e.sort().join(",")===t.sort().join(",")}function v(e,t){e=e||{};var n=!1,r;for(r in u){if(e[r]&&u[r]>t){n=!0;continue}u[r]=0}n||(l=!1)}function m(e,t,n,r,i){var o,a,f=[],l=n.type;if(!s[e])return[];l=="keyup"&&E(e)&&(t=[e]);for(o=0;o<s[e].length;++o){a=s[e][o];if(a.seq&&u[a.seq]!=a.level)continue;if(l!=a.action)continue;if(l=="keypress"&&!n.metaKey&&!n.ctrlKey||d(t,a.modifiers))r&&a.combo==i&&s[e].splice(o,1),f.push(a)}return f}function g(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function y(e,t,n){if(L.stopCallback(t,t.target||t.srcElement,n))return;e(t,n)===!1&&(t.preventDefault&&t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.returnValue=!1,t.cancelBubble=!0)}function b(e,t){var n=m(e,g(t),t),r,i={},s=0,o=!1;for(r=0;r<n.length;++r){if(n[r].seq){o=!0,s=Math.max(s,n[r].level),i[n[r].seq]=1,y(n[r].callback,t,n[r].combo);continue}!o&&!l&&y(n[r].callback,t,n[r].combo)}t.type==l&&!E(e)&&v(i,s)}function w(e){typeof e.which!="number"&&(e.which=e.keyCode);var t=p(e);if(!t)return;if(e.type=="keyup"&&f==t){f=!1;return}b(t,e)}function E(e){return e=="shift"||e=="ctrl"||e=="alt"||e=="meta"}function S(){clearTimeout(a),a=setTimeout(v,1e3)}function x(){if(!i){i={};for(var t in e){if(t>95&&t<112)continue;e.hasOwnProperty(t)&&(i[e[t]]=t)}}return i}function T(e,t,n){return n||(n=x()[e]?"keydown":"keypress"),n=="keypress"&&t.length&&(n="keydown"),n}function N(e,t,n,r){u[e]=0,r||(r=T(t[0],[]));var i=function(){l=r,++u[e],S()},s=function(t){y(n,t,e),r!=="keyup"&&(f=p(t)),setTimeout(v,10)},o;for(o=0;o<t.length;++o)C(t[o],o<t.length-1?i:s,r,e,o)}function C(e,t,i,u,a){o[e+":"+i]=t,e=e.replace(/\s+/g," ");var f=e.split(" "),l,c,h,p=[];if(f.length>1){N(e,f,t,i);return}h=e==="+"?["+"]:e.split("+");for(l=0;l<h.length;++l)c=h[l],r[c]&&(c=r[c]),i&&i!="keypress"&&n[c]&&(c=n[c],p.push("shift")),E(c)&&p.push(c);i=T(c,p,i),s[c]||(s[c]=[]),m(c,p,{type:i},!u,e),s[c][u?"unshift":"push"]({callback:t,modifiers:p,action:i,seq:u,level:a,combo:e})}function k(e,t,n){for(var r=0;r<e.length;++r)C(e[r],t,n)}var e={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},t={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},n={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},r={option:"alt",command:"meta","return":"enter",escape:"esc"},i,s={},o={},u={},a,f=!1,l=!1;for(var c=1;c<20;++c)e[111+c]="f"+c;for(c=0;c<=9;++c)e[c+96]=c;h(document,"keypress",w),h(document,"keydown",w),h(document,"keyup",w);var L={bind:function(e,t,n){return e=e instanceof Array?e:[e],k(e,t,n),this},unbind:function(e,t){return L.bind(e,function(){},t)},trigger:function(e,t){return o[e+":"+t]&&o[e+":"+t]({},e),this},reset:function(){return s={},o={},this},stopCallback:function(e,t){return(" "+t.className+" ").indexOf(" mousetrap ")>-1?!1:t.tagName=="INPUT"||t.tagName=="SELECT"||t.tagName=="TEXTAREA"||t.contentEditable&&t.contentEditable=="true"}};window.Mousetrap=L,typeof define=="function"&&define.amd&&define(L)}();var Hogan={};(function(e,t){function n(e,t,n){var r,i;return t&&typeof t=="object"&&(t[e]!=null?r=t[e]:n&&t.get&&typeof t.get=="function"&&(r=t.get(e))),r}function r(e,t,n,r){function i(){}function s(){}i.prototype=e,s.prototype=e.subs;var o,u=new i;u.subs=new s,u.subsText={},u.ib();for(o in t)u.subs[o]=t[o],u.subsText[o]=r;for(o in n)u.partials[o]=n[o];return u}function l(e){return String(e===null||e===undefined?"":e)}function c(e){return e=l(e),f.test(e)?e.replace(i,"&").replace(s,"<").replace(o,">").replace(u,"'").replace(a,"""):e}e.Template=function(e,t,n,r){e=e||{},this.r=e.code||this.r,this.c=n,this.options=r||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.ib()},e.Template.prototype={r:function(e,t,n){return""},v:c,t:l,render:function(t,n,r){return this.ri([t],n||{},r)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],i=t[n.name];if(n.instance&&n.base==i)return n.instance;if(typeof i=="string"){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}return i?(this.partials[e].base=i,n.subs&&(this.activeSub===undefined&&(t.stackText=this.text),i=r(i,n.subs,n.partials,t.stackText||this.text)),this.partials[e].instance=i,i):null},rp:function(e,t,n,r){var i=this.ep(e,n);return i?i.ri(t,n,r):""},rs:function(e,t,n){var r=e[e.length-1];if(!h(r)){n(e,t,this);return}for(var i=0;i<r.length;i++)e.push(r[i]),n(e,t,this),e.pop()},s:function(e,t,n,r,i,s,o){var u;return h(e)&&e.length===0?!1:(typeof e=="function"&&(e=this.ms(e,t,n,r,i,s,o)),u=!!e,!r&&u&&t&&t.push(typeof e=="object"?e:t[t.length-1]),u)},d:function(e,t,r,i){var s,o=e.split("."),u=this.f(o[0],t,r,i),a=this.options.modelGet,f=null;if(e==="."&&h(t[t.length-2]))u=t[t.length-1];else for(var l=1;l<o.length;l++)s=n(o[l],u,a),s!=null?(f=u,u=s):u="";return i&&!u?!1:(!i&&typeof u=="function"&&(t.push(f),u=this.mv(u,t,r),t.pop()),u)},f:function(e,t,r,i){var s=!1,o=null,u=!1,a=this.options.modelGet;for(var f=t.length-1;f>=0;f--){o=t[f],s=n(e,o,a);if(s!=null){u=!0;break}}return u?(!i&&typeof s=="function"&&(s=this.mv(s,t,r)),s):i?!1:""},ls:function(e,t,n,r,i){var s=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(l(e.call(t,r)),t,n)),this.options.delimiters=s,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:t?function(e){this.buf.push(e)}:function(e){this.buf+=e},fl:t?function(){var e=this.buf.join("");return this.buf=[],e}:function(){var e=this.buf;return this.buf="",e},ib:function(){this.buf=t?[]:""},ms:function(e,t,n,r,i,s,o){var u,a=t[t.length-1],f=e.call(a);return typeof f=="function"?r?!0:(u=this.activeSub&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(f,a,n,u.substring(i,s),o)):f},mv:function(e,t,n){var r=t[t.length-1],i=e.call(r);return typeof i=="function"?this.ct(l(i.call(r)),r,n):i},sub:function(e,t,n,r){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,r),this.activeSub=!1)}};var i=/&/g,s=/</g,o=/>/g,u=/\'/g,a=/\"/g,f=/[&<>\"\']/,h=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"}})(typeof exports!="undefined"?exports:Hogan),jQuery.tablesorter.addParser({id:"size",is:function(e){return e.trim().match(/^\d+(\.\d+)? (Bytes|KB|MB|GB|TB|PB)$/)},format:function(e){var t=["Bytes","KB","MB","GB","TB","PB"],n=e.trim().split(" ");return parseFloat(n.shift())*Math.pow(1024,_.indexOf(t,n.shift()))},type:"numeric"}),window.Genghis={Models:{},Collections:{},Views:{},Templates:{},defaults:{codeMirror:{mode:"application/json",lineNumbers:!0,tabSize:4,indentUnit:4,matchBrackets:!0}},boot:function(e){e+=e.charAt(e.length-1)=="/"?"":"/",window.app=new Genghis.Views.App({baseUrl:e}),Backbone.history.start({pushState:!0,root:e})}},Genghis.version="2.3.0",Genghis.Templates.Alert=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="alert'),r.s(r.f("block",e,t,1),e,t,0,29,41,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" alert-block")}),e.pop()),r.b(" alert-"),r.b(r.v(r.f("level",e,t,0))),r.b('">'),r.b("\n"+n),r.b(' <a class="close" href="#">×</a>'),r.b("\n"+n),r.s(r.f("block",e,t,1),e,t,0,132,164,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <p>"),n.b(n.t(n.f("msg",e,t,0))),n.b("</p>"),n.b("\n")}),e.pop()),r.s(r.f("block",e,t,1),e,t,1,0,0,"")||(r.b(" "),r.b(r.t(r.f("msg",e,t,0))),r.b("\n")),r.b("</div>"),r.fl()}}),Genghis.Templates.CollectionRow=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<td>"),r.b("\n"+n),r.b(' <a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('" class="name value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="documents value">'),r.b(r.v(r.f("count",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="indexes has-details value">'),r.b(r.v(r.f("indexCount",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="'),r.b(r.v(r.f("indexCount",e,t,0))),r.b(" Index"),r.s(r.f("indexesIsPlural",e,t,1),e,t,0,282,284,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("es")}),e.pop()),r.b('">'),r.b("\n"+n),r.s(r.f("indexCount",e,t,1),e,t,0,334,501,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <ul class="index-details">'),r.b("\n"+n),r.s(r.f("indexes",e,t,1),e,t,0,404,460,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>"),n.b(n.t(n.d(".",e,t,0))),n.b("</li>"),n.b("\n")}),e.pop()),r.b(" </ul>"),r.b("\n")}),e.pop()),r.s(r.f("indexCount",e,t,1),e,t,1,0,0,"")||(r.b(" <em>None.</em>"),r.b("\n")),r.b(" </div>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b("<td>"),r.b("\n"+n),r.b(' <span class="size has-details value">'),r.b(r.v(r.f("humanSize",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="Collection Stats">'),r.b("\n"+n),r.b(' <dl class="stats-details">'),r.b("\n"+n),r.s(r.f("stats",e,t,1),e,t,0,794,881,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <dt>"),r.b(r.v(r.f("name",e,t,0))),r.b("</dt>"),r.b("\n"+n),r.b(" <dd>"),r.b(r.v(r.f("value",e,t,0))),r.b("</dd>"),r.b("\n")}),e.pop()),r.b(" </dl>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</td>"),r.b("\n"+n),r.b('<td class="action-column">'),r.b("\n"+n),r.b(' <button class="btn btn-mini btn-danger destroy">Remove</button>'),r.b("\n"+n),r.b("</td>"),r.b("\n"),r.fl()}}),Genghis.Templates.Collections=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>"),r.b(r.v(r.f("title",e,t,0))),r.b("</h2></header>"),r.b("\n"+n),r.b('<div class="content">'),r.b("\n"+n),r.b(" <table>"),r.b("\n"+n),r.b(" <thead>"),r.b("\n"+n),r.b(" <tr>"),r.b("\n"+n),r.b(" <th>name</th>"),r.b("\n"+n),r.b(" <th>documents</th>"),r.b("\n"+n),r.b(" <th>indexes</th>"),r.b("\n"+n),r.b(" <th>size</th>"),r.b("\n"+n),r.b(" <th></th>"),r.b("\n"+n),r.b(" </tr>"),r.b("\n"+n),r.b(" </thead>"),r.b("\n"+n),r.b(" <tbody>"),r.b("\n"+n),r.b(" </tbody>"),r.b("\n"+n),r.b(" </table>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="add-form inactive form-horizontal">'),r.b("\n"+n),r.b(' <input class="name span4" type="text" size="30">'),r.b("\n"+n),r.b(' <div class="btn-group">'),r.b("\n"+n),r.b(' <button class="show btn">Add collection</button>'),r.b("\n"+n),r.b(' <button class="btn dropdown-toggle" data-toggle="dropdown">'),r.b("\n"+n),r.b(' <span class="caret"></span>'),r.b("\n"+n),r.b(" </button>"),r.b("\n"+n),r.b(' <ul class="dropdown-menu">'),r.b("\n"+n),r.b(' <li><a class="show" href="#">Add collection</a></li>'),r.b("\n"+n),r.b(' <li><a class="show show-gridfs" href="#">Add GridFS collection</a></li>'),r.b("\n"+n),r.b(" </ul>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("\n"+n),r.b(' <button class="add btn btn-primary">Add collection</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Confirm=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.s(r.f("header",e,t,1),e,t,0,13,148,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <button class="dismiss close" aria-hidden="true">×</button>'),r.b("\n"+n),r.b(" <h3>"),r.b(r.v(r.f("header",e,t,0))),r.b("</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n")}),e.pop()),r.b("\n"+n),r.b('<div class="modal-body">'),r.b("\n"+n),r.s(r.f("body",e,t,1),e,t,0,201,228,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <p>"),n.b(n.t(n.f("body",e,t,0))),n.b("</p>"),n.b("\n")}),e.pop()),r.s(r.f("confirmInput",e,t,1),e,t,0,261,333,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <div>"),r.b("\n"+n),r.b(' <input type="text" class="confirm-input">'),r.b("\n"+n),r.b(" </div>"),r.b("\n")}),e.pop()),r.b("</div>"),r.b("\n"+n),r.b("\n"+n),r.b("\n"+n),r.b('<div class="modal-footer">'),r.b("\n"+n),r.b(' <button class="dismiss btn" aria-hidden="true">'),r.b(r.v(r.f("dismissText",e,t,0))),r.b("</button>"),r.b("\n"+n),r.b(' <button class="confirm btn btn-primary"'),r.s(r.f("confirmInput",e,t,1),e,t,0,525,534,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" disabled")}),e.pop()),r.b(">"),r.b(r.t(r.f("confirmText",e,t,0))),r.b("</button>"),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.DatabaseRow=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.s(r.f("error",e,t,1),e,t,0,12,167,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <td colspan="4">'),r.b("\n"+n),r.b(' <span class="value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <span class="label label-important" title="'),r.b(r.v(r.f("error",e,t,0))),r.b('">Error</span>'),r.b("\n"+n),r.b(" </td>"),r.b("\n")}),e.pop()),r.s(r.f("error",e,t,1),e,t,1,0,0,"")||(r.b(" <td>"),r.b("\n"+n),r.b(' <a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('" class="name value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b(" </td>"),r.b("\n"+n),r.b(" <td>"),r.b("\n"+n),r.b(' <span class="collections has-details value">'),r.b(r.v(r.f("count",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="'),r.b(r.v(r.f("count",e,t,0))),r.b(" Collection"),r.s(r.f("isPlural",e,t,1),e,t,0,427,428,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("s")}),e.pop()),r.b('">'),r.b("\n"+n),r.s(r.f("count",e,t,1),e,t,0,470,777,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <ul>"),r.b("\n"+n),r.s(r.f("firstChildren",e,t,1),e,t,0,532,594,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>"),n.b(n.v(n.d(".",e,t,0))),n.b("</li>"),n.b("\n")}),e.pop()),r.s(r.f("hasMoreChildren",e,t,1),e,t,0,657,720,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>…</li>"),n.b("\n")}),e.pop()),r.b(" </ul>"),r.b("\n")}),e.pop()),r.s(r.f("count",e,t,1),e,t,1,0,0,"")||(r.b(" <em>None.</em>"),r.b("\n")),r.b(" </div>"),r.b("\n"+n),r.b(" </td>"),r.b("\n"+n),r.b(" <td>"),r.b("\n"+n),r.b(' <span class="size has-details value">'),r.b(r.v(r.f("humanSize",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="Database Stats">'),r.b("\n"+n),r.b(' <dl class="stats-details">'),r.b("\n"+n),r.s(r.f("stats",e,t,1),e,t,0,1093,1192,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <dt>"),r.b(r.v(r.f("name",e,t,0))),r.b("</dt>"),r.b("\n"+n),r.b(" <dd>"),r.b(r.v(r.f("value",e,t,0))),r.b("</dd>"),r.b("\n")}),e.pop()),r.b(" </dl>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(" </td>"),r.b("\n"+n),r.b(' <td class="action-column">'),r.b("\n"+n),r.b(' <button class="btn btn-mini btn-danger destroy">Remove</button>'),r.b("\n"+n),r.b(" </td>"),r.b("\n")),r.fl()}}),Genghis.Templates.Databases=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>"),r.b(r.v(r.f("title",e,t,0))),r.b("</h2></header>"),r.b("\n"+n),r.b('<div class="content">'),r.b("\n"+n),r.b(" <table>"),r.b("\n"+n),r.b(" <thead>"),r.b("\n"+n),r.b(" <tr>"),r.b("\n"+n),r.b(" <th>name</th>"),r.b("\n"+n),r.b(" <th>collections</th>"),r.b("\n"+n),r.b(" <th>size</th>"),r.b("\n"+n),r.b(" <th></th>"),r.b("\n"+n),r.b(" </tr>"),r.b("\n"+n),r.b(" </thead>"),r.b("\n"+n),r.b(" <tbody>"),r.b("\n"+n),r.b(" </tbody>"),r.b("\n"+n),r.b(" </table>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="add-form inactive form-horizontal">'),r.b("\n"+n),r.b(' <input class="name span4" type="text" size="30">'),r.b("\n"+n),r.b(' <button class="show btn">Add database</button>'),r.b("\n"+n),r.b(' <button class="add btn btn-primary">Add database</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Document=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header>"),r.b("\n"+n),r.b(" <h2>"),r.b("\n"+n),r.b(" "),r.b(r.v(r.d("model.prettyId",e,t,0))),r.b("\n"+n),r.s(r.d("model.prettyTime",e,t,1),e,t,0,78,184,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <small><time datetime="'),n.b(n.v(n.d("model.prettyTime",e,t,0))),n.b('">'),n.b(n.v(n.d("model.prettyTime",e,t,0))),n.b("</time></small>"),n.b("\n")}),e.pop()),r.b(" </h2>"),r.b("\n"+n),r.b("</header>"),r.b("\n"+n),r.b('<div class="content document-wrapper"></div>'),r.fl()}}),Genghis.Templates.DocumentView=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="well">'),r.b("\n"+n),r.b(' <div class="document-actions">'),r.b("\n"+n),r.s(r.f("isGridFile",e,t,1),e,t,0,79,189,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <a class="btn btn-small btn-primary grid-download" href="'),n.b(n.v(n.f("downloadUrl",e,t,0))),n.b('">Download</a>'),n.b("\n")}),e.pop()),r.s(r.f("isGridChunk",e,t,1),e,t,0,233,324,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <a class="btn btn-small grid-file" href="'),n.b(n.v(n.f("fileUrl",e,t,0))),n.b('">Grid File</a>'),n.b("\n")}),e.pop()),r.b(' <button class="btn btn-small btn-primary save">Save</button>'),r.b("\n"+n),r.b(' <button class="btn btn-small cancel">Cancel</button>'),r.b("\n"+n),r.b(' <button class="btn btn-small edit">Edit</button>'),r.b("\n"+n),r.b(' <button class="btn btn-small btn-danger destroy">Delete</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h3>"),r.b("\n"+n),r.b(' <a class="id" href="'),r.b(r.v(r.f("url",e,t,0))),r.b('">'),r.b(r.v(r.f("prettyId",e,t,0))),r.b("</a>"),r.b("\n"+n),r.s(r.f("prettyTime",e,t,1),e,t,0,707,801,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(' <small><time datetime="'),n.b(n.v(n.f("prettyTime",e,t,0))),n.b('">'),n.b(n.v(n.f("prettyTime",e,t,0))),n.b("</time></small>"),n.b("\n")}),e.pop()),r.b(" </h3>"),r.b("\n"+n),r.b("\n"+n),r.b(' <div class="document"></div>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Documents=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>Documents</h2></header>"),r.b("\n"+n),r.b('<div class="controls">'),r.b("\n"+n),r.b(' <button class="add-document btn btn-large">Add document</button>'),r.b("\n"+n),r.b(' <div class="pagination-wrapper top"></div>'),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="content document-wrapper"></div>'),r.b("\n"+n),r.b('<div class="controls">'),r.b("\n"+n),r.b(' <button class="add-document btn btn-large">Add document</button>'),r.b("\n"+n),r.b(' <div class="pagination-wrapper top"></div>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.KeyboardShortcuts=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div id="keyboard-shortcuts" class="modal">'),r.b("\n"+n),r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <a href="#" class="close">×</a>'),r.b("\n"+n),r.b(" <h3>Keyboard shortcuts</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-body">'),r.b("\n"+n),r.b(" <ul>"),r.b("\n"+n),r.b(" <li>"),r.b("\n"+n),r.b(" <h4>Global</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>?</kbd></dt>"),r.b("\n"+n),r.b(" <dd>This cheat sheet</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>s</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Go to servers</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>u</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Go up one level</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h4>Servers</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New server</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h4>Databases</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New database</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b(" <li>"),r.b("\n"+n),r.b(" <h4>Collections</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New collection</dd>"),r.b("\n"+n),r.b(" <dt><kbd>shift</kbd> + <kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New GridFS collection</dd>"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b("\n"+n),r.b(" <h4>Documents</h4>"),r.b("\n"+n),r.b(" <dl>"),r.b("\n"+n),r.b(" <dt><kbd>/</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Search</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>c</kbd></dt>"),r.b("\n"+n),r.b(" <dd>New document</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>n</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Next page</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>p</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Previous page</dd>"),r.b("\n"+n),r.b("\n"+n),r.b("<!--"),r.b("\n"+n),r.b(" <dt><kbd>-</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Collapse all</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>+</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Expand all</dd>"),r.b("\n"+n),r.b("\n"+n),r.b(" <dt><kbd>Alt+1</kbd> – <kbd>Alt+9</kbd></dt>"),r.b("\n"+n),r.b(" <dd>Expand to depth</dd>"),r.b("\n"+n),r.b("-->"),r.b("\n"+n),r.b(" </dl>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b(" </ul>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Masthead=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="container">'),r.b("\n"+n),r.b(" "),r.s(r.f("heading",e,t,1),e,t,0,42,64,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("<h1>"),n.b(n.v(n.f("heading",e,t,0))),n.b("</h1>")}),e.pop()),r.b("\n"+n),r.b(" "),r.b(r.t(r.f("content",e,t,0))),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Nav=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<ul class="nav">'),r.b("\n"+n),r.b(' <li class="nav-section servers"><a class="btn-servers" href="'),r.b(r.v(r.f("baseUrl",e,t,0))),r.b('">Servers</a></li>'),r.b("\n"+n),r.b(' <li class="nav-section dropdown server"></li>'),r.b("\n"+n),r.b(' <li class="nav-section dropdown database"></li>'),r.b("\n"+n),r.b(' <li class="nav-section dropdown collection"></li>'),r.b("\n"+n),r.b("</ul>"),r.b("\n"),r.fl()}}),Genghis.Templates.NavSection=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<a href="#" class="dropdown-toggle" data-toggle="dropdown">'),r.b(r.v(r.f("id",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b('<ul class="dropdown-menu"></ul>'),r.b("\n"),r.fl()}}),Genghis.Templates.NavSectionMenu=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.s(r.d("collection.firstChildren",e,t,1),e,t,0,31,130,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <li><a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('">'),r.b("\n"+n),r.b(" "),r.b(r.v(r.f("id",e,t,0))),r.b("\n"+n),r.b(" <span>"),r.b(r.v(r.f("humanCount",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(" </a></li>"),r.b("\n")}),e.pop()),r.s(r.d("collection.hasMoreChildren",e,t,1),e,t,0,195,287,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <li class="divider"></li>'),r.b("\n"+n),r.b(' <li><a href="'),r.b(r.v(r.d("collection.url",e,t,0))),r.b('">More »</a></li>'),r.b("\n")}),e.pop()),r.fl()}}),Genghis.Templates.NewDocument=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div id="new-document" class="modal modal-editor">'),r.b("\n"+n),r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <a class="close" data-dismiss="modal">×</a>'),r.b("\n"+n),r.b(" <h3>New Document</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-body">'),r.b("\n"+n),r.b(' <div class="wrapper">'),r.b("\n"+n),r.b(' <div id="editor-new" class="genghis-document-editor"></div>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-footer">'),r.b("\n"+n),r.b(' <button class="btn cancel">Cancel</button>'),r.b("\n"+n),r.b(' <button class="btn btn-primary save">Save</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.NewGridFile=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div id="new-grid-file" class="modal modal-file-upload">'),r.b("\n"+n),r.b(' <div class="modal-header">'),r.b("\n"+n),r.b(' <a class="close" data-dismiss="modal">×</a>'),r.b("\n"+n),r.b(" <h3>Upload File</h3>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-body">'),r.b("\n"+n),r.b(' <div class="wrapper">'),r.b("\n"+n),r.b(' <div id="editor-upload" class="genghis-document-editor"></div>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b(' <div class="modal-footer">'),r.b("\n"+n),r.b(' <button class="btn cancel">Cancel</button>'),r.b("\n"+n),r.b(' <button class="btn btn-primary save">Upload</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Pagination=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<div class="pagination pagination-right">'),r.b("\n"+n),r.b(" <ul>"),r.b("\n"+n),r.b(' <li class="prev'),r.s(r.f("isFirst",e,t,1),e,t,0,82,91,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" disabled")}),e.pop()),r.b('">'),r.b("\n"+n),r.b(" <a"),r.s(r.f("isFirst",e,t,1),e,t,1,0,0,"")||(r.b(' href="'),r.b(r.v(r.f("prevUrl",e,t,0))),r.b('"')),r.b(">←</a>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b("\n"+n),r.s(r.f("isStart",e,t,1),e,t,1,0,0,"")||(r.b(' <li class="first"><a href="'),r.b(r.v(r.f("firstUrl",e,t,0))),r.b('">1</a></li>'),r.b("\n"+n),r.b(' <li class="disabled"><a>…</a></li>'),r.b("\n")),r.b("\n"+n),r.b("\n"+n),r.s(r.f("pageUrls",e,t,1),e,t,0,361,460,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li"),n.s(n.f("active",e,t,1),e,t,0,386,401,"{{ }}")&&(n.rs(e,t,function(e,t,n){n.b(' class="active"')}),e.pop()),n.b('><a href="'),n.b(n.v(n.f("url",e,t,0))),n.b('">'),n.b(n.v(n.f("index",e,t,0))),n.b("</a></li>"),n.b("\n")}),e.pop()),r.b("\n"+n),r.s(r.f("isEnd",e,t,1),e,t,1,0,0,"")||(r.b(' <li class="disabled"><a>…</a></li>'),r.b("\n"+n),r.b(' <li class="last"><a href="'),r.b(r.v(r.f("lastUrl",e,t,0))),r.b('">'),r.b(r.v(r.f("last",e,t,0))),r.b("</a></li>"),r.b("\n")),r.b("\n"+n),r.b(' <li class="next'),r.s(r.f("isLast",e,t,1),e,t,0,663,672,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" disabled")}),e.pop()),r.b('">'),r.b("\n"+n),r.b(" <a"),r.s(r.f("isLast",e,t,1),e,t,1,0,0,"")||(r.b(' href="'),r.b(r.v(r.f("nextUrl",e,t,0))),r.b('"')),r.b(">→</a>"),r.b("\n"+n),r.b(" </li>"),r.b("\n"+n),r.b(" </ul>"),r.b("\n"+n),r.b("</div>"),r.fl()}}),Genghis.Templates.Search=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b('<input id="navbar-query" class="search-query" name="q" type="text" value="'),r.b(r.v(r.f("query",e,t,0))),r.b('" />'),r.b("\n"+n),r.b('<div class="search-advanced">'),r.b("\n"+n),r.b(' <div class="well"></div>'),r.b("\n"+n),r.b(' <div class="form-actions">'),r.b("\n"+n),r.b(' <button class="search btn btn-primary">Search</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b(" </div>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<span class="grippie"></span>'),r.b("\n"),r.fl()}}),Genghis.Templates.ServerRow=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.s(r.f("error",e,t,1),e,t,0,12,167,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(' <td colspan="3">'),r.b("\n"+n),r.b(' <span class="value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <span class="label label-important" title="'),r.b(r.v(r.f("error",e,t,0))),r.b('">Error</span>'),r.b("\n"+n),r.b(" </td>"),r.b("\n")}),e.pop()),r.s(r.f("error",e,t,1),e,t,1,0,0,"")||(r.b(" <td>"),r.b("\n"+n),r.b(' <a href="'),r.b(r.v(r.f("url",e,t,0))),r.b('" class="name value">'),r.b(r.v(r.f("name",e,t,0))),r.b("</a>"),r.b("\n"+n),r.b(" </td>"),r.b("\n"+n),r.b(" <td>"),r.b("\n"+n),r.b(' <span class="databases has-details value">'),r.b(r.v(r.f("count",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(' <div class="details" title="'),r.b(r.v(r.f("count",e,t,0))),r.b(" Database"),r.s(r.f("isPlural",e,t,1),e,t,0,423,424,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b("s")}),e.pop()),r.b('">'),r.b("\n"+n),r.s(r.f("count",e,t,1),e,t,0,466,773,"{{ }}")&&(r.rs(e,t,function(e,t,r){r.b(" <ul>"),r.b("\n"+n),r.s(r.f("firstChildren",e,t,1),e,t,0,528,590,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>"),n.b(n.v(n.d(".",e,t,0))),n.b("</li>"),n.b("\n")}),e.pop()),r.s(r.f("hasMoreChildren",e,t,1),e,t,0,653,716,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b(" <li>…</li>"),n.b("\n")}),e.pop()),r.b(" </ul>"),r.b("\n")}),e.pop()),r.s(r.f("count",e,t,1),e,t,1,0,0,"")||(r.b(" <em>None.</em>"),r.b("\n")),r.b(" </div>"),r.b("\n"+n),r.b(" </td>"),r.b("\n"+n),r.b(" <td>"),r.b("\n"+n),r.b(' <span class="size value">'),r.b(r.v(r.f("humanSize",e,t,0))),r.b("</span>"),r.b("\n"+n),r.b(" </td>"),r.b("\n")),r.b('<td class="action-column">'),r.b("\n"+n),r.b(" "),r.s(r.f("editable",e,t,1),e,t,0,1026,1089,"{{ }}")&&(r.rs(e,t,function(e,t,n){n.b('<button class="btn btn-mini btn-danger destroy">Remove</button>')}),e.pop()),r.b("\n"+n),r.b("</td>"),r.b("\n"),r.fl()}}),Genghis.Templates.Servers=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<header><h2>Servers</h2></header>"),r.b("\n"+n),r.b('<div class="content">'),r.b("\n"+n),r.b(" <table>"),r.b("\n"+n),r.b(" <thead>"),r.b("\n"+n),r.b(" <tr>"),r.b("\n"+n),r.b(" <th>name</th>"),r.b("\n"+n),r.b(" <th>databases</th>"),r.b("\n"+n),r.b(" <th>size</th>"),r.b("\n"+n),r.b(" <th></th>"),r.b("\n"+n),r.b(" </tr>"),r.b("\n"+n),r.b(" </thead>"),r.b("\n"+n),r.b(" <tbody>"),r.b("\n"+n),r.b(" </tbody>"),r.b("\n"+n),r.b(" </table>"),r.b("\n"+n),r.b("</div>"),r.b("\n"+n),r.b('<div class="add-form inactive form-horizontal">'),r.b("\n"+n),r.b(' <span class="input-append">'),r.b("\n"+n),r.b(' <input class="name span4" type="text" size="30"><span class="add-on help" title="user:pass@localhost:27017">?</span>'),r.b("\n"+n),r.b(" </span>"),r.b("\n"+n),r.b(' <button class="show btn">Add server</button>'),r.b("\n"+n),r.b(' <button class="add btn btn-primary">Add server</button>'),r.b("\n"+n),r.b(' <button class="cancel btn">Cancel</button>'),r.b("\n"+n),r.b("</div>"),r.b("\n"),r.fl()}}),Genghis.Templates.Welcome=new Hogan.Template({code:function(e,t,n){var r=this;return r.b(n=n||""),r.b("<h2>Welcome to</h2>"),r.b("\n"+n),r.b("<h1>Genghis</h1>"),r.b("\n"+n),r.b("<p>The single-file MongoDB admin app.</p>"),r.b("\n"+n),r.b('<ul class="welcome-links">'),r.b("\n"+n),r.b(' <li><a href="http://genghisapp.com">Homepage</a></li>'),r.b("\n"+n),r.b(' <li><a href="https://github.com/bobthecow/genghis/issues">Issues</a></li>'),r.b("\n"+n),r.b(" <li>Version "),r.b(r.v(r.f("version",e,t,0))),r.b("</li>"),r.b("\n"+n),r.b("</ul>"),r.fl()}}),Genghis.Util={route:function(e){return e.replace(app.baseUrl,"").replace(/^\//,"")},parseQuery
|
1077
|
+
:function(e){var t={};return e.length&&_.each(e.split("&"),function(e){var n=e.split("="),r=n.shift();t[r]=decodeURIComponent(n.join("="))}),t},buildQuery:function(e){return _.map(e,function(e,t){return t+"="+e}).join("&")},humanizeSize:function(e){if(e==-0)return"n/a";var t=["Bytes","KB","MB","GB","TB","PB"],n=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10),r=n===0?e/Math.pow(1024,n):(e/Math.pow(1024,n)).toFixed(1);return r=Genghis.Util.round(r,2).toString().replace(/\.0+/,""),r+" "+t[n]},humanizeCount:function(e){var t="";return e=e||0,e>1e3&&(e=Math.floor(e/1e3),t=" k"),e>1e3&&(e=Math.floor(e/1e3),t=" M"),e>1e3?"...":e+t},round:function(e,t){if(typeof t=="undefined"||+t===0)return Math.round(e);e=+e;var n=-1*+t;return isNaN(e)||typeof n!="number"||n%1!==0?NaN:(e=e.toString().split("e"),e=Math.round(+(e[0]+"e"+(e[1]?+e[1]-n:-n))),e=e.toString().split("e"),+(e[0]+"e"+(e[1]?+e[1]+n:n)))},escape:function(e){if(e)return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")},attachCollapsers:function(e){$(".document",e).on("click","button,span.e",function(e){var t=$(this).parent(),n=t.children(".v"),r=/^\s*(name|title)\s*/i,i=n.hasClass("o"),s="",o,u;t.children(".e").length||(i&&(u=$(_.detect(n.find("> span.p > var"),function(e){return r.test($(e).text())})).siblings("span.v"),u.length===0&&(u=$(_.detect(n.find("> span.p > span.v"),function(e){var t=$(e);return t.hasClass("n")||t.hasClass("b")||t.hasClass("q")&&t.text().length<64}))),u&&u.length&&(o=u.siblings("var").text(),s=(o?o+": ":"")+Genghis.Util.escape(u.text()))),t.append('<span class="e">'+(i?"{":"[")+" <q>"+s+" …</q> "+(i?"}":"]")+"</span>")),t.toggleClass("collapsed"),e.preventDefault()})},base64Encode:function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n=e.length,r="";for(var i=0;i<n;i+=3){var s=[e.charCodeAt(i),e.charCodeAt(i+1),e.charCodeAt(i+2)],o=[s[0]>>2,(s[0]&3)<<4|s[1]>>4,(s[1]&15)<<2|s[2]>>6,s[2]&63];isNaN(s[1])&&(o[2]=64),isNaN(s[2])&&(o[3]=64),r+=t[o[0]]+t[o[1]]+t[o[2]]+t[o[3]]}return r},base64Decode:function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n=e.length,r="",i,s,o,u,a,f,l;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");var c=0;while(c<n)u=t.indexOf(e.charAt(c++)),a=t.indexOf(e.charAt(c++)),f=t.indexOf(e.charAt(c++)),l=t.indexOf(e.charAt(c++)),i=u<<2|a>>4,s=(a&15)<<4|f>>2,o=(f&3)<<6|l,r+=String.fromCharCode(i),f!=64&&(r+=String.fromCharCode(s)),l!=64&&(r+=String.fromCharCode(o));return r},base64ToHex:function(e){var t=[],n=atob(e.replace(/[=\s]+$/,"")),r=n.length;for(var i=0;i<r;++i){var s=n.charCodeAt(i).toString(16);t.push(s.length===1?"0"+s:s)}return t.join("")},download:function(){var e;return function(t){e||(e=$("<iframe>",{id:"genghis-util-download"}).hide().appendTo("body")),e.attr("src",t)}}()},Genghis.JSON={parse:function(src){function addError(e,t){t.error||(error=new Error(e),error.loc=t.loc,error.node=t,t.error=error,errors.push(error))}function throwErrors(e){var t=new Error(""+e.length+" parse error"+(e.length===1?"":"s"));throw t.errors=e,t}function replaceCallExpression(src){function ObjectId(e){return{$genghisType:"ObjectId",$value:e?e.toString():null}}function GenghisDate(e){return{$genghisType:"ISODate",$value:e?(new Date(e)).toString():null}}function ISODate(e){if(!e)return new GenghisDate;var t=/(\d{4})-?(\d{2})-?(\d{2})([T ](\d{2})(:?(\d{2})(:?(\d{2}(\.\d+)?))?)?(Z|([+\-])(\d{2}):?(\d{2})?)?)?/,n=t.exec(e);if(!n)throw"Invalid ISO date";var r=parseInt(n[1],10)||1970,i=(parseInt(n[2],10)||1)-1,s=parseInt(n[3],10)||0,o=parseInt(n[5],10)||0,u=parseInt(n[7],10)||0,a=parseFloat(n[9])||0,f=Math.round(a%1*1e3);a-=f/1e3;var l=Date.UTC(r,i,s,o,u,a,f);if(n[11]&&n[11]!="Z"){var c=0;c+=(parseInt(n[13],10)||0)*60*60*1e3,c+=(parseInt(n[14],10)||0)*60*1e3,n[12]=="+"&&(c*=-1),l+=c}return new GenghisDate(l)}function DBRef(e,t){return{$ref:e,$id:t}}function GenghisRegExp(e,t){return{$genghisType:"RegExp",$value:{$pattern:e?e.toString():null,$flags:t?t.toString():null}}}function BinData(e,t){return{$genghisType:"BinData",$value:{$subtype:e,$binary:t}}}return src=src.replace(/^\s*(new\s+)?(Date|RegExp)(\b)/,"$1Genghis$2$3"),JSON.stringify(eval(src))}function replaceRegExpLiteral(e){var t="";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),replaceCallExpression("GenghisRegExp("+JSON.stringify(e.source)+', "'+t+'")')}function insertHelpers(e){function n(t){chunks[e.range[0]]=t;for(var n=e.range[0]+1;n<e.range[1];n++)chunks[n]=""}if(!e.range)return;e.source=function(){return chunks.slice(e.range[0],e.range[1]).join("")};if(e.update&&_.isObject(e.update)){var t=e.update;Object.keys(t).forEach(function(e){n[e]=t[e]}),e.update=n}else e.update=n}function assertType(e,t){t.type!==e&&addError("Expecting "+e+" but found "+t.type,t)}typeof src!="string"&&(src=String(src)),src="var __genghis_json__ = "+src;var opts={loc:!0,raw:!0,tokens:!0,tolerant:!0,range:!0},allowedCalls={ObjectId:!0,Date:!0,ISODate:!0,DBRef:!0,RegExp:!0,BinData:!0},allowedPropertyValues={Literal:!0,ObjectExpression:!0,ArrayExpression:!0,NewExpression:!0,CallExpression:!0,UnaryExpression:!0},errors=[],chunks=src.split(""),ast;try{ast=esprima.parse(src,opts)}catch(e){throwErrors([e])}ast.errors.length&&throwErrors(ast.errors);var node;return node=ast,assertType("Program",node),node=node.body,node.length!==1&&addError("Unexpected statement "+node[1].type,node[1]),node=node[0],assertType("VariableDeclaration",node),node=node.declarations,node.length!==1&&addError("Unexpected variable declarations "+node.length,node[1]),node=node[0],assertType("VariableDeclarator",node),node=node.init,node.type!=="ObjectExpression"&&addError("Expected an object expression, found "+node.type,node),errors.length&&throwErrors(errors),function walk(e){insertHelpers(e),Object.keys(e).forEach(function(t){var n=e[t];if(Array.isArray(n)){var r=[];n.forEach(function(e){e&&typeof e.type=="string"&&walk(e)})}else n&&typeof n.type=="string"&&(insertHelpers(e),walk(n))});switch(e.type){case"NewExpression":case"CallExpression":e.callee&&!allowedCalls[e.callee.name]?addError("Bad call, bro: "+e.callee.name,e):e.update(replaceCallExpression(e.source()));break;case"Property":e.value&&!allowedPropertyValues[e.value.type]&&addError("Unexpected value: "+e.value.source(),e.value);break;case"Identifier":case"ArrayExpression":case"ObjectExpression":case"UnaryExpression":break;case"Literal":_.isRegExp(e.value)&&e.update(replaceRegExpLiteral(e.value));break;default:addError("Unexpected "+e.type,e)}}(node),errors.length&&throwErrors(errors),function(node){var __genghis_json__;return eval("__genghis_json__ = "+node.source()),__genghis_json__}(node)},stringify:function(e,t){return jQuery("<div>"+this.prettyPrint(e,t,!1)+"</div>").text()},prettyPrint:function(e,t,n){function r(e){function d(e,t){return m("SPAN",e,t)}function m(e,t,n){var r=document.createElement(e);return t&&(r.className=t),n&&(typeof n=="string"&&(n=g(n)),r.appendChild(n)),r}function g(e){return document.createTextNode(e)}function y(e){var t=d("v q"),n;return t.appendChild(g('"')),i.lastIndex=0,i.test(e)&&(e=e.replace(i,function(e){var t=h[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})),s.test(e)?(n=m("A","s"),n.href=e):n=d("s"),n.appendChild(g(e)),t.appendChild(n),t.appendChild(g('"')),t}function b(e){if(f.test(e)||!a.test(e))e='"'+e.replace(i,function(e){var t=h[e];return typeof t=="string"?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"';return m("VAR",!1,e)}function w(e,t,n){var r=d("call "+n);return r.appendChild(g(e+"(")),_.each(t,function(e,n){r.appendChild(e),n<t.length-1&&r.appendChild(g(", "))}),r.appendChild(g(")")),r}function E(e,t){var r,i,s,o,u=l,a,f,h,p="",v=t[e],S;_.isObject(v)&&typeof v.toJSON=="function"&&(v=v.toJSON(e));switch(typeof v){case"string":return y(v);case"number":return d("v n",isFinite(v)?String(v):"null");case"boolean":return d("v b",String(v));case"object":if(_.isNull(v))return d("v z","null");if(Object.hasOwnProperty.call(v,"$genghisType"))switch(v.$genghisType){case"ObjectId":return w("ObjectId",[y(v.$value)],"oid");case"ISODate":return w("ISODate",[y(v.$value)],"date");case"RegExp":var x=v.$value.$pattern,T=v.$value.$flags||"";return d("v re","/"+x+"/"+T);case"BinData":return w("BinData",[d("n",String(v.$value.$subtype)),y(v.$value.$binary)],"bindata")}l+=c;if(_.isArray(v)){if(v.length===0)return l=u,d("v a","[]");f=d("v a"),n&&l&&(f.collapsible=!0,v.length>10&&(f.collapsed=!0)),f.appendChild(g(l?"[\n"+l:"[")),p=g(l?",\n"+l:","),o=v.length;for(r=0;r<o;r+=1)r>0&&f.appendChild(p.cloneNode(!1)),f.appendChild(E(r,v)||d("v z","null"));return f.appendChild(g(l?"\n"+u+"]":"]")),l=u,f}a=[];var N=g(l?": ":":"),C=!!v.$ref&&!!v.$id;for(i in v)Object.hasOwnProperty.call(v,i)&&(s=E(i,v),s&&(S="p"+(s.collapsed?" collapsed":""),C&&(i=="$ref"||i=="$id"||i=="$db")&&(S=S+" ref-"+i.substr(1)),h=d(S),C&&i=="$id"&&h.setAttribute("data-document-id",Genghis.Models.Document.prototype.thunkId(v[i])),s.collapsible&&h.appendChild(m("button")),h.appendChild(b(i)),h.appendChild(N.cloneNode(!1)),h.appendChild(s),s.collapsed&&(child=d("e"),child.appendChild(g("[ ")),child.appendChild(m("Q",!1,g(" \u2026"))),child.appendChild(g(" ]")),h.appendChild(child)),a.push(h)));S="v o";if(a.length===0)return l=u,d(S,g("{}"));C&&(S+=" ref"),f=d(S),f.collapsible=!!n,f.appendChild(g(l?"{\n"+l:"{")),p=g(l?",\n"+l:","),o=a.length;for(r=0;r<a.length;r++)r>0&&f.appendChild(p.cloneNode(!0)),f.appendChild(a[r]);return f.appendChild(g(l?"\n"+u+"}":"}")),l=u,f}}var r=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,s=/^https?:\/\/[^\s]+$/,o="$A-Z_a-z\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",u="0-9\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19b0-\u19c0\u19c8\u19c9\u19d0-\u19d9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f1\ua900-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",a=RegExp("^["+o+"]["+o+u+"]*$"),f=/^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/,l="",c=t===!1?"":" ",h={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},p={"&":"&",'"':""","<":"<",">":">"};return l="",v=E("_",{_:e}).innerHTML,v}return n=n!==!1,r(e)},normalize:function(e,t){return Genghis.JSON.stringify(Genghis.JSON.parse(e),t)}},Genghis.Collections.BaseCollection=Backbone.Collection.extend({firstChildren:function(){return this.collection.toArray().slice(0,10)},hasMoreChildren:function(){return this.collection.length>10}}),Genghis.Models.BaseModel=Backbone.Model.extend({name:function(){return this.get("name")},count:function(){return this.get("count")},humanCount:function(){return Genghis.Util.humanizeCount(this.get("count")||0)},isPlural:function(){return this.get("count")!==1},humanSize:function(){var e=this.get("size");if(e)return Genghis.Util.humanizeSize(e)},hasMoreChildren:function(){return this.get("count")>15}}),Genghis.Views.BaseDocument=Backbone.View.extend({errorMarkers:[],clearErrors:function(){var e=this.editor;this.getErrorBlock().html(""),_.each(this.errorMarkers,function(t){e.clearMarker(t)}),this.errorMarkers=[]},getEditorValue:function(){this.clearErrors();var e=this.getErrorBlock(),t=this.editor,n=this.errorMarkers;try{return Genghis.JSON.parse(t.getValue())}catch(r){_.each(r.errors||[r],function(r){var i=r.message;r.lineNumber&&!/Line \d+/i.test(i)&&(i="Line "+r.lineNumber+": "+r.message);var s=new Genghis.Views.Alert({model:new Genghis.Models.Alert({level:"error",msg:i,block:!0})});e.append(s.render().el),r.lineNumber&&n.push(t.setMarker(r.lineNumber-1,null,"line-error"))})}return!1}}),Genghis.Views.BaseNewDocument=Genghis.Views.BaseDocument.extend({initialize:function(){_.bindAll(this,"render","getTextArea","show","refreshEditor","closeModal","cancelEdit","saveDocument","showServerError"),this.render()},render:function(){this.$el=$(this.template.render()).hide().appendTo("body"),this.el=this.$el[0],this.modal=this.$el.modal({backdrop:"static",show:!1,keyboard:!1});var e=this.$(".wrapper");return this.editor=CodeMirror.fromTextArea(this.getTextArea(),_.extend({},Genghis.defaults.codeMirror,{onFocus:function(){e.addClass("focused")},onBlur:function(){e.removeClass("focused")},extraKeys:{"Ctrl-Enter":this.saveDocument,"Cmd-Enter":this.saveDocument}})),$(window).resize(_.throttle(this.refreshEditor,100)),this.modal.bind("hide",this.cancelEdit),this.modal.bind("shown",this.refreshEditor),this.modal.find("button.cancel").bind("click",this.closeModal),this.modal.find("button.save").bind("click",this.saveDocument),this},refreshEditor:function(){this.editor.refresh(),this.editor.focus()},closeModal:function(e){this.modal.modal("hide")},cancelEdit:function(e){this.editor.setValue("")},getErrorBlock:function(){var e=this.$("div.errors");return e.length===0&&(e=$('<div class="errors"></div>').prependTo(this.$(".modal-body"))),e},showServerError:function(e){var t=new Genghis.Views.Alert({model:new Genghis.Models.Alert({level:"error",msg:e,block:!0})});this.getErrorBlock().append(t.render().el)}}),Genghis.Views.BaseRow=Backbone.View.extend({tagName:"tr",events:{"click a.name":"navigate","click button.destroy":"destroy"},initialize:function(){_.bindAll(this,"render","navigate","remove","destroy"),this.model.bind("change",this.render),this.model.bind("destroy",this.remove)},render:function(){return this.$el.html(this.template.render(this.model)).toggleClass("error",!!this.model.get("error")).find(".label[title]").tooltip({placement:"bottom"}),this.$(".has-details").popover({html:!0,content:function(){return $(this).siblings(".details").html()},title:function(){return $(this).siblings(".details").attr("title")},trigger:"manual"}).hoverIntent(function(){$(this).popover("show")},function(){$(this).popover("hide")}),this},navigate:function(e){e.preventDefault(),app.router.navigate(Genghis.Util.route($(e.target).attr("href")),!0)},remove:function(){this.$el.remove()},isParanoid:!1,destroy:function(){var e=this.model,t=e.has("name")?e.get("name"):"";if(this.isParanoid){if(!t)throw"Unable to confirm destruction without a confirmation string.";new Genghis.Views.Confirm({header:"Deleting is forever.",body:"Type <strong>"+t+"</strong> to continue:",confirmInput:t,confirmText:"Delete "+t+" forever",confirm:function(){e.destroy()}})}else new Genghis.Views.Confirm({confirmText:this.destroyConfirmButton(t),confirm:function(){e.destroy()}})},destroyConfirmButton:function(e){return"<strong>Yes</strong>, delete "+e+" forever"}}),Genghis.Views.BaseSection=Backbone.View.extend({events:{"click .add-form button.show":"showAddForm","click .add-form button.add":"submitAddForm","click .add-form button.cancel":"closeAddForm","keyup .add-form input.name":"updateOnKeyup"},initialize:function(){_.bindAll(this,"render","updateTitle","showAddForm","submitAddForm","closeAddForm","updateOnKeyup","addModel","addModelAndUpdate","addAll"),this.model&&this.model.bind("change",this.updateTitle),this.collection&&(this.collection.bind("reset",this.render),this.collection.bind("add",this.addModelAndUpdate)),this.render()},render:function(){this.$el.html(this.template.render({title:this.formatTitle(this.model)})),this.addForm=this.$(".add-form"),this.addButton=this.$(".add-form button.add"),this.addInput=this.$(".add-form input"),this.cancelButton=this.$(".add-form button.cancel"),this.addAll();var e={};return e[this.$("table thead th").length-1]={sorter:!1},this.$("table").tablesorter({headers:e,textExtraction:function(e){return $(".value",e).text()||$(e).text()}}),this.collection.size()&&this.$("table").trigger("sorton",[[[0,0]]]),this},updateTitle:function(){this.$("> header h2").text(this.formatTitle(this.model))},showAddForm:function(e){e&&e.preventDefault()&&e.preventDefault(),this.addForm.removeClass("inactive"),this.addInput.select().focus()},submitAddForm:function(){this.collection.create({name:this.addInput.val()},{wait:!0,success:this.closeAddForm,error:function(e,t){window.app.alerts.handleError(t)}})},closeAddForm:function(){this.addForm.addClass("inactive"),this.addInput.val("")},updateOnKeyup:function(e){e.keyCode==13&&this.submitAddForm(),e.keyCode==27&&this.closeAddForm()},addModel:function(e){var t=new this.rowView({model:e});this.$("table tbody").append(t.render().el)},addModelAndUpdate:function(e){this.addModel(e),this.$("table").trigger("update")},addAll:function(){this.$("table tbody").html(""),this.collection.each(this.addModel),this.$el.removeClass("spinning")},show:function(){Mousetrap.bind("c",this.showAddForm),$("body").addClass("section-"+this.$el.attr("id")),this.$el.addClass("spinning").show(),$(document).scrollTop(0)},hide:function(){Mousetrap.unbind("c"),$("body").removeClass("section-"+this.$el.attr("id")),this.$el.hide()}}),Genghis.Models.Alert=Backbone.Model.extend({defaults:{level:"warning",block:!1},block:function(){return!!this.get("block")},level:function(){return this.get("level")},msg:function(){return this.get("msg")}}),Genghis.Models.Collection=Genghis.Models.BaseModel.extend({indexesIsPlural:function(){return this.indexCount()!==1},indexCount:function(){return(this.get("indexes")||[]).length},indexes:function(){return _.map(this.get("indexes"),function(e){return Genghis.JSON.prettyPrint(e.key)})},isGridCollection:function(){return/\.files$/.test(this.get("name"))},humanSize:function(){var e=this.get("stats");if(e)return Genghis.Util.humanizeSize((e.storageSize||0)+(e.totalIndexSize||0))},stats:function(){var e=Genghis.Util.humanizeSize,t=this.get("stats");if(t)return[{name:"Avg. object size",value:e(t.avgObjSize||0)},{name:"Padding factor",value:t.paddingFactor||"n/a"},{name:"Data size",value:e(t.size||0)},{name:"Index size",value:e(t.totalIndexSize||0)},{name:"Storage size",value:e(t.storageSize||0)}]}}),Genghis.Models.Database=Genghis.Models.BaseModel.extend({firstChildren:function(){return _.first(this.get("collections")||[],15)},humanSize:function(){var e=this.get("stats");if(e)return Genghis.Util.humanizeSize((e.fileSize||0)+(e.indexSize||0))},stats:function(){var e=Genghis.Util.humanizeSize,t=this.get("stats");if(t)return[{name:"Avg. object size",value:e(t.avgObjSize||0)},{name:"Data size",value:e(t.dataSize||0)},{name:"Index size",value:e(t.indexSize||0)},{name:"Storage size",value:e(t.fileSize||0)}]},error:function(){return this.get("error")}}),Genghis.Models.Document=Backbone.Model.extend({idAttribute:null,initialize:function(){_.bindAll(this,"prettyId","prettyTime","prettyPrint","JSONish","isGridFile","isGridChunk","downloadUrl","fileUrl")},thunkId:function(e){if(_.isObject(e)&&e.hasOwnProperty("$genghisType")&&e.$genghisType=="ObjectId")return e.$value;if(typeof e!="undefined")return"~"+Genghis.Util.base64Encode(JSON.stringify(e))},parse:function(e){var t=this.thunkId(e._id);return t&&(this.id=t),e},url:function(){var e=function(e){return!e||!e.url?null:_.isFunction(e.url)?e.url():e.url},t=e(this.collection)||this.urlRoot||urlError();return t=t.split("?").shift(),this.isNew()?t:t+(t.charAt(t.length-1)=="/"?"":"/")+encodeURIComponent(this.id)},prettyId:function(){var e=this.get("_id");if(_.isObject(e)&&e.hasOwnProperty("$genghisType"))switch(e.$genghisType){case"ObjectId":return e.$value;case"BinData":if(e.$value.$subtype==3){var t=/^([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})$/i,n=Genghis.Util.base64ToHex(e.$value.$binary);if(t.test(n))return n.replace(t,"$1-$2-$3-$4-$5")}return e.$value.$binary.replace(/\=+$/,"")}return Genghis.JSON.stringify(e,!1)},prettyTime:function(){if(!this.collection||this.collection.guessCreationTime){if(typeof this._prettyTime=="undefined"){var e=this.get("_id");if(_.isObject(e)&&e.hasOwnProperty("$genghisType")&&e.$genghisType==="ObjectId"&&e.$value.length==24){var t=new Date;t.setTime(parseInt(e.$value.substring(0,8),16)*1e3),this._prettyTime=t.toUTCString()}}return this._prettyTime}},prettyPrint:function(){return Genghis.JSON.prettyPrint(this.toJSON())},JSONish:function(){return Genghis.JSON.stringify(this.toJSON())},isGridFile:function(){return this.get("chunkSize")&&/\.files\/documents\//.test(this.url())},isGridChunk:function(){return this.get("files_id")&&/\.chunks\/documents\//.test(this.url())},downloadUrl:function(){if(!this.isGridFile())throw"Not a GridFS file.";return this.url().replace(/\.files\/documents\//,".files/files/")},fileUrl:function(){if(!this.isGridChunk())throw"Not a GridFS chunk.";return this.url().replace(/\.chunks\/documents\//,".files/documents/").replace(this.id,this.thunkId(this.get("files_id")))}}),Genghis.Models.Pagination=Backbone.Model.extend({defaults:{page:1,pages:1,limit:50,count:0,total:0},initialize:function(){_.bindAll(this,"decrementTotal")},decrementTotal:function(){this.set({total:this.get("total")-1,count:this.get("count")-1})}}),Genghis.Models.Selection=Backbone.Model.extend({defaults:{server:null,database:null,collection:null,query:null,page:null},initialize:function(){_.bindAll(this,"select","update","nextPage","previousPage"),this.bind("change",this.update),this.pagination=new Genghis.Models.Pagination,this.servers=new Genghis.Collections.Servers,this.currentServer=new Genghis.Models.Server,this.databases=new Genghis.Collections.Databases,this.currentDatabase=new Genghis.Models.Database,this.collections=new Genghis.Collections.Collections,this.currentCollection=new Genghis.Models.Collection,this.documents=new Genghis.Collections.Documents,this.currentDocument=new Genghis.Models.Document},select:function(e,t,n,r,i,s){this.set({server:e||null,database:t||null,collection:n||null,document:r||null,query:i||null,page:s||null})},update:function(){function f(e,t){if(t.status!==404){try{data=JSON.parse(t.responseText)}catch(n){data={}}app.alerts.create({msg:data.error||"Unknown error",level:"error",block:!0})}}function l(e,t,n){return t=t||"Not Found",n=n||"Please try again.",function(e,r){switch(r.status){case 404:app.showSection(),app.showMasthead("404: "+t,"<p>"+n+"</p>",{error:!0});break;default:f(e,r)}}}var e=this.get("server"),t=this.get("database"),n=this.get("collection"),r=this.get("document"),i=this.get("query"),s=this.get("page"),o=app.baseUrl,u={};o+="servers",this.servers.url=o,this.servers.fetch({error:f}),e?(o=o+"/"+e,this.currentServer.url=o,this.currentServer.fetch({error:l("databases","Server Not Found")}),o+="/databases",this.databases.url=o,this.databases.fetch({error:f})):(this.currentServer.clear(),this.databases.reset()),t?(o=o+"/"+t,this.currentDatabase.url=o,this.currentDatabase.fetch({error:l("collections","Database Not Found")}),o+="/collections",this.collections.url=o,this.collections.fetch({error:f})):(this.currentDatabase.clear(),this.collections.reset());if(n){o=o+"/"+n,this.currentCollection.url=o,this.currentCollection.fetch({error:l("documents","Collection Not Found")}),o+="/documents";var a="";if(i||s)i&&(u.q=encodeURIComponent(JSON.stringify(Genghis.JSON.parse(i)))),s&&(u.page=encodeURIComponent(s)),a="?"+Genghis.Util.buildQuery(u);this.documents.url=o+a,this.documents.fetch({error:f})}else this.currentCollection.clear(),this.documents.reset();r&&(this.currentDocument.clear({silent:!0}),this.currentDocument.id=r,this.currentDocument.urlRoot=o,this.currentDocument.fetch({error:l("document","Document Not Found","But I’m sure there are plenty of other nice documents out there…")}))},nextPage:function(){return 1+(this.get("page")||1)},previousPage:function(){return Math.max(1,(this.get("page")||1)-1)}}),Genghis.Models.Server=Genghis.Models.BaseModel.extend({editable:function(){return!!this.get("editable")},firstChildren:function(){return _.first(this.get("databases")||[],15)},error:function(){return this.get("error")}}),Genghis.Collections.Alerts=Backbone.Collection.extend({model:Genghis.Models.Alert,initialize:function(){_.bindAll(this,"handleError")},handleError:function(e){if(e.readyState===0)return;try{data=JSON.parse(e.responseText)}catch(t){data={error:e.responseText}}msg=data.error||"<strong>FAIL</strong> An unexpected server error has occurred.",this.add({level:"error",msg:msg,block:!msg.search(/<(p|ul|ol|div)[ >]/)})}}),Genghis.Collections.Collections=Genghis.Collections.BaseCollection.extend({model:Genghis.Models.Collection}),Genghis.Collections.Databases=Genghis.Collections.BaseCollection.extend({model:Genghis.Models.Database}),Genghis.Collections.Documents=Backbone.Collection.extend({model:Genghis.Models.Document,parse:function(e){return app.selection.pagination.set({page:e.page,pages:e.pages,count:e.documents.length,total:e.count}),this.guessCreationTime=_.all(e.documents,function(e){var t=e._id||null;if(!_.isObject(t)||t.$genghisType!="ObjectId")return!0;if(t.$value.length!=24)return!1;var n=parseInt(t.$value.substring(0,8),16)*1e3;return n>this.start&&n<this.end},{start:1251388342e3,end:(new Date).getTime()+1728e5}),e.documents}}),Genghis.Collections.Servers=Backbone.Collection.extend({model:Genghis.Models.Server,firstChildren:function(){return this.collection.reject(function(e){return e.has("error")}).slice(0,10)},hasMoreChildren:function(){return this.collection.length>10||this.collection.detect(function(e){return e.has("error")})}}),Genghis.Views.Alert=Backbone.View.extend({tagName:"div",template:Genghis.Templates.Alert,events:{"click a.close":"destroy"},initialize:function(){_.bindAll(this,"render","remove","destroy"),this.model.bind("change",this.render),this.model.bind("destroy",this.remove)},render:function(){return this.$el.html(this.template.render(this.model)),this},destroy:function(){this.model.destroy()},remove:function(){this.$el.remove()}}),Genghis.Views.Alerts=Backbone.View.extend({el:"aside#alerts",initialize:function(){_.bindAll(this,"render","addModel"),this.collection.bind("reset",this.render),this.collection.bind("add",this.addModel)},render:function(){return this.$el.html(""),this},addModel:function(e){var t=new Genghis.Views.Alert({model:e});this.$el.append(t.render().el)}}),Genghis.Views.App=Backbone.
|
1078
|
+
View.extend({el:"section#genghis",initialize:function(){_.bindAll(this,"showMasthead","removeMasthead","showSection");var e=this.baseUrl=this.options.baseUrl,t=this.selection=new Genghis.Models.Selection,n=this.alerts=new Genghis.Collections.Alerts;this.navView=new Genghis.Views.Nav({model:t,baseUrl:e}),this.alertsView=new Genghis.Views.Alerts({collection:n}),this.keyboardShortcutsView=new Genghis.Views.KeyboardShortcuts,this.serversView=new Genghis.Views.Servers({collection:t.servers}),this.databasesView=new Genghis.Views.Databases({model:t.currentServer,collection:t.databases}),this.collectionsView=new Genghis.Views.Collections({model:t.currentDatabase,collection:t.collections}),this.documentsView=new Genghis.Views.Documents({model:t.currentCollection,collection:t.documents,pagination:t.pagination}),this.documentView=new Genghis.Views.Document({model:t.currentDocument}),this.sections={servers:this.serversView,databases:this.databasesView,collections:this.collectionsView,documents:this.documentsView,document:this.documentView};var r=this.router=new Genghis.Router;$(".navbar a.brand").click(function(e){e.preventDefault(),r.navigate("",!0)}),$.getJSON(this.baseUrl+"check-status").error(n.handleError).success(function(e){_.each(e.alerts,function(e){n.add(_.extend({block:!e.msg.search(/<(p|ul|ol|div)[ >]/i)},e))})}),t.change()},showMasthead:function(e,t,n){this.removeMasthead(!0),mastheadView=new Genghis.Views.Masthead(_.extend(n||{},{heading:e,content:t||""}))},removeMasthead:function(e){var t=$("header.masthead");e||(t=t.not(".sticky")),t.remove()},showSection:function(e){var t=e&&_.has(this.sections,e);this.removeMasthead(),e=="servers"&&this.showWelcome(),$("body").toggleClass("has-section",t),_.each(this.sections,function(t,n){n!=e&&t.hide()}),t&&this.sections[e].show()},showWelcome:_.once(function(){this.showMasthead("",Genghis.Templates.Welcome.render({version:Genghis.version}),{epic:!0,className:"masthead welcome"})})}),Genghis.Views.CollectionRow=Genghis.Views.BaseRow.extend({template:Genghis.Templates.CollectionRow,isParanoid:!0}),Genghis.Views.Collections=Genghis.Views.BaseSection.extend({el:"section#collections",template:Genghis.Templates.Collections,rowView:Genghis.Views.CollectionRow,events:{"click .add-form button.show":"showAddForm","click .add-form a.show":"showAddForm","click .add-form a.show-gridfs":"showGridFSAddForm","click .add-form button.add":"submitAddForm","click .add-form button.cancel":"closeAddForm","keyup .add-form input.name":"updateOnKeyup"},initialize:function(){_.bindAll(this,"showGridFSAddForm"),Genghis.Views.BaseSection.prototype.initialize.apply(this,arguments)},render:function(){return Genghis.Views.BaseSection.prototype.render.apply(this,arguments),this.$(".dropdown-toggle").dropdown(),this},formatTitle:function(e){return e.id?e.id+" Collections":"Collections"},submitAddForm:function(){var e=this.addInput.val().replace(/^\s+/,"").replace(/\s+$/,"");if(e===""){window.app.alerts.add({msg:"Please enter a valid collection name."});return}this.addButton.hasClass("add-gridfs")?(e=e.replace(/\.(files|chunks)$/,""),this.collection.create({name:e+".files"}),this.collection.create({name:e+".chunks"})):this.collection.create({name:e}),this.closeAddForm()},showAddForm:function(){var e=this.$(".input-wrapper");e.length&&e.replaceWith(e.find("input")),this.addButton.removeClass("add-gridfs").text("Add collection"),Genghis.Views.BaseSection.prototype.showAddForm.apply(this,arguments)},showGridFSAddForm:function(e){e&&e.preventDefault&&e.preventDefault(),this.$(".input-wrapper").length===0&&(this.addInput.wrap('<div class="input-wrapper input-append">'),$('<span class="add-on">.files</span>').insertAfter(this.addInput)),this.addButton.addClass("add-gridfs").text("Add GridFS collection"),this.addForm.removeClass("inactive"),this.addInput.val()===""&&this.addInput.val("fs"),this.addInput.select().focus()},show:function(){Mousetrap.bind("shift+c",this.showGridFSAddForm),Genghis.Views.BaseSection.prototype.show.apply(this,arguments)},hide:function(){Mousetrap.unbind("shift+c"),Genghis.Views.BaseSection.prototype.hide.apply(this,arguments)}}),Genghis.Views.Confirm=Backbone.View.extend({className:"modal confirm-modal",template:Genghis.Templates.Confirm,events:{"click button.dismiss":"dismiss","click button.confirm":"confirm","keyup .confirm-input":"validateInput"},defaults:{header:null,body:"Really? There is no undo.",confirmText:"Okay",dismissText:"Cancel"},initialize:function(){_.bindAll(this,"render","confirm","validateInput","dismiss","remove"),this.onConfirm=this.options.confirm||function(){},this.confirmInput=this.options.confirmInput,this.modalOptions=_.pick(this.options,"backdrop","keyboard"),this.renderContext=_.defaults(_.pick(this.options,"header","body","confirmText","confirmInput","dismissText"),this.defaults),this.options.show!==!1&&this.render()},render:function(){var e=this.$el.html(this.template.render(this.renderContext));return this.confirmInput&&e.on("shown",function(){e.find(".confirm-input").focus()}),e.modal(this.modalOptions),this},confirm:function(){this.onConfirm(),this.dismiss()},validateInput:function(e){var t=this.$("button.confirm");$(e.target).val()==this.confirmInput?(t.removeAttr("disabled"),e.keyCode==13&&(e.preventDefault(),t.click())):t.attr("disabled",!0)},dismiss:function(){this.$el.on("hidden",this.remove).modal("hide")},remove:function(){this.$el.remove()}}),Genghis.Views.DatabaseRow=Genghis.Views.BaseRow.extend({template:Genghis.Templates.DatabaseRow,isParanoid:!0}),Genghis.Views.Databases=Genghis.Views.BaseSection.extend({el:"section#databases",template:Genghis.Templates.Databases,rowView:Genghis.Views.DatabaseRow,formatTitle:function(e){return e.id?e.id+" Databases":"Databases"}}),Genghis.Views.Document=Backbone.View.extend({el:"section#document",template:Genghis.Templates.Document,initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render)},render:function(){var e=new Genghis.Views.DocumentView({model:this.model});return this.$el.removeClass("spinning").html(this.template.render({model:this.model})),this.$(".content").html(e.render().el),this},show:function(){$("body").addClass("section-"+this.$el.attr("id")),this.$el.addClass("spinning").show(),$(document).scrollTop(0)},hide:function(){$("body").removeClass("section-"+this.$el.attr("id")),this.$el.hide()}}),Genghis.Views.DocumentView=Genghis.Views.BaseDocument.extend({tagName:"article",template:Genghis.Templates.DocumentView,events:{"click a.id":"navigate","click button.edit":"openEditDialog","click button.save":"saveDocument","click button.cancel":"cancelEdit","click button.destroy":"destroy","click a.grid-download":"download","click a.grid-file":"navigate","click .ref .ref-ref .v .s":"navigateColl","click .ref .ref-db .v .s":"navigateDb","click .ref .ref-id .v .s, .ref .ref-id .v.n":"navigateId"},initialize:function(){_.bindAll(this,"render","updateDocument","navigate","openEditDialog","cancelEdit","saveDocument","destroy","remove","download","navigateColl","navigateDb","navigateId","showServerError"),this.model.bind("change",this.updateDocument),this.model.bind("destroy",this.remove)},render:function(){return this.$el.html(this.template.render(this.model)),Genghis.Util.attachCollapsers(this.el),setTimeout(this.updateDocument,1),this},updateDocument:function(){this.$(".document").html("").append(this.model.prettyPrint()).show()},navigate:function(e){e.preventDefault(),app.router.navigate(Genghis.Util.route($(e.target).attr("href")),!0)},navigateDb:function(e){var t=$(e.target).parents(".ref"),n=t.find(".ref-db .v .s").text();app.router.redirectToDatabase(app.selection.currentServer.id,n)},navigateColl:function(e){var t=$(e.target).parents(".ref"),n=t.find(".ref-db .v .s").text()||app.selection.currentDatabase.id,r=t.find(".ref-ref .v .s").text();app.router.redirectToCollection(app.selection.currentServer.id,n,r)},navigateId:function(e){var t=$(e.target).parents(".ref"),n=t.find(".ref-db .v .s").text()||app.selection.currentDatabase.id,r=t.find(".ref-ref .v .s").text()||app.selection.currentCollection.id,i=t.find(".ref-id").attr("data-document-id");app.router.redirectToDocument(app.selection.currentServer.id,n,r,encodeURIComponent(i))},openEditDialog:function(){var e=this.$(".well"),t=Math.max(180,Math.min(600,e.height()+40)),n="editor-"+this.model.id.replace("~","-"),r=$('<textarea id="'+n+'"></textarea>').text(this.model.JSONish()).appendTo(e);this.$(".document").hide();var i=this.$el.addClass("edit");this.editor=CodeMirror.fromTextArea(r[0],_.extend({},Genghis.defaults.codeMirror,{onFocus:function(){i.addClass("focused")},onBlur:function(){i.removeClass("focused")},extraKeys:{"Ctrl-Enter":this.saveDocument,"Cmd-Enter":this.saveDocument}})),this.editor.setSize(null,t),setTimeout(this.editor.focus,50),r.resize(_.throttle(this.editor.refresh,100))},cancelEdit:function(){this.$el.removeClass("edit focused"),this.editor.toTextArea(),this.$("textarea").remove(),this.updateDocument(),this.$(".well").height("auto")},getErrorBlock:function(){var e=this.$("div.errors");return e.length===0&&(e=$('<div class="errors"></div>').prependTo(this.el)),e},showServerError:function(e){var t=new Genghis.Views.Alert({model:new Genghis.Models.Alert({level:"error",msg:e,block:!0})});this.getErrorBlock().append(t.render().el)},saveDocument:function(){var e=this.getEditorValue();if(e===!1)return;var t=this.showServerError;this.model.clear({silent:!0}),this.model.save(e,{wait:!0,success:this.cancelEdit,error:function(e,n){var r;try{r=JSON.parse(n.responseText).error}catch(i){}t(r||"Error updating document.")}})},destroy:function(){var e=this.model,t=this.model.isGridFile(),n=t?"file":"document";t&&(this.model.url=this.model.url().replace(".files/documents/",".files/files/")),new Genghis.Views.Confirm({body:"<strong>Really?</strong> "+(t?"This will delete all GridFS chunks as well. <br><br>":"")+"There is no undo.",confirmText:"<strong>Yes</strong>, delete "+n+" forever",confirm:function(){var t=app.selection;e.destroy({wait:!0,error:function(e,t){var r;try{r=JSON.parse(t.responseText).error}catch(i){}app.alerts.create({level:"error",msg:r||"Error deleting "+n+"."})},success:function(e,n){t.pagination.decrementTotal(),t.get("document")&&app.router.redirectTo(t.get("server"),t.get("database"),t.get("collection"),null,t.get("query"))}})}})},remove:function(){this.$el.remove()},download:function(e){Genghis.Util.download(this.model.downloadUrl()),e.preventDefault()}}),Genghis.Views.Documents=Backbone.View.extend({el:"section#documents",template:Genghis.Templates.Documents,events:{"click button.add-document":"createDocument","dragover button.file-upload":"dragGridFile","dragleave button.file-upload":"dragLeave","drop button.file-upload":"dropGridFile"},initialize:function(){_.bindAll(this,"render","addAll","addDocument","createDocument","dragGridFile","dragLeave","dropGridFile"),this.pagination=this.options.pagination,this.collection.bind("reset",this.addAll,this),this.collection.bind("add",this.addDocument,this),this.render()},render:function(){return this.$el.html(this.template.render({})),this.headerView=new Genghis.Views.DocumentsHeader({model:this.pagination}),this.paginationView=new Genghis.Views.Pagination({el:this.$(".pagination-wrapper"),model:this.pagination,collection:this.collection}),this.addAll(),this},addAll:function(){this.$(".content").html(""),this.$("button.add-document").text(this.model.isGridCollection()?"Upload file":"Add document").toggleClass("file-upload",this.model.isGridCollection()),this.collection.each(this.addDocument),this.$el.removeClass("spinning")},addDocument:function(e){var t=new Genghis.Views.DocumentView({model:e});this.$(".content").append(t.render().el)},createDocument:function(e){e&&e.preventDefault&&e.preventDefault();if(this.model.isGridCollection()){if(!Modernizr.filereader){app.alerts.create({msg:"<h2>Unable to upload file.</h2> Your browser does not support the File API. Please use a modern browser.",level:"error",block:!0});return}this.getNewGridFileView().show()}else this.getNewDocumentView().show()},dragGridFile:function(e){e.stopPropagation(),e.preventDefault(),e.originalEvent.dataTransfer.dropEffect="copy",$(e.target).addClass("active")},dragLeave:function(e){$(e.target).removeClass("active")},dropGridFile:function(e){e.stopPropagation(),e.preventDefault(),$(e.target).removeClass("active");if(!Modernizr.filereader){app.alerts.create({msg:"<h2>Unable to upload file.</h2> Your browser does not support the File API. Please use a modern browser.",level:"error",block:!0});return}this.getNewGridFileView().showMetadata(e.originalEvent.dataTransfer.files[0])},getNewDocumentView:function(){return this.newDocumentView||(this.newDocumentView=new Genghis.Views.NewDocument({collection:this.collection})),this.newDocumentView},getNewGridFileView:function(){return this.newGridFileView||(this.newGridFileView=new Genghis.Views.NewGridFile({collection:this.collection})),this.newGridFileView},show:function(){Mousetrap.bind("c",this.createDocument),$("body").addClass("section-"+this.$el.attr("id")),this.$el.addClass("spinning").show(),$(document).scrollTop(0)},hide:function(){Mousetrap.unbind("c"),$("body").removeClass("section-"+this.$el.attr("id")),this.$el.hide()}}),Genghis.Views.DocumentsHeader=Backbone.View.extend({el:"section#documents > header h2",initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.render)},render:function(){var e,t=this.model.get("count"),n=this.model.get("page"),r=this.model.get("pages"),i=this.model.get("limit"),s=this.model.get("total");e=""+s+" Document"+(s!=1?"s":"");if(s!=t){var o=(n-1)*i+1,u=Math.min((n-1)*i+t,s);e=""+o+" - "+u+" of "+e}return this.$el.html(e),this}}),Genghis.Views.KeyboardShortcuts=Backbone.View.extend({tagName:"div",template:Genghis.Templates.KeyboardShortcuts,events:{"click a.close":"hide"},initialize:function(){_.bindAll(this,"render","show","hide","toggle"),Mousetrap.bind("?",this.toggle),$("footer a.keyboard-shortcuts").click(this.show),this.render()},render:function(){return this.$el.html(this.template.render()).modal({backdrop:!0,keyboard:!0,show:!1}),this},show:function(e){e.preventDefault(),this.$el.modal("show")},hide:function(e){e.preventDefault(),this.$el.modal("hide")},toggle:function(){this.$el.modal("toggle")}}),Genghis.Views.Masthead=Backbone.View.extend({tagName:"header",attributes:{"class":"masthead"},template:Genghis.Templates.Masthead,initialize:function(){this.heading=this.options.heading,this.content=this.options.content||"",this.error=this.options.error||!1,this.epic=this.options.epic||!1,this.sticky=this.options.sticky||!1,this.render()},render:function(){return this.$el.html(this.template.render({heading:this.heading,content:this.content})).toggleClass("error",this.error).toggleClass("epic",this.epic).toggleClass("sticky",this.sticky).insertAfter("header.navbar"),this}}),Genghis.Views.Nav=Backbone.View.extend({el:".navbar nav",template:Genghis.Templates.Nav,events:{"click a":"navigate"},initialize:function(){_.bindAll(this,"render","navigate","navigateToServers","navigateUp"),this.baseUrl=this.options.baseUrl,this.model.bind("change",this.updateQuery),$("body").bind("click",function(e){$(".dropdown-toggle, .menu").parent("li").removeClass("open")}),Mousetrap.bind("s",this.navigateToServers),Mousetrap.bind("u",this.navigateUp),this.render()},render:function(){return this.$el.html(this.template.render({baseUrl:this.baseUrl})),this.serverNavView=new Genghis.Views.NavSection({el:this.$("li.server"),model:this.model.currentServer,collection:this.model.servers}),this.databaseNavView=new Genghis.Views.NavSection({el:this.$("li.database"),model:this.model.currentDatabase,collection:this.model.databases}),this.collectionNavView=new Genghis.Views.NavSection({el:this.$("li.collection"),model:this.model.currentCollection,collection:this.model.collections}),this.searchView=new Genghis.Views.Search({model:this.model}),this.$el.append(this.searchView.render().el),this},navigate:function(e){e.preventDefault(),app.router.navigate(Genghis.Util.route($(e.target).attr("href")),!0)},navigateToServers:function(e){e.preventDefault(),app.router.redirectToIndex()},navigateUp:function(e){e.preventDefault(),app.router.redirectTo(this.model.has("database")&&this.model.get("server"),this.model.has("collection")&&this.model.get("database"),(this.model.has("document")||this.model.has("query"))&&this.model.get("collection"))}}),Genghis.Views.NavSection=Backbone.View.extend({template:Genghis.Templates.NavSection,menuTemplate:Genghis.Templates.NavSectionMenu,initialize:function(){_.bindAll(this,"render"),this.model.bind("change",this.updateLink,this),this.collection.bind("reset",this.renderMenu,this),this.render()},render:function(){return this.$el.html(this.template.render(this.model)),this.$(".dropdown-toggle").hoverIntent(function(e){$(e.target).parent("li").addClass("open").siblings("li").removeClass("open")},$.noop),this},updateLink:function(){this.$("a.dropdown-toggle").text(this.model.id?this.model.id:"").attr("href",this.model.id?this.model.url:"")},renderMenu:function(){this.$("ul.dropdown-menu").html(this.menuTemplate.render({model:this.model,collection:this.collection})),this.$("ul.dropdown-menu a span").each(function(e,t){var n=$(t),r=n.text().length;r>3&&n.parent().css("padding-right",""+(r+.5)+"em")})}}),Genghis.Views.NewDocument=Genghis.Views.BaseNewDocument.extend({el:"#new-document",template:Genghis.Templates.NewDocument,getTextArea:function(){return this.$("#editor-new")[0]},show:function(){this.editor.setValue("{\n \n}\n"),this.editor.setCursor({line:1,ch:4}),this.modal.modal("show")},saveDocument:function(){var e=this.getEditorValue();if(e===!1)return;var t=this.closeModal,n=this.showServerError;this.collection.create(e,{wait:!0,success:function(e){t(),app.router.navigate(Genghis.Util.route(e.url()),!0)},error:function(e,t){var r;try{r=JSON.parse(t.responseText).error}catch(i){}n(r||"Error creating document.")}})}}),Genghis.Views.NewGridFile=Genghis.Views.BaseNewDocument.extend({el:"#new-grid-file",template:Genghis.Templates.NewGridFile,initialize:function(){_.bindAll(this,"handleFileInputChange","showMetadata"),Genghis.Views.BaseNewDocument.prototype.initialize.apply(this,arguments)},render:function(){return Genghis.Views.BaseNewDocument.prototype.render.apply(this,arguments),this.fileInput=$('<input id="new-grid-file-input" type="file">').hide().appendTo("body"),this.currentFile=null,this.fileInput.bind("change",this.handleFileInputChange),this},getTextArea:function(){return this.$("#editor-upload")[0]},show:function(){this.fileInput.click()},handleFileInputChange:function(e){this.showMetadata(e.target.files[0])},showMetadata:function(e){this.currentFile=e,e&&(this.fileInput.val(""),this.editor.setValue(Genghis.JSON.stringify({filename:e.name,contentType:e.type||"binary/octet-stream",metadata:{}})),this.editor.setCursor({line:3,ch:15}),this.modal.modal("show"))},saveDocument:function(){var e=this.getEditorValue();if(e===!1)return;if(e.file){this.showServerError("Unexpected property: 'file'");return}var t=this.closeModal,n=this.showServerError,r=this.collection,i=this.collection.url.replace(".files/documents",".files/files"),s=new FileReader;s.onload=function(s){e.file=s.target.result,$.ajax({type:"POST",url:i,data:JSON.stringify(e),contentType:"application/json"}).success(function(e){r.add(e),t();var n=(new Genghis.Models.Document(e)).prettyId();app.router.navigate(Genghis.Util.route(r.url+"/"+n),!0)}).error(function(e){var t;try{t=JSON.parse(e.responseText).error}catch(r){}n(t||"Error uploading file.")})},s.readAsDataURL(this.currentFile)}}),Genghis.Views.Pagination=Backbone.View.extend({template:Genghis.Templates.Pagination,events:{"click a":"navigate"},initialize:function(){_.bindAll(this,"render","urlTemplate","navigate","nextPage","prevPage"),this.model.bind("change",this.render),Mousetrap.bind("n",this.nextPage),Mousetrap.bind("p",this.prevPage)},render:function(){if(this.model.get("pages")==1)this.$el.hide();else{var e=9,t=Math.ceil(e/2),n=this.model.get("page"),r=this.model.get("pages"),i=n>t?Math.max(n-(t-3),1):1,s=r-n>t?Math.min(n+(t-3),r):r,o=s==r?Math.max(r-(e-3),1):i,u=i==1?Math.min(o+(e-3),r):s;u>=r-2&&(u=r),o<=3&&(o=1);var a=this.urlTemplate;this.$el.html(this.template.render({page:n,last:r,firstUrl:a(1),prevUrl:a(Math.max(1,n-1)),nextUrl:a(Math.min(n+1,r)),lastUrl:a(r),pageUrls:_.range(o,u+1).map(function(e){return{index:e,url:a(e),active:e===n}}),isFirst:n===1,isStart:o===1,isEnd:u>=r,isLast:n===r})).show()}return this},urlTemplate:function(e){var t=this.collection.url,n=t.split("?"),r=n.shift(),i=Genghis.Util.parseQuery(n.join("?")),s={page:e};return i.q&&(s.q=encodeURIComponent(app.selection.get("query"))),r+"?"+Genghis.Util.buildQuery(_.extend(i,s))},navigate:function(e){e.preventDefault();var t=$(e.target).attr("href");t&&app.router.navigate(Genghis.Util.route(t),!0)},nextPage:function(e){this.$el.is(":visible")&&(e.preventDefault(),this.$("li.next a[href]").click())},prevPage:function(e){this.$el.is(":visible")&&(e.preventDefault(),this.$("li.prev a[href]").click())}}),Genghis.Views.Search=Backbone.View.extend({tagName:"form",className:"navbar-search form-search control-group",template:Genghis.Templates.Search,events:{"keyup input#navbar-query":"handleSearchKeyup","click span.grippie":"toggleExpanded","dragmove span.grippie":"handleGrippieDrag","click button.cancel":"collapseSearch","click button.search":"findDocumentsAdvanced"},initialize:function(){_.bindAll(this,"render","updateQuery","handleSearchKeyup","findDocuments","findDocumentsAdvanced","focusSearch","blurSearch","advancedSearchToQuery","queryToAdvancedSearch","expandSearch","collapseSearch","collapseNoFocus","toggleExpanded","handleGrippieDrag"),this.model.bind("change",this.updateQuery),this.model.bind("change:collection",this.collapseNoFocus)},render:function(){this.$el.html(this.template.render({query:this.model.get("query")})),this.$el.submit(function(e){e.preventDefault()}),Mousetrap.bind("/",this.focusSearch);var e=this.$el,t=e.find(".well"),n=this.expandSearch,r=this.collapseSearch;return this.$(".grippie").bind("mousedown",function(t){function o(t){var o=t.clientY+document.documentElement.scrollTop-e.offset().top;return o>=i&&o<=s&&e.height(o+"px"),e.hasClass("expanded")?o<i&&r():o>100&&n(),!1}function u(t){$(document).unbind("mousemove",o).unbind("mouseup",u),e.hasClass("expanded")||r(),t.preventDefault()}t.preventDefault();var i=30,s=Math.min($(window).height()/2,350);$(document).mousemove(o).mouseup(u)}),this},updateQuery:function(){var e=this.normalizeQuery(this.model.get("query")||this.getDocumentQuery()||"");this.$("input#navbar-query").val(e)},getDocumentQuery:function(){var e=this.model.get("document");return typeof e=="string"&&e[0]==="~"&&(e=Genghis.JSON.normalize('{"_id":'+Genghis.Util.base64Decode(e.substr(1))+"}")),e},handleSearchKeyup:function(e){this.$el.removeClass("error"),e.keyCode==13?(e.preventDefault(),this.findDocuments($(e.target).val())):e.keyCode==27&&this.blurSearch()},findDocuments:function(e){var t=Genghis.Util.route(this.model.currentCollection.url+"/documents");e=e.trim();if(e.match(/^([a-z\d]+)$/i))t=t+"/"+e;else{try{e=Genghis.JSON.normalize(e,!1)}catch(n){this.$el.addClass("error");return}t=t+"?"+Genghis.Util.buildQuery({q:encodeURIComponent(e)})}app.router.navigate(t,!0)},findDocumentsAdvanced:function(e){this.findDocuments(this.editor.getValue()),this.collapseSearch()},focusSearch:function(e){this.$("input#navbar-query").is(":visible")?(e&&e.preventDefault(),this.$("input#navbar-query").focus()):this.editor&&this.$(".well").is(":visible")&&(e&&e.preventDefault(),this.editor.focus())},blurSearch:function(){this.$("input#navbar-query").blur(),this.updateQuery()},normalizeQuery:function(e){e=e.trim();if(e!=="")try{e=Genghis.JSON.normalize(e,!1)}catch(t){}return e.replace(/^\{\s*\}$/,"").replace(/^\{\s*(['"]?)_id\1\s*:\s*\{\s*(['"]?)\$id\2\s*:\s*(["'])([a-z\d]+)\3\s*\}\s*\}$/,"$4").replace(/^\{\s*(['"]?)_id\1\s*:\s*(new\s+)?ObjectId\s*\(\s*(["'])([a-z\d]+)\3\s*\)\s*\}$/,"$4")},advancedSearchToQuery:function(){this.$("input#navbar-query").val(this.normalizeQuery(this.editor.getValue()))},queryToAdvancedSearch:function(){var e=this.$("input#navbar-query").val().trim();e.match(/^[a-z\d]+$/i)&&(e='{_id:ObjectId("'+e+'")}');if(e!=="")try{e=Genghis.JSON.normalize(e,!0)}catch(t){}this.editor.setValue(e)},expandSearch:function(e){if(!this.editor){var t=this.$(".search-advanced");this.editor=CodeMirror(this.$(".well")[0],_.extend({},Genghis.defaults.codeMirror,{lineNumbers:!1,onFocus:function(){t.addClass("focused")},onBlur:function(){t.removeClass("focused")},extraKeys:{"Ctrl-Enter":this.findDocumentsAdvanced,"Cmd-Enter":this.findDocumentsAdvanced,Esc:this.findDocumentsAdvanced},onChange:this.advancedSearchToQuery}))}this.queryToAdvancedSearch(),this.$el.addClass("expanded");var n=this.editor,r=this.focusSearch;_.defer(function(){n.refresh(),r()})},collapseSearch:function(){this.collapseNoFocus(),this.focusSearch()},collapseNoFocus:function(){this.$el.removeClass("expanded").css("height","auto")},toggleExpanded:function(){this.$el.hasClass("expanded")?this.collapseSearch():(this.expandSearch(),this.$el.height(Math.floor($(window).height()/4)+"px"))},handleGrippieDrag:function(e){console.log(e)}}),Genghis.Views.ServerRow=Genghis.Views.BaseRow.extend({template:Genghis.Templates.ServerRow,destroyConfirmButton:function(e){return"<strong>Yes</strong>, remove "+e+" from server list"}}),Genghis.Views.Servers=Genghis.Views.BaseSection.extend({el:"section#servers",template:Genghis.Templates.Servers,rowView:Genghis.Views.ServerRow,render:function(){return Genghis.Views.BaseSection.prototype.render.apply(this,arguments),$(".help",this.addForm).tooltip(),this},updateTitle:function(){},formatTitle:function(){return"Servers"}}),Genghis.Router=Backbone.Router.extend({routes:{"":"index",servers:"redirectToIndex","servers/:server":"server","servers/:server/databases":"redirectToServer","servers/:server/databases/:database":"database","servers/:server/databases/:database/collections":"redirectToDatabase","servers/:server/databases/:database/collections/:collection?*query":"redirectToCollectionQuery","servers/:server/databases/:database/collections/:collection":"collection","servers/:server/databases/:database/collections/:collection/documents":"redirectToCollection","servers/:server/databases/:database/collections/:collection/documents?*query":"collectionQuery","servers/:server/databases/:database/collections/:collection/documents/:documentId":"document","*path":"notFound"},index:function(){document.title="Genghis",app.selection.select(),app.showSection("servers")},redirectToIndex:function(){this.navigate("",!0)},server:function(e){document.title=this.buildTitle(e),app.selection.select(e),app.showSection("databases")},redirectToServer:function(e){this.navigate("servers/"+e,!0)},database:function(e,t){document.title=this.buildTitle(e,t),app.selection.select(e,t),app.showSection("collections")},redirectToDatabase:function(e,t){this.navigate("servers/"+e+"/databases/"+t,!0)},collection:function(e,t,n){document.title=this.buildTitle(e,t,n),app.selection.select(e,t,n),app.showSection("documents")},redirectToCollection:function(e,t,n){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n,!0)},redirectToCollectionQuery:function(e,t,n,r){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n+"/documents?"+r,!0)},collectionQuery:function(e,t,n,r){document.title=this.buildTitle(e,t,n,"Query results");var i=Genghis.Util.parseQuery(r);app.selection.select(e,t,n,null,i.q,i.page),app.showSection("documents")},redirectToQuery:function(e,t,n,r){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n+"/documents?"+Genghis.Util.buildQuery({q:encodeURIComponent(r)}),!0)},document:function(e,t,n,r){document.title=this.buildTitle(e,t,n,decodeURIComponent(r)),app.selection.select(e,t,n,decodeURIComponent(r)),app.showSection("document")},redirectToDocument:function(e,t,n,r){this.navigate("servers/"+e+"/databases/"+t+"/collections/"+n+"/documents/"+r,!0)},redirectTo:function(e,t,n,r,i){return e?t?n?!r&&!i?this.redirectToCollection(e,t,n):i?this.redirectToQuery(e,t,n,i):this.redirectToDocument(e,t,n,r):this.redirectToDatabase(e,t):this.redirectToServer(e):this.redirectToIndex()},notFound:function(e){if(e.replace(/(^\/|\/$)/g,"")==app.baseUrl.replace(/(^\/|\/$)/g,""))return this.redirectToIndex();document.title=this.buildTitle("404: Not Found"),app.showSection(),app.showMasthead("404: Not Found","<p>If you think you've reached this message in error, please press <strong>0</strong> to speak with an operator. Otherwise, hang up and try again.</p>",{error:!0,epic:!0})},buildTitle:function(){var e=Array.prototype.slice.call(arguments);return e.length?"Genghis \u2014 "+e.join(" \u203a "):"Genghis"}});
|
1048
1079
|
|
data/spec/requests/api_spec.rb
CHANGED
@@ -157,7 +157,7 @@ genghis_backends.each do |backend|
|
|
157
157
|
name: '__genghis_spec_test__',
|
158
158
|
count: 0,
|
159
159
|
collections: [],
|
160
|
-
|
160
|
+
stats: Hash
|
161
161
|
}
|
162
162
|
].ignore_extra_values!
|
163
163
|
end
|
@@ -182,7 +182,7 @@ genghis_backends.each do |backend|
|
|
182
182
|
name: '__genghis_spec_create_db_test__',
|
183
183
|
count: 0,
|
184
184
|
collections: [],
|
185
|
-
|
185
|
+
stats: Hash
|
186
186
|
end
|
187
187
|
|
188
188
|
it 'returns 400 unless given a valid database name' do
|
@@ -223,7 +223,7 @@ genghis_backends.each do |backend|
|
|
223
223
|
name: '__genghis_spec_test__',
|
224
224
|
count: 0,
|
225
225
|
collections: [],
|
226
|
-
|
226
|
+
stats: Hash
|
227
227
|
end
|
228
228
|
|
229
229
|
it 'returns 404 when the database is not found' do
|
@@ -269,7 +269,8 @@ genghis_backends.each do |backend|
|
|
269
269
|
id: 'spec_collection',
|
270
270
|
name: 'spec_collection',
|
271
271
|
count: 0,
|
272
|
-
indexes: Array
|
272
|
+
indexes: Array,
|
273
|
+
stats: Hash,
|
273
274
|
}
|
274
275
|
]
|
275
276
|
end
|
@@ -294,7 +295,8 @@ genghis_backends.each do |backend|
|
|
294
295
|
id: 'spec_create_collection',
|
295
296
|
name: 'spec_create_collection',
|
296
297
|
count: 0,
|
297
|
-
indexes: Array
|
298
|
+
indexes: Array,
|
299
|
+
stats: Hash
|
298
300
|
end
|
299
301
|
|
300
302
|
it 'returns 400 unless given a valid collection name' do
|
@@ -334,7 +336,8 @@ genghis_backends.each do |backend|
|
|
334
336
|
id: 'spec_collection',
|
335
337
|
name: 'spec_collection',
|
336
338
|
count: 0,
|
337
|
-
indexes: Array
|
339
|
+
indexes: Array,
|
340
|
+
stats: Hash
|
338
341
|
end
|
339
342
|
|
340
343
|
it 'returns 404 when the database is not found' do
|
@@ -392,31 +395,36 @@ genghis_backends.each do |backend|
|
|
392
395
|
id: 'one with a few spaces',
|
393
396
|
name: 'one with a few spaces',
|
394
397
|
count: 0,
|
395
|
-
indexes: Array
|
398
|
+
indexes: Array,
|
399
|
+
stats: Hash
|
396
400
|
},
|
397
401
|
{
|
398
402
|
id: 'another.with.dots',
|
399
403
|
name: 'another.with.dots',
|
400
404
|
count: 0,
|
401
|
-
indexes: Array
|
405
|
+
indexes: Array,
|
406
|
+
stats: Hash
|
402
407
|
},
|
403
408
|
{
|
404
409
|
id: 'forward/slashes',
|
405
410
|
name: 'forward/slashes',
|
406
411
|
count: 0,
|
407
|
-
indexes: Array
|
412
|
+
indexes: Array,
|
413
|
+
stats: Hash
|
408
414
|
},
|
409
415
|
{
|
410
416
|
id: 'back\\slashes',
|
411
417
|
name: 'back\\slashes',
|
412
418
|
count: 0,
|
413
|
-
indexes: Array
|
419
|
+
indexes: Array,
|
420
|
+
stats: Hash
|
414
421
|
},
|
415
422
|
{
|
416
423
|
id: 'and unicode…',
|
417
424
|
name: 'and unicode…',
|
418
425
|
count: 0,
|
419
|
-
indexes: Array
|
426
|
+
indexes: Array,
|
427
|
+
stats: Hash
|
420
428
|
},
|
421
429
|
]
|
422
430
|
end
|
@@ -436,7 +444,8 @@ genghis_backends.each do |backend|
|
|
436
444
|
id: 'a b.c/d\\e…',
|
437
445
|
name: 'a b.c/d\\e…',
|
438
446
|
count: 0,
|
439
|
-
indexes: Array
|
447
|
+
indexes: Array,
|
448
|
+
stats: Hash
|
440
449
|
end
|
441
450
|
end
|
442
451
|
|
@@ -453,7 +462,8 @@ genghis_backends.each do |backend|
|
|
453
462
|
id: 'foo bar.baz/qux\\quux…',
|
454
463
|
name: 'foo bar.baz/qux\\quux…',
|
455
464
|
count: 0,
|
456
|
-
indexes: Array
|
465
|
+
indexes: Array,
|
466
|
+
stats: Hash
|
457
467
|
end
|
458
468
|
end
|
459
469
|
end
|