contour 2.0.0 → 2.1.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/app/assets/images/bootstrap/glyphiconshalflings-regular.eot +0 -0
  5. data/app/assets/images/bootstrap/glyphiconshalflings-regular.otf +0 -0
  6. data/app/assets/images/bootstrap/glyphiconshalflings-regular.svg +175 -0
  7. data/app/assets/images/bootstrap/glyphiconshalflings-regular.ttf +0 -0
  8. data/app/assets/images/bootstrap/glyphiconshalflings-regular.woff +0 -0
  9. data/app/assets/javascripts/bootstrap/v3.0.0-rc1/bootstrap.js +1966 -0
  10. data/app/assets/javascripts/contour.js +1 -1
  11. data/app/assets/stylesheets/bootstrap-overrides.css.erb +73 -0
  12. data/app/assets/stylesheets/bootstrap/bootstrap-glyphicons.css +6 -0
  13. data/app/assets/stylesheets/bootstrap/v3.0.0-rc1/bootstrap.css +4692 -0
  14. data/app/assets/stylesheets/contour.css +3 -4
  15. data/app/views/contour/layouts/_menu.html.erb +45 -45
  16. data/lib/contour/version.rb +2 -2
  17. data/lib/generators/contour/scaffold/templates/index.html.erb +1 -1
  18. metadata +13 -11
  19. data/app/assets/images/twitter-bootstrap/v2.3.2/glyphicons-halflings-white.png +0 -0
  20. data/app/assets/images/twitter-bootstrap/v2.3.2/glyphicons-halflings.png +0 -0
  21. data/app/assets/javascripts/twitter-bootstrap/v2.3.2/bootstrap.js +0 -2280
  22. data/app/assets/stylesheets/bootstrap-base-overrides.css.erb +0 -86
  23. data/app/assets/stylesheets/bootstrap-responsive-overrides.css +0 -12
  24. data/app/assets/stylesheets/twitter-bootstrap/v2.3.2/bootstrap-responsive.css +0 -1109
  25. data/app/assets/stylesheets/twitter-bootstrap/v2.3.2/bootstrap.css +0 -6167
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e0d9a18506700ecd33a21305a05b4d6547553bda
4
- data.tar.gz: 3833aa34a5eb12da18bfd98a283f63e414bc1acb
3
+ metadata.gz: 56494a17f233167a5ff244bcedbe409561cb97b7
4
+ data.tar.gz: 49c53ccaaade73dd772d57e615bf07176bce7283
5
5
  SHA512:
6
- metadata.gz: 164d3afc8ff88cc49e751e7ad8c9b10b568e2a67d1d15c281a0907a7e1f2cf6f40937844396cb0f87460228d984d4884d2e597debe80933df7d5668c7610f843
7
- data.tar.gz: 01db625fce5d8344756b43c47af1386fa3babbed383ebd2cdf75930009c8d8a22a6ebe041bb3ea130a4b6a36a6ea7dcfb0348ad4e5e882ee727c560917344cc2
6
+ metadata.gz: 1d3c90b1e24b4cdc65e01359083ccb5ee9faf9a789bdc9e8b12fe96653005a89c229064c61263035da59b27ad42dc445cb50a703104d6137b31f9c02af00af3e
7
+ data.tar.gz: bc10cb23c644a9855e3b92029447fd792dc8d52316f822c6afa0af98f4cc696c7616aa7a49f63f38a39ab3d16c7c6a72f214c1b800f6a319ee7344f2e9d63e44
@@ -1,3 +1,7 @@
1
+ ## 2.1.0
2
+
3
+ - Updated Bootstrap to 3.0.0-rc1
4
+
1
5
  ## 2.0.0 (July 25, 2013)
2
6
 
3
7
  ### Enhancements
data/README.md CHANGED
@@ -35,7 +35,7 @@ cd blank_rails_project
35
35
  Modify `Gemfile` and add
36
36
 
37
37
  ```ruby
38
- gem 'contour', '~> 2.0.0'
38
+ gem 'contour', '~> 2.1.0'
39
39
  ```
40
40
 
41
41
  Run Bundle install
@@ -0,0 +1,175 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
+ <svg xmlns="http://www.w3.org/2000/svg">
4
+ <metadata></metadata>
5
+ <defs>
6
+ <font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
7
+ <font-face units-per-em="1200" ascent="960" descent="-240" />
8
+ <missing-glyph horiz-adv-x="500" />
9
+ <glyph />
10
+ <glyph />
11
+ <glyph unicode="&#xd;" />
12
+ <glyph unicode=" " />
13
+ <glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
14
+ <glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
15
+ <glyph unicode="&#x20ac;" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-63 -32t-65.5 -67t-50 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-207 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
16
+ <glyph unicode="&#x2212;" d="M200 400h900v300h-900v-300z" />
17
+ <glyph unicode="&#x2709;" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
18
+ <glyph unicode="&#x270f;" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
19
+ <glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
20
+ <glyph unicode="&#xe001;" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
21
+ <glyph unicode="&#xe002;" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
22
+ <glyph unicode="&#xe003;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
23
+ <glyph unicode="&#xe005;" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
24
+ <glyph unicode="&#xe006;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447z" />
25
+ <glyph unicode="&#xe007;" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
26
+ <glyph unicode="&#xe008;" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
27
+ <glyph unicode="&#xe009;" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
28
+ <glyph unicode="&#xe010;" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
29
+ <glyph unicode="&#xe011;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
30
+ <glyph unicode="&#xe012;" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
31
+ <glyph unicode="&#xe013;" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
32
+ <glyph unicode="&#xe014;" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
33
+ <glyph unicode="&#xe015;" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
34
+ <glyph unicode="&#xe016;" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 299q-120 -77 -261 -77q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
35
+ <glyph unicode="&#xe017;" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
36
+ <glyph unicode="&#xe018;" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
37
+ <glyph unicode="&#xe019;" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
38
+ <glyph unicode="&#xe020;" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
39
+ <glyph unicode="&#xe021;" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
40
+ <glyph unicode="&#xe022;" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
41
+ <glyph unicode="&#xe023;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM500 500v400h100v-300h200v-100h-300z" />
42
+ <glyph unicode="&#xe024;" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
43
+ <glyph unicode="&#xe025;" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
44
+ <glyph unicode="&#xe026;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM350 600h150v300h200v-300h150l-250 -300z" />
45
+ <glyph unicode="&#xe027;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM350 600h150v-300h200v300h150l-250 300z" />
46
+ <glyph unicode="&#xe028;" d="M0 25v475l200 700h800q199 -700 200 -700v-475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
47
+ <glyph unicode="&#xe029;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 601q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM500 397v401l297 -200z" />
48
+ <glyph unicode="&#xe030;" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
49
+ <glyph unicode="&#xe031;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
50
+ <glyph unicode="&#xe032;" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
51
+ <glyph unicode="&#xe033;" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
52
+ <glyph unicode="&#xe034;" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
53
+ <glyph unicode="&#xe035;" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v275v25q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
54
+ <glyph unicode="&#xe036;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
55
+ <glyph unicode="&#xe037;" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
56
+ <glyph unicode="&#xe038;" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 108 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
57
+ <glyph unicode="&#xe039;" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
58
+ <glyph unicode="&#xe040;" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
59
+ <glyph unicode="&#xe041;" d="M1 700v475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
60
+ <glyph unicode="&#xe042;" d="M2 700v475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
61
+ <glyph unicode="&#xe043;" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
62
+ <glyph unicode="&#xe044;" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
63
+ <glyph unicode="&#xe045;" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
64
+ <glyph unicode="&#xe046;" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
65
+ <glyph unicode="&#xe047;" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391q67 -181 82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140 l116 -317h-340z" />
66
+ <glyph unicode="&#xe048;" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 13.5t-49 14v71h471q76 0 145.5 -37.5t115 -111.5t45.5 -167q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129 q0 -84 -59 -156.5t-142 -111t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
67
+ <glyph unicode="&#xe049;" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
68
+ <glyph unicode="&#xe050;" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
69
+ <glyph unicode="&#xe051;" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
70
+ <glyph unicode="&#xe052;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
71
+ <glyph unicode="&#xe053;" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
72
+ <glyph unicode="&#xe054;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
73
+ <glyph unicode="&#xe055;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
74
+ <glyph unicode="&#xe056;" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
75
+ <glyph unicode="&#xe057;" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
76
+ <glyph unicode="&#xe058;" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
77
+ <glyph unicode="&#xe059;" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
78
+ <glyph unicode="&#xe060;" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
79
+ <glyph unicode="&#xe062;" d="M219 725q0 -116 60 -249q65 -114 158.5 -231.5t154.5 -178.5l61 -61q22 25 59.5 69t132 167t163.5 231q70 142 70 258q0 117 -57.5 218.5t-156.5 161t-216 59.5q-116 0 -215 -61t-156.5 -163.5t-57.5 -219.5zM431 752q0 92 64.5 157t156.5 65t157 -65t65 -157t-65 -156.5 t-157 -64.5t-156.5 64.5t-64.5 156.5z" />
80
+ <glyph unicode="&#xe063;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5v854q-177 0 -302 -125t-125 -302z " />
81
+ <glyph unicode="&#xe064;" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 138.5t-64 210.5zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
82
+ <glyph unicode="&#xe065;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM994 1015l114 -113l113 113l-21 85l-92 28z" />
83
+ <glyph unicode="&#xe066;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
84
+ <glyph unicode="&#xe067;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l566 567l-136 137l-430 -431l-147 147z" />
85
+ <glyph unicode="&#xe068;" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
86
+ <glyph unicode="&#xe069;" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
87
+ <glyph unicode="&#xe070;" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
88
+ <glyph unicode="&#xe071;" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
89
+ <glyph unicode="&#xe072;" d="M200 0l900 550l-900 550v-1100z" />
90
+ <glyph unicode="&#xe073;" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
91
+ <glyph unicode="&#xe074;" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
92
+ <glyph unicode="&#xe075;" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
93
+ <glyph unicode="&#xe076;" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
94
+ <glyph unicode="&#xe077;" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
95
+ <glyph unicode="&#xe078;" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
96
+ <glyph unicode="&#xe079;" d="M136 550v1l551 550l198 -197l-352 -353l352 -353l-198 -198z" />
97
+ <glyph unicode="&#xe080;" d="M315 198l198 -198l552 550l-1 1l-551 550l-198 -197l353 -353z" />
98
+ <glyph unicode="&#xe081;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
99
+ <glyph unicode="&#xe082;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM300 500h600v200h-600v-200z" />
100
+ <glyph unicode="&#xe083;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM247 459l212 -212l141 141l141 -141l213 212l-142 141l142 142l-213 212 l-141 -142l-141 142l-212 -212l141 -142z" />
101
+ <glyph unicode="&#xe084;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
102
+ <glyph unicode="&#xe085;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM364 700h143q4 0 11.5 -1t11 -0.5t6.5 3t3 8.5t1 11t3.5 8.5t3.5 6t5.5 4 t6.5 2.5t9 1.5t9 0.5h11.5h12.5q19 0 30 -10t11 -26q0 -21 -4.5 -27.5t-26.5 -21.5q-5 -1 -12.5 -3.5t-27 -13.5t-34 -27t-26.5 -46.5t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 46t31 69t14 93.5q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5 t-53.5 -74.5t-19 -114zM500 300h200v100h-200v-100z" />
103
+ <glyph unicode="&#xe086;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200 v100h-200v-100z" />
104
+ <glyph unicode="&#xe087;" d="M0 500v200h194q15 60 36 104.5t55.5 86t88 69t126.5 40.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h6h165h32v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206 h200v-206q149 48 201 206h-201v200h200q-25 74 -76 127.5t-124 76.5v-204h-200v203q-75 -24 -130 -77.5t-79 -125.5h209v-200h-210z" />
105
+ <glyph unicode="&#xe088;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM384 465l135 135l-135 135l81 81l135 -135l135 135l81 -81l-135 -135l135 -135l-81 -81l-135 136l-135 -136z" />
106
+ <glyph unicode="&#xe089;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125 -301.5t302 -125.5t302 125.5t125 301.5 q0 177 -125 302t-302 125t-302 -125t-125 -302zM350 537l113 113l87 -87l204 204l113 -113l-317 -317z" />
107
+ <glyph unicode="&#xe090;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -119 66 -225l586 587q-105 65 -225 65q-177 0 -302 -125 t-125 -302zM381 235q104 -62 219 -62q177 0 302 125.5t125 301.5q0 117 -62 219z" />
108
+ <glyph unicode="&#xe091;" d="M0 547l600 453v-300h600v-300h-600v-301z" />
109
+ <glyph unicode="&#xe092;" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
110
+ <glyph unicode="&#xe093;" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
111
+ <glyph unicode="&#xe094;" d="M104 600h296v600h300v-600h298l-449 -600z" />
112
+ <glyph unicode="&#xe095;" d="M0 200q5 105 27 193t68 167t113 135t166.5 91.5t225.5 42.5v271l600 -453l-600 -448v301q-94 -2 -182.5 -20t-170.5 -52.5t-147 -92.5t-100 -135z" />
113
+ <glyph unicode="&#xe096;" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
114
+ <glyph unicode="&#xe097;" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -142l-295 -294l129 -130h-400z" />
115
+ <glyph unicode="&#xe101;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-33 14.5h-207q-20 0 -32 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
116
+ <glyph unicode="&#xe102;" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111v6t-1 15t-3 18l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6h-111v-100z M100 0h400v400h-400v-400zM200 900q-3 0 14 48t35 96l18 47l214 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
117
+ <glyph unicode="&#xe103;" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
118
+ <glyph unicode="&#xe104;" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-4 -23 -14 -51.5t-20 -49t-24 -49.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5 t30.5 2.5t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5 t8 -43t6 -39.5t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
119
+ <glyph unicode="&#xe105;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
120
+ <glyph unicode="&#xe106;" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM119 600q37 -48 65.5 -82.5t84 -93t118.5 -100t126 -60.5l37 141 q-107 18 -178.5 101.5t-71.5 193.5q0 85 46 158q-97 -83 -227 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59.5 69t-43.5 68l-15 26zM780 161l38 145q22 15 45 34t45.5 43.5t40.5 44.5t40.5 49.5t34 44.5t32 44t24.5 34q-83 113 -139 175l38 146 q68 -54 132.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
121
+ <glyph unicode="&#xe107;" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 33 -48 36t-48 -29l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
122
+ <glyph unicode="&#xe108;" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
123
+ <glyph unicode="&#xe109;" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
124
+ <glyph unicode="&#xe110;" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
125
+ <glyph unicode="&#xe111;" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
126
+ <glyph unicode="&#xe112;" d="M100 600v200h300v-250v-26v-55.5t3.5 -50t11 -47.5t22 -37t35.5 -31.5t53.5 -18t74.5 -7.5t74.5 8t53.5 18.5t35.5 32t22 38t11 48t3.5 49.5v54v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5 t-89 96.5t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
127
+ <glyph unicode="&#xe113;" d="M-1 410l198 -198l353 353l353 -353l198 198l-550 552z" />
128
+ <glyph unicode="&#xe114;" d="M99 797l551 -551l550 551l-198 198l-353 -352l-352 352z" />
129
+ <glyph unicode="&#xe115;" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-199l300 -283l299 283h-200v600h-796z" />
130
+ <glyph unicode="&#xe116;" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50q0 -21 -14.5 -35.5 t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
131
+ <glyph unicode="&#xe117;" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
132
+ <glyph unicode="&#xe118;" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
133
+ <glyph unicode="&#xe119;" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
134
+ <glyph unicode="&#xe120;" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
135
+ <glyph unicode="&#xe121;" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
136
+ <glyph unicode="&#xe122;" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
137
+ <glyph unicode="&#xe123;" d="M74 350q0 21 13.5 35.5t33.5 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-22 -9 -63 -23 t-167.5 -37t-251.5 -23t-245.5 20.5t-178.5 41.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
138
+ <glyph unicode="&#xe124;" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
139
+ <glyph unicode="&#xe125;" d="M0 200v600h200v-600h-200zM300 275v400q0 37 20 63l145 196l96 198q14 28 38 48t51 20h50q39 0 69.5 -40.5t30.5 -84.5v-150l-28 -125h328q39 0 69.5 -40.5t30.5 -84.5v-100q0 -43 -29 -74l-238 -344q-37 -57 -83 -57h-250q-7 0 -41.5 25t-66.5 50l-31 25h-61 q-100 0 -100 75z" />
140
+ <glyph unicode="&#xe126;" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q123 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63z" />
141
+ <glyph unicode="&#xe127;" d="M8 200v600h200v-600h-200zM308 275q0 -13 83 -94t90 -81h341q15 0 28.5 19.5t20.5 41.5l130 339h107q84 0 138.5 39t54.5 111t-53.5 110t-138.5 38h-302l85 121q11 15 10.5 34t-13.5 32l-110 112q-22 22 -53 6l-362 -230q-6 -4 -15.5 -10.5t-25 -26t-15.5 -36.5v-525z M408 289v503l339 236l86 -83l-147 -183q-17 -23 -5 -47q2 -3 4 -5.5t4 -4t5.5 -2.5t5 -1.5t6 -1t6.5 -0.5h7.5h6.5h457q22 0 30.5 -25t-0.5 -50t-30 -25h-203q-15 0 -28.5 -20t-19.5 -41l-131 -339h-293z" />
142
+ <glyph unicode="&#xe128;" d="M-101 651q0 -72 55 -111t139 -39h107l130 -339q6 -21 19.5 -41t29.5 -20h341q8 0 94 80.5t86 93.5v526q0 17 -15 35.5t-30 27.5l-15 10l-365 230q-32 14 -54 -6l-109 -113q-13 -13 -13.5 -32t10.5 -34l85 -121q-101 1 -302 1q-85 0 -139 -38t-54 -110zM-1 601v100h476 h6.5h7.5t6.5 0.5t6.5 1t5.5 1.5t5 2.5l4 4t3.5 5.5q13 24 -5 46l-145 184l87 83l343 -237v-502l-107 -89h-293l-131 339q-6 20 -19.5 40.5t-28.5 20.5h-222zM1000 201v600h200v-600h-200z" />
143
+ <glyph unicode="&#xe129;" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6v7.5v7v456q0 22 25 31t50 -0.5t25 -30.5v-203q0 -15 20 -28.5t41 -19.5l339 -131v-293l-89 -100h-503zM400 0v200h600v-200h-600z" />
144
+ <glyph unicode="&#xe130;" d="M1 585q-15 -31 7 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM76 565l237 339h503 l89 -100v-294l-340 -130q-21 -7 -40.5 -20.5t-19.5 -28.5v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
145
+ <glyph unicode="&#xe131;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM298 500h300v-194l402 294l-402 299v-198h-300v-201z" />
146
+ <glyph unicode="&#xe132;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM200 600l400 -294v194h300v201h-298v198z" />
147
+ <glyph unicode="&#xe133;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM302 599h197v-300h201v300h194l-294 401z" />
148
+ <glyph unicode="&#xe134;" d="M22 600q0 157 77.5 290.5t210.5 210.5t290 77t290 -77t210.5 -210.5t77.5 -290.5t-77.5 -290t-210.5 -210.5t-290 -77.5t-290 77.5t-210.5 210.5t-77.5 290zM306 602l294 -402l298 402h-197v300h-201v-300h-194z" />
149
+ <glyph unicode="&#xe135;" d="M24 600q0 154 78 287t211 211t287 78t287 -78t211 -211t78 -287t-78 -287t-211 -211t-287 -78t-287 78t-211 211t-78 287zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60q12 0 23 -5.5t23 -15t20 -13.5q16 -8 34 -15t40 -14.5t34 -12.5q22 -8 53 -31.5 t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49.5t20.5 62.5q-14 9 -37.5 9t-35.5 7q-14 8 -49 15.5t-52 18.5q-9 0 -39.5 -0.5t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12 q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5 t34 22.5q-6 17 10 36q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 41 1 44q31 -13 58.5 -14.5t39.5 3.5l11 4q6 36 -17 53.5t-64 28.5t-56 23q-20 -3 -37 1q-16 -13 -37.5 -21.5t-34 -12t-44 -8.5t-38.5 -6 q-15 -3 -45.5 0.5t-45.5 -2.5q-22 -8 -52.5 -27t-33.5 -34q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -17 8 -41.5t16.5 -44.5t9.5 -24q-9 2 -39.5 6t-52 10t-37.5 16z" />
150
+ <glyph unicode="&#xe136;" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
151
+ <glyph unicode="&#xe137;" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
152
+ <glyph unicode="&#xe138;" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
153
+ <glyph unicode="&#xe139;" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
154
+ <glyph unicode="&#xe140;" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
155
+ <glyph unicode="&#xe141;" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM173 600q0 -176 125.5 -301.5t301.5 -125.5q177 0 302 125.5t125 301.5 q0 177 -125 302t-302 125q-176 0 -301.5 -125t-125.5 -302zM291 655q0 23 16 39t38 16q23 0 39 -16t16 -39t-16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM513 609q0 32 21 56.5 t52 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-16 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-62 25.5t-26 61.5zM800 655q0 23 16 39t39 16q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16t-16 39z " />
156
+ <glyph unicode="&#xe142;" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -79.5 -17t-67.5 -51l-388 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23q38 0 53 -36 q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60l517 511 q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-39 -23 -111 -95l-512 -512q-68 -68 -81 -163z" />
157
+ <glyph unicode="&#xe143;" d="M99 785q0 64 28 122.5t73 100t104.5 64t119 20.5t120 -38.5t105.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100t27 -122.5q0 -70 -55.5 -151.5t-129.5 -151t-182.5 -181t-182.5 -212.5q-62 85 -145.5 174t-150 152.5t-127 127t-94 124.5t-33.5 118z M229 785q0 -31 29.5 -75t64.5 -80.5t97 -97.5q17 -16 25 -24q101 -98 204 -217q85 97 209 219q127 125 163 171q48 62 48 104q0 78 -53.5 132.5t-120.5 54.5q-85 0 -147 -91l-102 -147l-97 150q-58 88 -141 88q-68 0 -123.5 -55.5t-55.5 -131.5z" />
158
+ <glyph unicode="&#xe144;" d="M57 353q0 -95 66 -159l141 -142q66 -66 159 -66t159 66l283 283q66 66 66 159t-66 159l-141 141q-3 4 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q3 -3 9.5 -9t8.5 -8 l106 105l-212 212l389 389l247 -247l-95 -96l17 -17q47 -47 78 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
159
+ <glyph unicode="&#xe145;" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
160
+ <glyph unicode="&#xe146;" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
161
+ <glyph unicode="&#xe148;" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -36 9 -60t31 -38t36 -19.5t47 -13.5q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5zM700 237 q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
162
+ <glyph unicode="&#xe149;" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q32 1 102 -16t104 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
163
+ <glyph unicode="&#xe150;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
164
+ <glyph unicode="&#xe151;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
165
+ <glyph unicode="&#xe152;" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
166
+ <glyph unicode="&#xe153;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
167
+ <glyph unicode="&#xe154;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
168
+ <glyph unicode="&#xe155;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
169
+ <glyph unicode="&#xe156;" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
170
+ <glyph unicode="&#xe157;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
171
+ <glyph unicode="&#xe158;" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
172
+ <glyph unicode="&#xe159;" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
173
+ <glyph unicode="&#xe160;" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
174
+ </font>
175
+ </defs></svg>
@@ -0,0 +1,1966 @@
1
+ /**
2
+ * bootstrap.js v3.0.0 by @fat and @mdo
3
+ * Copyright 2013 Twitter Inc.
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
7
+
8
+ /* ========================================================================
9
+ * Bootstrap: transition.js v3.0.0
10
+ * http://twbs.github.com/bootstrap/javascript.html#transitions
11
+ * ========================================================================
12
+ * Copyright 2013 Twitter, Inc.
13
+ *
14
+ * Licensed under the Apache License, Version 2.0 (the "License");
15
+ * you may not use this file except in compliance with the License.
16
+ * You may obtain a copy of the License at
17
+ *
18
+ * http://www.apache.org/licenses/LICENSE-2.0
19
+ *
20
+ * Unless required by applicable law or agreed to in writing, software
21
+ * distributed under the License is distributed on an "AS IS" BASIS,
22
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
+ * See the License for the specific language governing permissions and
24
+ * limitations under the License.
25
+ * ======================================================================== */
26
+
27
+
28
+ +function ($) { "use strict";
29
+
30
+ // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
31
+ // ============================================================
32
+
33
+ function transitionEnd() {
34
+ var el = document.createElement('bootstrap')
35
+
36
+ var transEndEventNames = {
37
+ 'WebkitTransition' : 'webkitTransitionEnd'
38
+ , 'MozTransition' : 'transitionend'
39
+ , 'OTransition' : 'oTransitionEnd otransitionend'
40
+ , 'transition' : 'transitionend'
41
+ }
42
+
43
+ for (var name in transEndEventNames) {
44
+ if (el.style[name] !== undefined) {
45
+ return { end: transEndEventNames[name] }
46
+ }
47
+ }
48
+ }
49
+
50
+ // http://blog.alexmaccaw.com/css-transitions
51
+ $.fn.emulateTransitionEnd = function (duration) {
52
+ var called = false, $el = this
53
+ $(this).one($.support.transition.end, function () { called = true })
54
+ var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
55
+ setTimeout(callback, duration)
56
+ return this
57
+ }
58
+
59
+ $(function () {
60
+ $.support.transition = transitionEnd()
61
+ })
62
+
63
+ }(window.jQuery);
64
+
65
+ /* ========================================================================
66
+ * Bootstrap: alert.js v3.0.0
67
+ * http://twbs.github.com/bootstrap/javascript.html#alerts
68
+ * ========================================================================
69
+ * Copyright 2013 Twitter, Inc.
70
+ *
71
+ * Licensed under the Apache License, Version 2.0 (the "License");
72
+ * you may not use this file except in compliance with the License.
73
+ * You may obtain a copy of the License at
74
+ *
75
+ * http://www.apache.org/licenses/LICENSE-2.0
76
+ *
77
+ * Unless required by applicable law or agreed to in writing, software
78
+ * distributed under the License is distributed on an "AS IS" BASIS,
79
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
80
+ * See the License for the specific language governing permissions and
81
+ * limitations under the License.
82
+ * ======================================================================== */
83
+
84
+
85
+ +function ($) { "use strict";
86
+
87
+ // ALERT CLASS DEFINITION
88
+ // ======================
89
+
90
+ var dismiss = '[data-dismiss="alert"]'
91
+ var Alert = function (el) {
92
+ $(el).on('click', dismiss, this.close)
93
+ }
94
+
95
+ Alert.prototype.close = function (e) {
96
+ var $this = $(this)
97
+ var selector = $this.attr('data-target')
98
+
99
+ if (!selector) {
100
+ selector = $this.attr('href')
101
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
102
+ }
103
+
104
+ var $parent = $(selector)
105
+
106
+ if (e) e.preventDefault()
107
+
108
+ if (!$parent.length) {
109
+ $parent = $this.hasClass('alert') ? $this : $this.parent()
110
+ }
111
+
112
+ $parent.trigger(e = $.Event('close.bs.alert'))
113
+
114
+ if (e.isDefaultPrevented()) return
115
+
116
+ $parent.removeClass('in')
117
+
118
+ function removeElement() {
119
+ $parent.trigger('closed.bs.alert').remove()
120
+ }
121
+
122
+ $.support.transition && $parent.hasClass('fade') ?
123
+ $parent
124
+ .one($.support.transition.end, removeElement)
125
+ .emulateTransitionEnd(150) :
126
+ removeElement()
127
+ }
128
+
129
+
130
+ // ALERT PLUGIN DEFINITION
131
+ // =======================
132
+
133
+ var old = $.fn.alert
134
+
135
+ $.fn.alert = function (option) {
136
+ return this.each(function () {
137
+ var $this = $(this)
138
+ var data = $this.data('bs.alert')
139
+
140
+ if (!data) $this.data('bs.alert', (data = new Alert(this)))
141
+ if (typeof option == 'string') data[option].call($this)
142
+ })
143
+ }
144
+
145
+ $.fn.alert.Constructor = Alert
146
+
147
+
148
+ // ALERT NO CONFLICT
149
+ // =================
150
+
151
+ $.fn.alert.noConflict = function () {
152
+ $.fn.alert = old
153
+ return this
154
+ }
155
+
156
+
157
+ // ALERT DATA-API
158
+ // ==============
159
+
160
+ $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
161
+
162
+ }(window.jQuery);
163
+
164
+ /* ========================================================================
165
+ * Bootstrap: button.js v3.0.0
166
+ * http://twbs.github.com/bootstrap/javascript.html#buttons
167
+ * ========================================================================
168
+ * Copyright 2013 Twitter, Inc.
169
+ *
170
+ * Licensed under the Apache License, Version 2.0 (the "License");
171
+ * you may not use this file except in compliance with the License.
172
+ * You may obtain a copy of the License at
173
+ *
174
+ * http://www.apache.org/licenses/LICENSE-2.0
175
+ *
176
+ * Unless required by applicable law or agreed to in writing, software
177
+ * distributed under the License is distributed on an "AS IS" BASIS,
178
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
179
+ * See the License for the specific language governing permissions and
180
+ * limitations under the License.
181
+ * ======================================================================== */
182
+
183
+
184
+ +function ($) { "use strict";
185
+
186
+ // BUTTON PUBLIC CLASS DEFINITION
187
+ // ==============================
188
+
189
+ var Button = function (element, options) {
190
+ this.$element = $(element)
191
+ this.options = $.extend({}, Button.DEFAULTS, options)
192
+ }
193
+
194
+ Button.DEFAULTS = {
195
+ loadingText: 'loading...'
196
+ }
197
+
198
+ Button.prototype.setState = function (state) {
199
+ var d = 'disabled'
200
+ var $el = this.$element
201
+ var val = $el.is('input') ? 'val' : 'html'
202
+ var data = $el.data()
203
+
204
+ state = state + 'Text'
205
+
206
+ if (!data.resetText) $el.data('resetText', $el[val]())
207
+
208
+ $el[val](data[state] || this.options[state])
209
+
210
+ // push to event loop to allow forms to submit
211
+ setTimeout(function () {
212
+ state == 'loadingText' ?
213
+ $el.addClass(d).attr(d, d) :
214
+ $el.removeClass(d).removeAttr(d);
215
+ }, 0)
216
+ }
217
+
218
+ Button.prototype.toggle = function () {
219
+ var $parent = this.$element.closest('[data-toggle="buttons"]')
220
+
221
+ if ($parent.length) {
222
+ var $input = this.$element.find('input').prop('checked', !this.$element.hasClass('active'))
223
+ if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')
224
+ }
225
+
226
+ this.$element.toggleClass('active')
227
+ }
228
+
229
+
230
+ // BUTTON PLUGIN DEFINITION
231
+ // ========================
232
+
233
+ var old = $.fn.button
234
+
235
+ $.fn.button = function (option) {
236
+ return this.each(function () {
237
+ var $this = $(this)
238
+ var data = $this.data('button')
239
+ var options = typeof option == 'object' && option
240
+
241
+ if (!data) $this.data('bs.button', (data = new Button(this, options)))
242
+
243
+ if (option == 'toggle') data.toggle()
244
+ else if (option) data.setState(option)
245
+ })
246
+ }
247
+
248
+ $.fn.button.Constructor = Button
249
+
250
+
251
+ // BUTTON NO CONFLICT
252
+ // ==================
253
+
254
+ $.fn.button.noConflict = function () {
255
+ $.fn.button = old
256
+ return this
257
+ }
258
+
259
+
260
+ // BUTTON DATA-API
261
+ // ===============
262
+
263
+ $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {
264
+ var $btn = $(e.target)
265
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
266
+ $btn.button('toggle')
267
+ e.preventDefault()
268
+ })
269
+
270
+ }(window.jQuery);
271
+
272
+ /* ========================================================================
273
+ * Bootstrap: carousel.js v3.0.0
274
+ * http://twbs.github.com/bootstrap/javascript.html#carousel
275
+ * ========================================================================
276
+ * Copyright 2012 Twitter, Inc.
277
+ *
278
+ * Licensed under the Apache License, Version 2.0 (the "License");
279
+ * you may not use this file except in compliance with the License.
280
+ * You may obtain a copy of the License at
281
+ *
282
+ * http://www.apache.org/licenses/LICENSE-2.0
283
+ *
284
+ * Unless required by applicable law or agreed to in writing, software
285
+ * distributed under the License is distributed on an "AS IS" BASIS,
286
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
287
+ * See the License for the specific language governing permissions and
288
+ * limitations under the License.
289
+ * ======================================================================== */
290
+
291
+
292
+ +function ($) { "use strict";
293
+
294
+ // CAROUSEL CLASS DEFINITION
295
+ // =========================
296
+
297
+ var Carousel = function (element, options) {
298
+ this.$element = $(element)
299
+ this.$indicators = this.$element.find('.carousel-indicators')
300
+ this.options = options
301
+ this.paused =
302
+ this.sliding =
303
+ this.interval =
304
+ this.$active =
305
+ this.$items = null
306
+
307
+ this.options.pause == 'hover' && this.$element
308
+ .on('mouseenter', $.proxy(this.pause, this))
309
+ .on('mouseleave', $.proxy(this.cycle, this))
310
+ }
311
+
312
+ Carousel.DEFAULTS = {
313
+ interval: 5000
314
+ , pause: 'hover'
315
+ }
316
+
317
+ Carousel.prototype.cycle = function (e) {
318
+ e || (this.paused = false)
319
+
320
+ this.interval && clearInterval(this.interval)
321
+
322
+ this.options.interval
323
+ && !this.paused
324
+ && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
325
+
326
+ return this
327
+ }
328
+
329
+ Carousel.prototype.getActiveIndex = function () {
330
+ this.$active = this.$element.find('.item.active')
331
+ this.$items = this.$active.parent().children()
332
+
333
+ return this.$items.index(this.$active)
334
+ }
335
+
336
+ Carousel.prototype.to = function (pos) {
337
+ var that = this
338
+ var activeIndex = this.getActiveIndex()
339
+
340
+ if (pos > (this.$items.length - 1) || pos < 0) return
341
+
342
+ if (this.sliding) return this.$element.one('slid', function () { that.to(pos) })
343
+ if (activeIndex == pos) return this.pause().cycle()
344
+
345
+ return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
346
+ }
347
+
348
+ Carousel.prototype.pause = function (e) {
349
+ e || (this.paused = true)
350
+
351
+ if (this.$element.find('.next, .prev').length && $.support.transition.end) {
352
+ this.$element.trigger($.support.transition.end)
353
+ this.cycle(true)
354
+ }
355
+
356
+ this.interval = clearInterval(this.interval)
357
+
358
+ return this
359
+ }
360
+
361
+ Carousel.prototype.next = function () {
362
+ if (this.sliding) return
363
+ return this.slide('next')
364
+ }
365
+
366
+ Carousel.prototype.prev = function () {
367
+ if (this.sliding) return
368
+ return this.slide('prev')
369
+ }
370
+
371
+ Carousel.prototype.slide = function (type, next) {
372
+ var $active = this.$element.find('.item.active')
373
+ var $next = next || $active[type]()
374
+ var isCycling = this.interval
375
+ var direction = type == 'next' ? 'left' : 'right'
376
+ var fallback = type == 'next' ? 'first' : 'last'
377
+ var that = this
378
+
379
+ this.sliding = true
380
+
381
+ isCycling && this.pause()
382
+
383
+ $next = $next.length ? $next : this.$element.find('.item')[fallback]()
384
+
385
+ var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
386
+
387
+ if ($next.hasClass('active')) return
388
+
389
+ if (this.$indicators.length) {
390
+ this.$indicators.find('.active').removeClass('active')
391
+ this.$element.one('slid', function () {
392
+ var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
393
+ $nextIndicator && $nextIndicator.addClass('active')
394
+ })
395
+ }
396
+
397
+ if ($.support.transition && this.$element.hasClass('slide')) {
398
+ this.$element.trigger(e)
399
+ if (e.isDefaultPrevented()) return
400
+ $next.addClass(type)
401
+ $next[0].offsetWidth // force reflow
402
+ $active.addClass(direction)
403
+ $next.addClass(direction)
404
+ $active
405
+ .one($.support.transition.end, function () {
406
+ $next.removeClass([type, direction].join(' ')).addClass('active')
407
+ $active.removeClass(['active', direction].join(' '))
408
+ that.sliding = false
409
+ setTimeout(function () { that.$element.trigger('slid') }, 0)
410
+ })
411
+ .emulateTransitionEnd(600)
412
+ } else {
413
+ this.$element.trigger(e)
414
+ if (e.isDefaultPrevented()) return
415
+ $active.removeClass('active')
416
+ $next.addClass('active')
417
+ this.sliding = false
418
+ this.$element.trigger('slid')
419
+ }
420
+
421
+ isCycling && this.cycle()
422
+
423
+ return this
424
+ }
425
+
426
+
427
+ // CAROUSEL PLUGIN DEFINITION
428
+ // ==========================
429
+
430
+ var old = $.fn.carousel
431
+
432
+ $.fn.carousel = function (option) {
433
+ return this.each(function () {
434
+ var $this = $(this)
435
+ var data = $this.data('bs.carousel')
436
+ var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
437
+ var action = typeof option == 'string' ? option : options.slide
438
+
439
+ if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
440
+ if (typeof option == 'number') data.to(option)
441
+ else if (action) data[action]()
442
+ else if (options.interval) data.pause().cycle()
443
+ })
444
+ }
445
+
446
+ $.fn.carousel.Constructor = Carousel
447
+
448
+
449
+ // CAROUSEL NO CONFLICT
450
+ // ====================
451
+
452
+ $.fn.carousel.noConflict = function () {
453
+ $.fn.carousel = old
454
+ return this
455
+ }
456
+
457
+
458
+ // CAROUSEL DATA-API
459
+ // =================
460
+
461
+ $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
462
+ var $this = $(this), href
463
+ var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
464
+ var options = $.extend({}, $target.data(), $this.data())
465
+ var slideIndex = $this.attr('data-slide-to')
466
+ if (slideIndex) options.interval = false
467
+
468
+ $target.carousel(options)
469
+
470
+ if (slideIndex = $this.attr('data-slide-to')) {
471
+ $target.data('bs.carousel').to(slideIndex)
472
+ }
473
+
474
+ e.preventDefault()
475
+ })
476
+
477
+ $(window).on('load', function () {
478
+ $('[data-ride="carousel"]').each(function () {
479
+ var $carousel = $(this)
480
+ $carousel.carousel($carousel.data())
481
+ })
482
+ })
483
+
484
+ }(window.jQuery);
485
+
486
+ /* ========================================================================
487
+ * Bootstrap: collapse.js v3.0.0
488
+ * http://twbs.github.com/bootstrap/javascript.html#collapse
489
+ * ========================================================================
490
+ * Copyright 2012 Twitter, Inc.
491
+ *
492
+ * Licensed under the Apache License, Version 2.0 (the "License");
493
+ * you may not use this file except in compliance with the License.
494
+ * You may obtain a copy of the License at
495
+ *
496
+ * http://www.apache.org/licenses/LICENSE-2.0
497
+ *
498
+ * Unless required by applicable law or agreed to in writing, software
499
+ * distributed under the License is distributed on an "AS IS" BASIS,
500
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
501
+ * See the License for the specific language governing permissions and
502
+ * limitations under the License.
503
+ * ======================================================================== */
504
+
505
+
506
+ +function ($) { "use strict";
507
+
508
+ // COLLAPSE PUBLIC CLASS DEFINITION
509
+ // ================================
510
+
511
+ var Collapse = function (element, options) {
512
+ this.$element = $(element)
513
+ this.options = $.extend({}, Collapse.DEFAULTS, options)
514
+ this.transitioning = null
515
+
516
+ if (this.options.parent) this.$parent = $(this.options.parent)
517
+ if (this.options.toggle) this.toggle()
518
+ }
519
+
520
+ Collapse.DEFAULTS = {
521
+ toggle: true
522
+ }
523
+
524
+ Collapse.prototype.dimension = function () {
525
+ var hasWidth = this.$element.hasClass('width')
526
+ return hasWidth ? 'width' : 'height'
527
+ }
528
+
529
+ Collapse.prototype.show = function () {
530
+ if (this.transitioning || this.$element.hasClass('in')) return
531
+
532
+ var startEvent = $.Event('show.bs.collapse')
533
+ this.$element.trigger(startEvent)
534
+ if (startEvent.isDefaultPrevented()) return
535
+
536
+ var actives = this.$parent && this.$parent.find('> .accordion-group > .in')
537
+
538
+ if (actives && actives.length) {
539
+ var hasData = actives.data('bs.collapse')
540
+ if (hasData && hasData.transitioning) return
541
+ actives.collapse('hide')
542
+ hasData || actives.data('bs.collapse', null)
543
+ }
544
+
545
+ var dimension = this.dimension()
546
+
547
+ this.$element
548
+ .removeClass('collapse')
549
+ .addClass('collapsing')
550
+ [dimension](0)
551
+
552
+ this.transitioning = 1
553
+
554
+ var complete = function () {
555
+ this.$element
556
+ .removeClass('collapsing')
557
+ .addClass('in')
558
+ [dimension]('auto')
559
+ this.transitioning = 0
560
+ this.$element.trigger('shown.bs.collapse')
561
+ }
562
+
563
+ if (!$.support.transition) return complete.call(this)
564
+
565
+ var scrollSize = $.camelCase(['scroll', dimension].join('-'))
566
+
567
+ this.$element
568
+ .one($.support.transition.end, $.proxy(complete, this))
569
+ .emulateTransitionEnd(350)
570
+ [dimension](this.$element[0][scrollSize])
571
+ }
572
+
573
+ Collapse.prototype.hide = function () {
574
+ if (this.transitioning || !this.$element.hasClass('in')) return
575
+
576
+ var startEvent = $.Event('hide.bs.collapse')
577
+ this.$element.trigger(startEvent)
578
+ if (startEvent.isDefaultPrevented()) return
579
+
580
+ var dimension = this.dimension()
581
+
582
+ this.$element
583
+ [dimension](this.$element[dimension]())
584
+ [0].offsetHeight
585
+
586
+ this.$element
587
+ .addClass('collapsing')
588
+ .removeClass('collapse')
589
+ .removeClass('in')
590
+
591
+ this.transitioning = 1
592
+
593
+ var complete = function () {
594
+ this.transitioning = 0
595
+ this.$element
596
+ .trigger('hidden.bs.collapse')
597
+ .removeClass('collapsing')
598
+ .addClass('collapse')
599
+ }
600
+
601
+ if (!$.support.transition) return complete.call(this)
602
+
603
+ this.$element
604
+ [dimension](0)
605
+ .one($.support.transition.end, $.proxy(complete, this))
606
+ .emulateTransitionEnd(350)
607
+ }
608
+
609
+ Collapse.prototype.toggle = function () {
610
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
611
+ }
612
+
613
+
614
+ // COLLAPSE PLUGIN DEFINITION
615
+ // ==========================
616
+
617
+ var old = $.fn.collapse
618
+
619
+ $.fn.collapse = function (option) {
620
+ return this.each(function () {
621
+ var $this = $(this)
622
+ var data = $this.data('bs.collapse')
623
+ var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
624
+
625
+ if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
626
+ if (typeof option == 'string') data[option]()
627
+ })
628
+ }
629
+
630
+ $.fn.collapse.Constructor = Collapse
631
+
632
+
633
+ // COLLAPSE NO CONFLICT
634
+ // ====================
635
+
636
+ $.fn.collapse.noConflict = function () {
637
+ $.fn.collapse = old
638
+ return this
639
+ }
640
+
641
+
642
+ // COLLAPSE DATA-API
643
+ // =================
644
+
645
+ $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
646
+ var $this = $(this), href
647
+ var target = $this.attr('data-target')
648
+ || e.preventDefault()
649
+ || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
650
+ var $target = $(target)
651
+ var data = $target.data('bs.collapse')
652
+ var option = data ? 'toggle' : $this.data()
653
+ var parent = $this.attr('data-parent')
654
+ var $parent = parent && $(parent)
655
+
656
+ if (!data || !data.transitioning) {
657
+ if ($parent) $parent.find('[data-toggle=collapse][data-parent=' + parent + ']').not($this).addClass('collapsed')
658
+ $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
659
+ }
660
+
661
+ $target.collapse(option)
662
+ })
663
+
664
+ }(window.jQuery);
665
+
666
+ /* ========================================================================
667
+ * Bootstrap: dropdown.js v3.0.0
668
+ * http://twbs.github.com/bootstrap/javascript.html#dropdowns
669
+ * ========================================================================
670
+ * Copyright 2012 Twitter, Inc.
671
+ *
672
+ * Licensed under the Apache License, Version 2.0 (the "License");
673
+ * you may not use this file except in compliance with the License.
674
+ * You may obtain a copy of the License at
675
+ *
676
+ * http://www.apache.org/licenses/LICENSE-2.0
677
+ *
678
+ * Unless required by applicable law or agreed to in writing, software
679
+ * distributed under the License is distributed on an "AS IS" BASIS,
680
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
681
+ * See the License for the specific language governing permissions and
682
+ * limitations under the License.
683
+ * ======================================================================== */
684
+
685
+
686
+ +function ($) { "use strict";
687
+
688
+ // DROPDOWN CLASS DEFINITION
689
+ // =========================
690
+
691
+ var backdrop = '.dropdown-backdrop'
692
+ var toggle = '[data-toggle=dropdown]'
693
+ var Dropdown = function (element) {
694
+ var $el = $(element).on('click.bs.dropdown', this.toggle)
695
+ }
696
+
697
+ Dropdown.prototype.toggle = function (e) {
698
+ var $this = $(this)
699
+
700
+ if ($this.is('.disabled, :disabled')) return
701
+
702
+ var $parent = getParent($this)
703
+ var isActive = $parent.hasClass('open')
704
+
705
+ clearMenus()
706
+
707
+ if (!isActive) {
708
+ if ('ontouchstart' in document.documentElement) {
709
+ // if mobile we we use a backdrop because click events don't delegate
710
+ $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
711
+ }
712
+
713
+ $parent.trigger(e = $.Event('show.bs.dropdown'))
714
+
715
+ if (e.isDefaultPrevented()) return
716
+
717
+ $parent
718
+ .toggleClass('open')
719
+ .trigger('shown.bs.dropdown')
720
+ }
721
+
722
+ $this.focus()
723
+
724
+ return false
725
+ }
726
+
727
+ Dropdown.prototype.keydown = function (e) {
728
+ if (!/(38|40|27)/.test(e.keyCode)) return
729
+
730
+ var $this = $(this)
731
+
732
+ e.preventDefault()
733
+ e.stopPropagation()
734
+
735
+ if ($this.is('.disabled, :disabled')) return
736
+
737
+ var $parent = getParent($this)
738
+ var isActive = $parent.hasClass('open')
739
+
740
+ if (!isActive || (isActive && e.keyCode == 27)) {
741
+ if (e.which == 27) $parent.find(toggle).focus()
742
+ return $this.click()
743
+ }
744
+
745
+ var $items = $('[role=menu] li:not(.divider):visible a', $parent)
746
+
747
+ if (!$items.length) return
748
+
749
+ var index = $items.index($items.filter(':focus'))
750
+
751
+ if (e.keyCode == 38 && index > 0) index-- // up
752
+ if (e.keyCode == 40 && index < $items.length - 1) index++ // down
753
+ if (!~index) index=0
754
+
755
+ $items.eq(index).focus()
756
+ }
757
+
758
+ function clearMenus() {
759
+ $(backdrop).remove()
760
+ $(toggle).each(function (e) {
761
+ var $parent = getParent($(this))
762
+ if (!$parent.hasClass('open')) return
763
+ $parent.trigger(e = $.Event('hide.bs.dropdown'))
764
+ if (e.isDefaultPrevented()) return
765
+ $parent.removeClass('open').trigger('hidden.bs.dropdown')
766
+ })
767
+ }
768
+
769
+ function getParent($this) {
770
+ var selector = $this.attr('data-target')
771
+
772
+ if (!selector) {
773
+ selector = $this.attr('href')
774
+ selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
775
+ }
776
+
777
+ var $parent = selector && $(selector)
778
+
779
+ return $parent && $parent.length ? $parent : $this.parent()
780
+ }
781
+
782
+
783
+ // DROPDOWN PLUGIN DEFINITION
784
+ // ==========================
785
+
786
+ var old = $.fn.dropdown
787
+
788
+ $.fn.dropdown = function (option) {
789
+ return this.each(function () {
790
+ var $this = $(this)
791
+ var data = $this.data('dropdown')
792
+
793
+ if (!data) $this.data('dropdown', (data = new Dropdown(this)))
794
+ if (typeof option == 'string') data[option].call($this)
795
+ })
796
+ }
797
+
798
+ $.fn.dropdown.Constructor = Dropdown
799
+
800
+
801
+ // DROPDOWN NO CONFLICT
802
+ // ====================
803
+
804
+ $.fn.dropdown.noConflict = function () {
805
+ $.fn.dropdown = old
806
+ return this
807
+ }
808
+
809
+
810
+ // APPLY TO STANDARD DROPDOWN ELEMENTS
811
+ // ===================================
812
+
813
+ $(document)
814
+ .on('click.bs.dropdown.data-api', clearMenus)
815
+ .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
816
+ .on('click.bs.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
817
+ .on('keydown.bs.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
818
+
819
+ }(window.jQuery);
820
+
821
+ /* ========================================================================
822
+ * Bootstrap: modal.js v3.0.0
823
+ * http://twbs.github.com/bootstrap/javascript.html#modals
824
+ * ========================================================================
825
+ * Copyright 2012 Twitter, Inc.
826
+ *
827
+ * Licensed under the Apache License, Version 2.0 (the "License");
828
+ * you may not use this file except in compliance with the License.
829
+ * You may obtain a copy of the License at
830
+ *
831
+ * http://www.apache.org/licenses/LICENSE-2.0
832
+ *
833
+ * Unless required by applicable law or agreed to in writing, software
834
+ * distributed under the License is distributed on an "AS IS" BASIS,
835
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
836
+ * See the License for the specific language governing permissions and
837
+ * limitations under the License.
838
+ * ======================================================================== */
839
+
840
+
841
+ +function ($) { "use strict";
842
+
843
+ // MODAL CLASS DEFINITION
844
+ // ======================
845
+
846
+ var Modal = function (element, options) {
847
+ this.options = options
848
+ this.$element = $(element).on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
849
+ this.$backdrop =
850
+ this.isShown = null
851
+
852
+ if (this.options.remote) this.$element.find('.modal-body').load(this.options.remote)
853
+ }
854
+
855
+ Modal.DEFAULTS = {
856
+ backdrop: true
857
+ , keyboard: true
858
+ , show: true
859
+ }
860
+
861
+ Modal.prototype.toggle = function () {
862
+ return this[!this.isShown ? 'show' : 'hide']()
863
+ }
864
+
865
+ Modal.prototype.show = function () {
866
+ var that = this
867
+ var e = $.Event('show.bs.modal')
868
+
869
+ this.$element.trigger(e)
870
+
871
+ if (this.isShown || e.isDefaultPrevented()) return
872
+
873
+ this.isShown = true
874
+
875
+ this.escape()
876
+
877
+ this.backdrop(function () {
878
+ var transition = $.support.transition && that.$element.hasClass('fade')
879
+
880
+ if (!that.$element.parent().length) {
881
+ that.$element.appendTo(document.body) // don't move modals dom position
882
+ }
883
+
884
+ that.$element.show()
885
+
886
+ if (transition) {
887
+ that.$element[0].offsetWidth // force reflow
888
+ }
889
+
890
+ that.$element
891
+ .addClass('in')
892
+ .attr('aria-hidden', false)
893
+
894
+ that.enforceFocus()
895
+
896
+ transition ?
897
+ that.$element
898
+ .one($.support.transition.end, function () {
899
+ that.$element.focus().trigger('shown.bs.modal')
900
+ })
901
+ .emulateTransitionEnd(300) :
902
+ that.$element.focus().trigger('shown.bs.modal')
903
+ })
904
+ }
905
+
906
+ Modal.prototype.hide = function (e) {
907
+ if (e) e.preventDefault()
908
+
909
+ e = $.Event('hide.bs.modal')
910
+
911
+ this.$element.trigger(e)
912
+
913
+ if (!this.isShown || e.isDefaultPrevented()) return
914
+
915
+ this.isShown = false
916
+
917
+ this.escape()
918
+
919
+ $(document).off('focusin.bs.modal')
920
+
921
+ this.$element
922
+ .removeClass('in')
923
+ .attr('aria-hidden', true)
924
+
925
+ $.support.transition && this.$element.hasClass('fade') ?
926
+ this.$element
927
+ .one($.support.transition.end, $.proxy(this.hideModal, this))
928
+ .emulateTransitionEnd(300) :
929
+ this.hideModal()
930
+ }
931
+
932
+ Modal.prototype.enforceFocus = function () {
933
+ $(document)
934
+ .off('focusin.bs.modal') // guard against infinite focus loop
935
+ .on('focusin.bs.modal', $.proxy(function (e) {
936
+ if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
937
+ this.$element.focus()
938
+ }
939
+ }, this))
940
+ }
941
+
942
+ Modal.prototype.escape = function () {
943
+ if (this.isShown && this.options.keyboard) {
944
+ this.$element.on('keyup.dismiss.bs.modal', $.proxy(function (e) {
945
+ e.which == 27 && this.hide()
946
+ }, this))
947
+ } else if (!this.isShown) {
948
+ this.$element.off('keyup.dismiss.bs.modal')
949
+ }
950
+ }
951
+
952
+ Modal.prototype.hideModal = function () {
953
+ var that = this
954
+ this.$element.hide()
955
+ this.backdrop(function () {
956
+ that.removeBackdrop()
957
+ that.$element.trigger('hidden.bs.modal')
958
+ })
959
+ }
960
+
961
+ Modal.prototype.removeBackdrop = function () {
962
+ this.$backdrop && this.$backdrop.remove()
963
+ this.$backdrop = null
964
+ }
965
+
966
+ Modal.prototype.backdrop = function (callback) {
967
+ var that = this
968
+ var animate = this.$element.hasClass('fade') ? 'fade' : ''
969
+
970
+ if (this.isShown && this.options.backdrop) {
971
+ var doAnimate = $.support.transition && animate
972
+
973
+ this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
974
+ .appendTo(document.body)
975
+
976
+ this.$element.on('click', $.proxy(function (e) {
977
+ if (e.target !== e.currentTarget) return
978
+ this.options.backdrop == 'static'
979
+ ? this.$element[0].focus.call(this.$element[0])
980
+ : this.hide.call(this)
981
+ }, this))
982
+
983
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
984
+
985
+ this.$backdrop.addClass('in')
986
+
987
+ if (!callback) return
988
+
989
+ doAnimate ?
990
+ this.$backdrop
991
+ .one($.support.transition.end, callback)
992
+ .emulateTransitionEnd(150) :
993
+ callback()
994
+
995
+ } else if (!this.isShown && this.$backdrop) {
996
+ this.$backdrop.removeClass('in')
997
+
998
+ $.support.transition && this.$element.hasClass('fade')?
999
+ this.$backdrop
1000
+ .one($.support.transition.end, callback)
1001
+ .emulateTransitionEnd(150) :
1002
+ callback()
1003
+
1004
+ } else if (callback) {
1005
+ callback()
1006
+ }
1007
+ }
1008
+
1009
+
1010
+ // MODAL PLUGIN DEFINITION
1011
+ // =======================
1012
+
1013
+ var old = $.fn.modal
1014
+
1015
+ $.fn.modal = function (option) {
1016
+ return this.each(function () {
1017
+ var $this = $(this)
1018
+ var data = $this.data('bs.modal')
1019
+ var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
1020
+
1021
+ if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
1022
+ if (typeof option == 'string') data[option]()
1023
+ else if (options.show) data.show()
1024
+ })
1025
+ }
1026
+
1027
+ $.fn.modal.Constructor = Modal
1028
+
1029
+
1030
+ // MODAL NO CONFLICT
1031
+ // =================
1032
+
1033
+ $.fn.modal.noConflict = function () {
1034
+ $.fn.modal = old
1035
+ return this
1036
+ }
1037
+
1038
+
1039
+ // MODAL DATA-API
1040
+ // ==============
1041
+
1042
+ $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
1043
+ var $this = $(this)
1044
+ var href = $this.attr('href')
1045
+ var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
1046
+ var option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
1047
+
1048
+ e.preventDefault()
1049
+
1050
+ $target
1051
+ .modal(option)
1052
+ .one('hide', function () {
1053
+ $this.is(':visible') && $this.focus()
1054
+ })
1055
+ })
1056
+
1057
+ $(function () {
1058
+ var $body = $(document.body)
1059
+ .on('shown.bs.modal', '.modal', function () { $body.addClass('modal-open') })
1060
+ .on('hidden.bs.modal', '.modal', function () { $body.removeClass('modal-open') })
1061
+ })
1062
+
1063
+ }(window.jQuery);
1064
+
1065
+ /* ========================================================================
1066
+ * Bootstrap: tooltip.js v3.0.0
1067
+ * http://twbs.github.com/bootstrap/javascript.html#affix
1068
+ * Inspired by the original jQuery.tipsy by Jason Frame
1069
+ * ========================================================================
1070
+ * Copyright 2012 Twitter, Inc.
1071
+ *
1072
+ * Licensed under the Apache License, Version 2.0 (the "License");
1073
+ * you may not use this file except in compliance with the License.
1074
+ * You may obtain a copy of the License at
1075
+ *
1076
+ * http://www.apache.org/licenses/LICENSE-2.0
1077
+ *
1078
+ * Unless required by applicable law or agreed to in writing, software
1079
+ * distributed under the License is distributed on an "AS IS" BASIS,
1080
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1081
+ * See the License for the specific language governing permissions and
1082
+ * limitations under the License.
1083
+ * ======================================================================== */
1084
+
1085
+
1086
+ +function ($) { "use strict";
1087
+
1088
+ // TOOLTIP PUBLIC CLASS DEFINITION
1089
+ // ===============================
1090
+
1091
+ var Tooltip = function (element, options) {
1092
+ this.type =
1093
+ this.options =
1094
+ this.enabled =
1095
+ this.timeout =
1096
+ this.hoverState =
1097
+ this.$element = null
1098
+
1099
+ this.init('tooltip', element, options)
1100
+ }
1101
+
1102
+ Tooltip.DEFAULTS = {
1103
+ animation: true
1104
+ , placement: 'top'
1105
+ , selector: false
1106
+ , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
1107
+ , trigger: 'hover focus'
1108
+ , title: ''
1109
+ , delay: 0
1110
+ , html: false
1111
+ , container: false
1112
+ }
1113
+
1114
+ Tooltip.prototype.init = function (type, element, options) {
1115
+ this.enabled = true
1116
+ this.type = type
1117
+ this.$element = $(element)
1118
+ this.options = this.getOptions(options)
1119
+
1120
+ var triggers = this.options.trigger.split(' ')
1121
+
1122
+ for (var i = triggers.length; i--;) {
1123
+ var trigger = triggers[i]
1124
+
1125
+ if (trigger == 'click') {
1126
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
1127
+ } else if (trigger != 'manual') {
1128
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
1129
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
1130
+
1131
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
1132
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
1133
+ }
1134
+ }
1135
+
1136
+ this.options.selector ?
1137
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
1138
+ this.fixTitle()
1139
+ }
1140
+
1141
+ Tooltip.prototype.getDefaults = function () {
1142
+ return Tooltip.DEFAULTS
1143
+ }
1144
+
1145
+ Tooltip.prototype.getOptions = function (options) {
1146
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options)
1147
+
1148
+ if (options.delay && typeof options.delay == 'number') {
1149
+ options.delay = {
1150
+ show: options.delay
1151
+ , hide: options.delay
1152
+ }
1153
+ }
1154
+
1155
+ return options
1156
+ }
1157
+
1158
+ Tooltip.prototype.enter = function (obj) {
1159
+ var defaults = this.getDefaults()
1160
+ var options = {}
1161
+
1162
+ this._options && $.each(this._options, function (key, value) {
1163
+ if (defaults[key] != value) options[key] = value
1164
+ })
1165
+
1166
+ var self = obj instanceof this.constructor ?
1167
+ obj : $(obj.currentTarget)[this.type](options).data('bs.' + this.type)
1168
+
1169
+ clearTimeout(self.timeout)
1170
+
1171
+ if (!self.options.delay || !self.options.delay.show) return self.show()
1172
+
1173
+ self.hoverState = 'in'
1174
+ self.timeout = setTimeout(function () {
1175
+ if (self.hoverState == 'in') self.show()
1176
+ }, self.options.delay.show)
1177
+ }
1178
+
1179
+ Tooltip.prototype.leave = function (obj) {
1180
+ var self = obj instanceof this.constructor ?
1181
+ obj : $(obj.currentTarget)[this.type](this._options).data('bs.' + this.type)
1182
+
1183
+ clearTimeout(self.timeout)
1184
+
1185
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
1186
+
1187
+ self.hoverState = 'out'
1188
+ self.timeout = setTimeout(function () {
1189
+ if (self.hoverState == 'out') self.hide()
1190
+ }, self.options.delay.hide)
1191
+ }
1192
+
1193
+ Tooltip.prototype.show = function () {
1194
+ var e = $.Event('show.bs.'+ this.type)
1195
+
1196
+ if (this.hasContent() && this.enabled) {
1197
+ this.$element.trigger(e)
1198
+
1199
+ if (e.isDefaultPrevented()) return
1200
+
1201
+ var $tip = this.tip()
1202
+
1203
+ this.setContent()
1204
+
1205
+ if (this.options.animation) $tip.addClass('fade')
1206
+
1207
+ var placement = typeof this.options.placement == 'function' ?
1208
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
1209
+ this.options.placement
1210
+
1211
+ var autoToken = /\s?auto?\s?/i
1212
+ var autoPlace = autoToken.test(placement)
1213
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
1214
+
1215
+ $tip
1216
+ .detach()
1217
+ .css({ top: 0, left: 0, display: 'block' })
1218
+ .addClass(placement)
1219
+
1220
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
1221
+
1222
+ var pos = this.getPosition()
1223
+ var actualWidth = $tip[0].offsetWidth
1224
+ var actualHeight = $tip[0].offsetHeight
1225
+
1226
+ if (autoPlace) {
1227
+ var $parent = this.$element.parent()
1228
+
1229
+ var orgPlacement = placement
1230
+ var docScroll = document.documentElement.scrollTop || document.body.scrollTop
1231
+ var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth()
1232
+ var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight()
1233
+ var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left
1234
+
1235
+ placement = placement == 'bottom' && pos.top + pos.height + actualHeight - docScroll > parentHeight ? 'top' :
1236
+ placement == 'top' && pos.top - docScroll - actualHeight < 0 ? 'bottom' :
1237
+ placement == 'right' && pos.right + actualWidth > parentWidth ? 'left' :
1238
+ placement == 'left' && pos.left - actualWidth < parentLeft ? 'right' :
1239
+ placement
1240
+
1241
+ $tip
1242
+ .removeClass(orgPlacement)
1243
+ .addClass(placement)
1244
+ }
1245
+
1246
+ var tp = placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
1247
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
1248
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
1249
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
1250
+
1251
+ this.applyPlacement(tp, placement)
1252
+ this.$element.trigger('shown.bs.' + this.type)
1253
+ }
1254
+ }
1255
+
1256
+ Tooltip.prototype.applyPlacement = function(offset, placement) {
1257
+ var replace
1258
+ var $tip = this.tip()
1259
+ var width = $tip[0].offsetWidth
1260
+ var height = $tip[0].offsetHeight
1261
+
1262
+ // manually read margins because getBoundingClientRect includes difference
1263
+ offset.top = offset.top + parseInt($tip.css('margin-top'), 10)
1264
+ offset.left = offset.left + parseInt($tip.css('margin-left'), 10)
1265
+
1266
+ $tip
1267
+ .offset(offset)
1268
+ .addClass('in')
1269
+
1270
+ var actualWidth = $tip[0].offsetWidth
1271
+ var actualHeight = $tip[0].offsetHeight
1272
+
1273
+ if (placement == 'top' && actualHeight != height) {
1274
+ replace = true
1275
+ offset.top = offset.top + height - actualHeight
1276
+ }
1277
+
1278
+ if (placement == 'bottom' || placement == 'top') {
1279
+ var delta = 0
1280
+
1281
+ if (offset.left < 0){
1282
+ delta = offset.left * -2
1283
+ offset.left = 0
1284
+
1285
+ $tip.offset(offset)
1286
+
1287
+ actualWidth = $tip[0].offsetWidth
1288
+ actualHeight = $tip[0].offsetHeight
1289
+ }
1290
+
1291
+ this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
1292
+ } else {
1293
+ this.replaceArrow(actualHeight - height, actualHeight, 'top')
1294
+ }
1295
+
1296
+ if (replace) $tip.offset(offset)
1297
+ }
1298
+
1299
+ Tooltip.prototype.replaceArrow = function(delta, dimension, position) {
1300
+ this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
1301
+ }
1302
+
1303
+ Tooltip.prototype.setContent = function () {
1304
+ var $tip = this.tip()
1305
+ var title = this.getTitle()
1306
+
1307
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
1308
+ $tip.removeClass('fade in top bottom left right')
1309
+ }
1310
+
1311
+ Tooltip.prototype.hide = function () {
1312
+ var that = this
1313
+ var $tip = this.tip()
1314
+ var e = $.Event('hide.bs.' + this.type)
1315
+
1316
+ this.$element.trigger(e)
1317
+
1318
+ if (e.isDefaultPrevented()) return
1319
+
1320
+ $tip.removeClass('in')
1321
+
1322
+ $.support.transition && this.$tip.hasClass('fade') ?
1323
+ $tip
1324
+ .one($.support.transition.end, $tip.detach)
1325
+ .emulateTransitionEnd(150) :
1326
+ $tip.detach()
1327
+
1328
+ this.$element.trigger('hidden.bs.' + this.type)
1329
+
1330
+ return this
1331
+ }
1332
+
1333
+ Tooltip.prototype.fixTitle = function () {
1334
+ var $e = this.$element
1335
+ if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
1336
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
1337
+ }
1338
+ }
1339
+
1340
+ Tooltip.prototype.hasContent = function () {
1341
+ return this.getTitle()
1342
+ }
1343
+
1344
+ Tooltip.prototype.getPosition = function () {
1345
+ var el = this.$element[0]
1346
+ return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
1347
+ width: el.offsetWidth
1348
+ , height: el.offsetHeight
1349
+ }, this.$element.offset())
1350
+ }
1351
+
1352
+ Tooltip.prototype.getTitle = function () {
1353
+ var title
1354
+ var $e = this.$element
1355
+ var o = this.options
1356
+
1357
+ title = $e.attr('data-original-title')
1358
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
1359
+
1360
+ return title
1361
+ }
1362
+
1363
+ Tooltip.prototype.tip = function () {
1364
+ return this.$tip = this.$tip || $(this.options.template)
1365
+ }
1366
+
1367
+ Tooltip.prototype.arrow =function(){
1368
+ return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
1369
+ }
1370
+
1371
+ Tooltip.prototype.validate = function () {
1372
+ if (!this.$element[0].parentNode) {
1373
+ this.hide()
1374
+ this.$element = null
1375
+ this.options = null
1376
+ }
1377
+ }
1378
+
1379
+ Tooltip.prototype.enable = function () {
1380
+ this.enabled = true
1381
+ }
1382
+
1383
+ Tooltip.prototype.disable = function () {
1384
+ this.enabled = false
1385
+ }
1386
+
1387
+ Tooltip.prototype.toggleEnabled = function () {
1388
+ this.enabled = !this.enabled
1389
+ }
1390
+
1391
+ Tooltip.prototype.toggle = function (e) {
1392
+ var self = e ? $(e.currentTarget)[this.type](this._options).data('bs.' + this.type) : this
1393
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
1394
+ }
1395
+
1396
+ Tooltip.prototype.destroy = function () {
1397
+ this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
1398
+ }
1399
+
1400
+
1401
+ // TOOLTIP PLUGIN DEFINITION
1402
+ // =========================
1403
+
1404
+ var old = $.fn.tooltip
1405
+
1406
+ $.fn.tooltip = function (option) {
1407
+ return this.each(function () {
1408
+ var $this = $(this)
1409
+ var data = $this.data('bs.tooltip')
1410
+ var options = typeof option == 'object' && option
1411
+
1412
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
1413
+ if (typeof option == 'string') data[option]()
1414
+ })
1415
+ }
1416
+
1417
+ $.fn.tooltip.Constructor = Tooltip
1418
+
1419
+
1420
+ // TOOLTIP NO CONFLICT
1421
+ // ===================
1422
+
1423
+ $.fn.tooltip.noConflict = function () {
1424
+ $.fn.tooltip = old
1425
+ return this
1426
+ }
1427
+
1428
+ }(window.jQuery);
1429
+
1430
+ /* ========================================================================
1431
+ * Bootstrap: popover.js v3.0.0
1432
+ * http://twbs.github.com/bootstrap/javascript.html#popovers
1433
+ * ========================================================================
1434
+ * Copyright 2012 Twitter, Inc.
1435
+ *
1436
+ * Licensed under the Apache License, Version 2.0 (the "License");
1437
+ * you may not use this file except in compliance with the License.
1438
+ * You may obtain a copy of the License at
1439
+ *
1440
+ * http://www.apache.org/licenses/LICENSE-2.0
1441
+ *
1442
+ * Unless required by applicable law or agreed to in writing, software
1443
+ * distributed under the License is distributed on an "AS IS" BASIS,
1444
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1445
+ * See the License for the specific language governing permissions and
1446
+ * limitations under the License.
1447
+ * ======================================================================== */
1448
+
1449
+
1450
+ +function ($) { "use strict";
1451
+
1452
+ // POPOVER PUBLIC CLASS DEFINITION
1453
+ // ===============================
1454
+
1455
+ var Popover = function (element, options) {
1456
+ this.init('popover', element, options)
1457
+ }
1458
+
1459
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
1460
+
1461
+ Popover.DEFAULTS = $.extend({} , $.fn.tooltip.Constructor.DEFAULTS, {
1462
+ placement: 'right'
1463
+ , trigger: 'click'
1464
+ , content: ''
1465
+ , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
1466
+ })
1467
+
1468
+
1469
+ // NOTE: POPOVER EXTENDS tooltip.js
1470
+ // ================================
1471
+
1472
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
1473
+
1474
+ Popover.prototype.constructor = Popover
1475
+
1476
+ Popover.prototype.getDefaults = function () {
1477
+ return Popover.DEFAULTS
1478
+ }
1479
+
1480
+ Popover.prototype.setContent = function () {
1481
+ var $tip = this.tip()
1482
+ var title = this.getTitle()
1483
+ var content = this.getContent()
1484
+
1485
+ $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
1486
+ $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
1487
+
1488
+ $tip.removeClass('fade top bottom left right in')
1489
+
1490
+ $tip.find('.popover-title:empty').hide()
1491
+ }
1492
+
1493
+ Popover.prototype.hasContent = function () {
1494
+ return this.getTitle() || this.getContent()
1495
+ }
1496
+
1497
+ Popover.prototype.getContent = function () {
1498
+ var $e = this.$element
1499
+ var o = this.options
1500
+
1501
+ return $e.attr('data-content')
1502
+ || (typeof o.content == 'function' ?
1503
+ o.content.call($e[0]) :
1504
+ o.content)
1505
+ }
1506
+
1507
+ Popover.prototype.tip = function () {
1508
+ if (!this.$tip) this.$tip = $(this.options.template)
1509
+ return this.$tip
1510
+ }
1511
+
1512
+ Popover.prototype.destroy = function () {
1513
+ this.hide().$element.off('.' + this.type).removeData(this.type)
1514
+ }
1515
+
1516
+
1517
+ // POPOVER PLUGIN DEFINITION
1518
+ // =========================
1519
+
1520
+ var old = $.fn.popover
1521
+
1522
+ $.fn.popover = function (option) {
1523
+ return this.each(function () {
1524
+ var $this = $(this)
1525
+ var data = $this.data('bs.popover')
1526
+ var options = typeof option == 'object' && option
1527
+
1528
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
1529
+ if (typeof option == 'string') data[option]()
1530
+ })
1531
+ }
1532
+
1533
+ $.fn.popover.Constructor = Popover
1534
+
1535
+
1536
+ // POPOVER NO CONFLICT
1537
+ // ===================
1538
+
1539
+ $.fn.popover.noConflict = function () {
1540
+ $.fn.popover = old
1541
+ return this
1542
+ }
1543
+
1544
+ }(window.jQuery);
1545
+
1546
+ /* ========================================================================
1547
+ * Bootstrap: scrollspy.js v3.0.0
1548
+ * http://twbs.github.com/bootstrap/javascript.html#scrollspy
1549
+ * ========================================================================
1550
+ * Copyright 2012 Twitter, Inc.
1551
+ *
1552
+ * Licensed under the Apache License, Version 2.0 (the "License");
1553
+ * you may not use this file except in compliance with the License.
1554
+ * You may obtain a copy of the License at
1555
+ *
1556
+ * http://www.apache.org/licenses/LICENSE-2.0
1557
+ *
1558
+ * Unless required by applicable law or agreed to in writing, software
1559
+ * distributed under the License is distributed on an "AS IS" BASIS,
1560
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1561
+ * See the License for the specific language governing permissions and
1562
+ * limitations under the License.
1563
+ * ======================================================================== */
1564
+
1565
+
1566
+ +function ($) { "use strict";
1567
+
1568
+ // SCROLLSPY CLASS DEFINITION
1569
+ // ==========================
1570
+
1571
+ function ScrollSpy(element, options) {
1572
+ var href
1573
+ var process = $.proxy(this.process, this)
1574
+
1575
+ this.$element = $(element).is('body') ? $(window) : $(element)
1576
+ this.$body = $('body')
1577
+ this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process)
1578
+ this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
1579
+ this.selector = (this.options.target
1580
+ || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
1581
+ || '') + ' .nav li > a'
1582
+ this.offsets = $([])
1583
+ this.targets = $([])
1584
+ this.activeTarget = null
1585
+
1586
+ this.refresh()
1587
+ this.process()
1588
+ }
1589
+
1590
+ ScrollSpy.DEFAULTS = {
1591
+ offset: 10
1592
+ }
1593
+
1594
+ ScrollSpy.prototype.refresh = function () {
1595
+ var offsetMethod = this.$element[0] == window ? 'offset' : 'position'
1596
+
1597
+ this.offsets = $([])
1598
+ this.targets = $([])
1599
+
1600
+ var self = this
1601
+ var $targets = this.$body
1602
+ .find(this.selector)
1603
+ .map(function () {
1604
+ var $el = $(this)
1605
+ var href = $el.data('target') || $el.attr('href')
1606
+ var $href = /^#\w/.test(href) && $(href)
1607
+
1608
+ return ($href
1609
+ && $href.length
1610
+ && [[ $href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null
1611
+ })
1612
+ .sort(function (a, b) { return a[0] - b[0] })
1613
+ .each(function () {
1614
+ self.offsets.push(this[0])
1615
+ self.targets.push(this[1])
1616
+ })
1617
+ }
1618
+
1619
+ ScrollSpy.prototype.process = function () {
1620
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
1621
+ var scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
1622
+ var maxScroll = scrollHeight - this.$scrollElement.height()
1623
+ var offsets = this.offsets
1624
+ var targets = this.targets
1625
+ var activeTarget = this.activeTarget
1626
+ var i
1627
+
1628
+ if (scrollTop >= maxScroll) {
1629
+ return activeTarget != (i = targets.last()[0]) && this.activate(i)
1630
+ }
1631
+
1632
+ for (i = offsets.length; i--;) {
1633
+ activeTarget != targets[i]
1634
+ && scrollTop >= offsets[i]
1635
+ && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
1636
+ && this.activate( targets[i] )
1637
+ }
1638
+ }
1639
+
1640
+ ScrollSpy.prototype.activate = function (target) {
1641
+ this.activeTarget = target
1642
+
1643
+ $(this.selector)
1644
+ .parents('.active')
1645
+ .removeClass('active')
1646
+
1647
+ var selector = this.selector
1648
+ + '[data-target="' + target + '"],'
1649
+ + this.selector + '[href="' + target + '"]'
1650
+
1651
+ var active = $(selector)
1652
+ .parents('li')
1653
+ .addClass('active')
1654
+
1655
+ if (active.parent('.dropdown-menu').length) {
1656
+ active = active
1657
+ .closest('li.dropdown')
1658
+ .addClass('active')
1659
+ }
1660
+
1661
+ active.trigger('activate')
1662
+ }
1663
+
1664
+
1665
+ // SCROLLSPY PLUGIN DEFINITION
1666
+ // ===========================
1667
+
1668
+ var old = $.fn.scrollspy
1669
+
1670
+ $.fn.scrollspy = function (option) {
1671
+ return this.each(function () {
1672
+ var $this = $(this)
1673
+ var data = $this.data('bs.scrollspy')
1674
+ var options = typeof option == 'object' && option
1675
+
1676
+ if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
1677
+ if (typeof option == 'string') data[option]()
1678
+ })
1679
+ }
1680
+
1681
+ $.fn.scrollspy.Constructor = ScrollSpy
1682
+
1683
+
1684
+ // SCROLLSPY NO CONFLICT
1685
+ // =====================
1686
+
1687
+ $.fn.scrollspy.noConflict = function () {
1688
+ $.fn.scrollspy = old
1689
+ return this
1690
+ }
1691
+
1692
+
1693
+ // SCROLLSPY DATA-API
1694
+ // ==================
1695
+
1696
+ $(window).on('load', function () {
1697
+ $('[data-spy="scroll"]').each(function () {
1698
+ var $spy = $(this)
1699
+ $spy.scrollspy($spy.data())
1700
+ })
1701
+ })
1702
+
1703
+ }(window.jQuery);
1704
+
1705
+ /* ========================================================================
1706
+ * Bootstrap: tab.js v3.0.0
1707
+ * http://twbs.github.com/bootstrap/javascript.html#tabs
1708
+ * ========================================================================
1709
+ * Copyright 2012 Twitter, Inc.
1710
+ *
1711
+ * Licensed under the Apache License, Version 2.0 (the "License");
1712
+ * you may not use this file except in compliance with the License.
1713
+ * You may obtain a copy of the License at
1714
+ *
1715
+ * http://www.apache.org/licenses/LICENSE-2.0
1716
+ *
1717
+ * Unless required by applicable law or agreed to in writing, software
1718
+ * distributed under the License is distributed on an "AS IS" BASIS,
1719
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1720
+ * See the License for the specific language governing permissions and
1721
+ * limitations under the License.
1722
+ * ======================================================================== */
1723
+
1724
+
1725
+ +function ($) { "use strict";
1726
+
1727
+ // TAB CLASS DEFINITION
1728
+ // ====================
1729
+
1730
+ var Tab = function (element) {
1731
+ this.element = $(element)
1732
+ }
1733
+
1734
+ Tab.prototype.show = function () {
1735
+ var $this = this.element
1736
+ var $ul = $this.closest('ul:not(.dropdown-menu)')
1737
+ var selector = $this.attr('data-target')
1738
+
1739
+ if (!selector) {
1740
+ selector = $this.attr('href')
1741
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
1742
+ }
1743
+
1744
+ if ($this.parent('li').hasClass('active')) return
1745
+
1746
+ var previous = $ul.find('.active:last a')[0]
1747
+ var e = $.Event('show.bs.tab', {
1748
+ relatedTarget: previous
1749
+ })
1750
+
1751
+ $this.trigger(e)
1752
+
1753
+ if (e.isDefaultPrevented()) return
1754
+
1755
+ var $target = $(selector)
1756
+
1757
+ this.activate($this.parent('li'), $ul)
1758
+ this.activate($target, $target.parent(), function () {
1759
+ $this.trigger({
1760
+ type: 'shown.bs.tab'
1761
+ , relatedTarget: previous
1762
+ })
1763
+ })
1764
+ }
1765
+
1766
+ Tab.prototype.activate = function (element, container, callback) {
1767
+ var $active = container.find('> .active')
1768
+ var transition = callback
1769
+ && $.support.transition
1770
+ && $active.hasClass('fade')
1771
+
1772
+ function next() {
1773
+ $active
1774
+ .removeClass('active')
1775
+ .find('> .dropdown-menu > .active')
1776
+ .removeClass('active')
1777
+
1778
+ element.addClass('active')
1779
+
1780
+ if (transition) {
1781
+ element[0].offsetWidth // reflow for transition
1782
+ element.addClass('in')
1783
+ } else {
1784
+ element.removeClass('fade')
1785
+ }
1786
+
1787
+ if (element.parent('.dropdown-menu')) {
1788
+ element.closest('li.dropdown').addClass('active')
1789
+ }
1790
+
1791
+ callback && callback()
1792
+ }
1793
+
1794
+ transition ?
1795
+ $active
1796
+ .one($.support.transition.end, next)
1797
+ .emulateTransitionEnd(150) :
1798
+ next()
1799
+
1800
+ $active.removeClass('in')
1801
+ }
1802
+
1803
+
1804
+ // TAB PLUGIN DEFINITION
1805
+ // =====================
1806
+
1807
+ var old = $.fn.tab
1808
+
1809
+ $.fn.tab = function ( option ) {
1810
+ return this.each(function () {
1811
+ var $this = $(this)
1812
+ var data = $this.data('bs.tab')
1813
+
1814
+ if (!data) $this.data('bs.tab', (data = new Tab(this)))
1815
+ if (typeof option == 'string') data[option]()
1816
+ })
1817
+ }
1818
+
1819
+ $.fn.tab.Constructor = Tab
1820
+
1821
+
1822
+ // TAB NO CONFLICT
1823
+ // ===============
1824
+
1825
+ $.fn.tab.noConflict = function () {
1826
+ $.fn.tab = old
1827
+ return this
1828
+ }
1829
+
1830
+
1831
+ // TAB DATA-API
1832
+ // ============
1833
+
1834
+ $(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
1835
+ e.preventDefault()
1836
+ $(this).tab('show')
1837
+ })
1838
+
1839
+ }(window.jQuery);
1840
+
1841
+ /* ========================================================================
1842
+ * Bootstrap: affix.js v3.0.0
1843
+ * http://twbs.github.com/bootstrap/javascript.html#affix
1844
+ * ========================================================================
1845
+ * Copyright 2012 Twitter, Inc.
1846
+ *
1847
+ * Licensed under the Apache License, Version 2.0 (the "License");
1848
+ * you may not use this file except in compliance with the License.
1849
+ * You may obtain a copy of the License at
1850
+ *
1851
+ * http://www.apache.org/licenses/LICENSE-2.0
1852
+ *
1853
+ * Unless required by applicable law or agreed to in writing, software
1854
+ * distributed under the License is distributed on an "AS IS" BASIS,
1855
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1856
+ * See the License for the specific language governing permissions and
1857
+ * limitations under the License.
1858
+ * ======================================================================== */
1859
+
1860
+
1861
+ +function ($) { "use strict";
1862
+
1863
+ // AFFIX CLASS DEFINITION
1864
+ // ======================
1865
+
1866
+ var Affix = function (element, options) {
1867
+ this.options = $.extend({}, Affix.DEFAULTS, options)
1868
+ this.$window = $(window)
1869
+ .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
1870
+ .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
1871
+
1872
+ this.$element = $(element)
1873
+ this.affixed =
1874
+ this.unpin = null
1875
+
1876
+ this.checkPosition()
1877
+ }
1878
+
1879
+ Affix.RESET = 'affix affix-top affix-bottom'
1880
+
1881
+ Affix.DEFAULTS = {
1882
+ offset: 0
1883
+ }
1884
+
1885
+ Affix.prototype.checkPositionWithEventLoop = function () {
1886
+ setTimeout($.proxy(this.checkPosition, this), 1)
1887
+ }
1888
+
1889
+ Affix.prototype.checkPosition = function () {
1890
+ if (!this.$element.is(':visible')) return
1891
+
1892
+ var scrollHeight = $(document).height()
1893
+ var scrollTop = this.$window.scrollTop()
1894
+ var position = this.$element.offset()
1895
+ var offset = this.options.offset
1896
+ var offsetTop = offset.top
1897
+ var offsetBottom = offset.bottom
1898
+
1899
+ if (typeof offset != 'object') offsetBottom = offsetTop = offset
1900
+ if (typeof offsetTop == 'function') offsetTop = offset.top()
1901
+ if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
1902
+
1903
+ var affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? false :
1904
+ offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :
1905
+ offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
1906
+
1907
+ if (this.affixed === affix) return
1908
+ if (this.unpin) this.$element.css('top', '')
1909
+
1910
+ this.affixed = affix
1911
+ this.unpin = affix == 'bottom' ? position.top - scrollTop : null
1912
+
1913
+ this.$element.removeClass(Affix.RESET).addClass('affix' + (affix ? '-' + affix : ''))
1914
+
1915
+ if (affix == 'bottom') {
1916
+ this.$element.offset({ top: document.body.offsetHeight - offsetBottom - this.$element.height() })
1917
+ }
1918
+ }
1919
+
1920
+
1921
+ // AFFIX PLUGIN DEFINITION
1922
+ // =======================
1923
+
1924
+ var old = $.fn.affix
1925
+
1926
+ $.fn.affix = function (option) {
1927
+ return this.each(function () {
1928
+ var $this = $(this)
1929
+ var data = $this.data('bs.affix')
1930
+ var options = typeof option == 'object' && option
1931
+
1932
+ if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
1933
+ if (typeof option == 'string') data[option]()
1934
+ })
1935
+ }
1936
+
1937
+ $.fn.affix.Constructor = Affix
1938
+
1939
+
1940
+ // AFFIX NO CONFLICT
1941
+ // =================
1942
+
1943
+ $.fn.affix.noConflict = function () {
1944
+ $.fn.affix = old
1945
+ return this
1946
+ }
1947
+
1948
+
1949
+ // AFFIX DATA-API
1950
+ // ==============
1951
+
1952
+ $(window).on('load', function () {
1953
+ $('[data-spy="affix"]').each(function () {
1954
+ var $spy = $(this)
1955
+ var data = $spy.data()
1956
+
1957
+ data.offset = data.offset || {}
1958
+
1959
+ if (data.offsetBottom) data.offset.bottom = data.offsetBottom
1960
+ if (data.offsetTop) data.offset.top = data.offsetTop
1961
+
1962
+ $spy.affix(data)
1963
+ })
1964
+ })
1965
+
1966
+ }(window.jQuery);