artfully_ose 1.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1565) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/Rakefile +40 -0
  3. data/app/assets/images/actions/do.png +0 -0
  4. data/app/assets/images/actions/get.png +0 -0
  5. data/app/assets/images/actions/give.png +0 -0
  6. data/app/assets/images/actions/go.png +0 -0
  7. data/app/assets/images/actions/hear.png +0 -0
  8. data/app/assets/images/actions/join.png +0 -0
  9. data/app/assets/images/glyphicons-halflings-gray.png +0 -0
  10. data/app/assets/images/glyphicons-halflings-white.png +0 -0
  11. data/app/assets/images/glyphicons-halflings.png +0 -0
  12. data/app/assets/images/glyphish/gray/01-refresh.png +0 -0
  13. data/app/assets/images/glyphish/gray/01-refresh@2x.png +0 -0
  14. data/app/assets/images/glyphish/gray/02-redo.png +0 -0
  15. data/app/assets/images/glyphish/gray/02-redo@2x.png +0 -0
  16. data/app/assets/images/glyphish/gray/03-loopback.png +0 -0
  17. data/app/assets/images/glyphish/gray/03-loopback@2x.png +0 -0
  18. data/app/assets/images/glyphish/gray/04-squiggle.png +0 -0
  19. data/app/assets/images/glyphish/gray/04-squiggle@2x.png +0 -0
  20. data/app/assets/images/glyphish/gray/05-shuffle.png +0 -0
  21. data/app/assets/images/glyphish/gray/05-shuffle@2x.png +0 -0
  22. data/app/assets/images/glyphish/gray/06-magnify.png +0 -0
  23. data/app/assets/images/glyphish/gray/06-magnify@2x.png +0 -0
  24. data/app/assets/images/glyphish/gray/07-map-marker.png +0 -0
  25. data/app/assets/images/glyphish/gray/07-map-marker@2x.png +0 -0
  26. data/app/assets/images/glyphish/gray/08-chat.png +0 -0
  27. data/app/assets/images/glyphish/gray/08-chat@2x.png +0 -0
  28. data/app/assets/images/glyphish/gray/09-chat-2.png +0 -0
  29. data/app/assets/images/glyphish/gray/09-chat-2@2x.png +0 -0
  30. data/app/assets/images/glyphish/gray/10-medical.png +0 -0
  31. data/app/assets/images/glyphish/gray/10-medical@2x.png +0 -0
  32. data/app/assets/images/glyphish/gray/100-coffee.png +0 -0
  33. data/app/assets/images/glyphish/gray/100-coffee@2x.png +0 -0
  34. data/app/assets/images/glyphish/gray/101-gameplan.png +0 -0
  35. data/app/assets/images/glyphish/gray/101-gameplan@2x.png +0 -0
  36. data/app/assets/images/glyphish/gray/102-walk.png +0 -0
  37. data/app/assets/images/glyphish/gray/102-walk@2x.png +0 -0
  38. data/app/assets/images/glyphish/gray/103-map.png +0 -0
  39. data/app/assets/images/glyphish/gray/103-map@2x.png +0 -0
  40. data/app/assets/images/glyphish/gray/104-index-cards.png +0 -0
  41. data/app/assets/images/glyphish/gray/104-index-cards@2x.png +0 -0
  42. data/app/assets/images/glyphish/gray/105-piano.png +0 -0
  43. data/app/assets/images/glyphish/gray/105-piano@2x.png +0 -0
  44. data/app/assets/images/glyphish/gray/106-sliders.png +0 -0
  45. data/app/assets/images/glyphish/gray/106-sliders@2x.png +0 -0
  46. data/app/assets/images/glyphish/gray/107-widescreen.png +0 -0
  47. data/app/assets/images/glyphish/gray/107-widescreen@2x.png +0 -0
  48. data/app/assets/images/glyphish/gray/108-badge.png +0 -0
  49. data/app/assets/images/glyphish/gray/108-badge@2x.png +0 -0
  50. data/app/assets/images/glyphish/gray/109-chicken.png +0 -0
  51. data/app/assets/images/glyphish/gray/109-chicken@2x.png +0 -0
  52. data/app/assets/images/glyphish/gray/11-clock.png +0 -0
  53. data/app/assets/images/glyphish/gray/11-clock@2x.png +0 -0
  54. data/app/assets/images/glyphish/gray/110-bug.png +0 -0
  55. data/app/assets/images/glyphish/gray/110-bug@2x.png +0 -0
  56. data/app/assets/images/glyphish/gray/111-user.png +0 -0
  57. data/app/assets/images/glyphish/gray/111-user2x.png +0 -0
  58. data/app/assets/images/glyphish/gray/111-user@2x.png +0 -0
  59. data/app/assets/images/glyphish/gray/112-group.png +0 -0
  60. data/app/assets/images/glyphish/gray/112-group@2x.png +0 -0
  61. data/app/assets/images/glyphish/gray/113-navigation.png +0 -0
  62. data/app/assets/images/glyphish/gray/113-navigation@2x.png +0 -0
  63. data/app/assets/images/glyphish/gray/114-balloon.png +0 -0
  64. data/app/assets/images/glyphish/gray/114-balloon@2x.png +0 -0
  65. data/app/assets/images/glyphish/gray/115-bow-and-arrow.png +0 -0
  66. data/app/assets/images/glyphish/gray/115-bow-and-arrow@2x.png +0 -0
  67. data/app/assets/images/glyphish/gray/116-controller.png +0 -0
  68. data/app/assets/images/glyphish/gray/116-controller@2x.png +0 -0
  69. data/app/assets/images/glyphish/gray/117-todo.png +0 -0
  70. data/app/assets/images/glyphish/gray/117-todo@2x.png +0 -0
  71. data/app/assets/images/glyphish/gray/118-coat-hanger.png +0 -0
  72. data/app/assets/images/glyphish/gray/118-coat-hanger@2x.png +0 -0
  73. data/app/assets/images/glyphish/gray/119-piggy-bank.png +0 -0
  74. data/app/assets/images/glyphish/gray/119-piggy-bank@2x.png +0 -0
  75. data/app/assets/images/glyphish/gray/12-eye.png +0 -0
  76. data/app/assets/images/glyphish/gray/12-eye@2x.png +0 -0
  77. data/app/assets/images/glyphish/gray/120-headphones.png +0 -0
  78. data/app/assets/images/glyphish/gray/120-headphones@2x.png +0 -0
  79. data/app/assets/images/glyphish/gray/121-landscape.png +0 -0
  80. data/app/assets/images/glyphish/gray/121-landscape@2x.png +0 -0
  81. data/app/assets/images/glyphish/gray/122-stats.png +0 -0
  82. data/app/assets/images/glyphish/gray/122-stats@2x.png +0 -0
  83. data/app/assets/images/glyphish/gray/123-id-card.png +0 -0
  84. data/app/assets/images/glyphish/gray/123-id-card@2x.png +0 -0
  85. data/app/assets/images/glyphish/gray/124-bullhorn.png +0 -0
  86. data/app/assets/images/glyphish/gray/124-bullhorn@2x.png +0 -0
  87. data/app/assets/images/glyphish/gray/125-food.png +0 -0
  88. data/app/assets/images/glyphish/gray/125-food@2x.png +0 -0
  89. data/app/assets/images/glyphish/gray/126-moon.png +0 -0
  90. data/app/assets/images/glyphish/gray/126-moon@2x.png +0 -0
  91. data/app/assets/images/glyphish/gray/127-sock.png +0 -0
  92. data/app/assets/images/glyphish/gray/127-sock@2x.png +0 -0
  93. data/app/assets/images/glyphish/gray/128-bone.png +0 -0
  94. data/app/assets/images/glyphish/gray/128-bone@2x.png +0 -0
  95. data/app/assets/images/glyphish/gray/129-golf.png +0 -0
  96. data/app/assets/images/glyphish/gray/129-golf@2x.png +0 -0
  97. data/app/assets/images/glyphish/gray/13-target.png +0 -0
  98. data/app/assets/images/glyphish/gray/13-target@2x.png +0 -0
  99. data/app/assets/images/glyphish/gray/130-dice.png +0 -0
  100. data/app/assets/images/glyphish/gray/130-dice@2x.png +0 -0
  101. data/app/assets/images/glyphish/gray/131-tower.png +0 -0
  102. data/app/assets/images/glyphish/gray/131-tower@2x.png +0 -0
  103. data/app/assets/images/glyphish/gray/132-ghost.png +0 -0
  104. data/app/assets/images/glyphish/gray/132-ghost@2x.png +0 -0
  105. data/app/assets/images/glyphish/gray/133-ufo.png +0 -0
  106. data/app/assets/images/glyphish/gray/133-ufo@2x.png +0 -0
  107. data/app/assets/images/glyphish/gray/134-viking.png +0 -0
  108. data/app/assets/images/glyphish/gray/134-viking@2x.png +0 -0
  109. data/app/assets/images/glyphish/gray/135-hockeymask.png +0 -0
  110. data/app/assets/images/glyphish/gray/135-hockeymask@2x.png +0 -0
  111. data/app/assets/images/glyphish/gray/136-tractor.png +0 -0
  112. data/app/assets/images/glyphish/gray/136-tractor@2x.png +0 -0
  113. data/app/assets/images/glyphish/gray/137-presentation.png +0 -0
  114. data/app/assets/images/glyphish/gray/137-presentation@2x.png +0 -0
  115. data/app/assets/images/glyphish/gray/138-scales.png +0 -0
  116. data/app/assets/images/glyphish/gray/138-scales@2x.png +0 -0
  117. data/app/assets/images/glyphish/gray/139-flags.png +0 -0
  118. data/app/assets/images/glyphish/gray/139-flags@2x.png +0 -0
  119. data/app/assets/images/glyphish/gray/14-tag.png +0 -0
  120. data/app/assets/images/glyphish/gray/14-tag@2x.png +0 -0
  121. data/app/assets/images/glyphish/gray/140-gradhat.png +0 -0
  122. data/app/assets/images/glyphish/gray/140-gradhat@2x.png +0 -0
  123. data/app/assets/images/glyphish/gray/141-lamp.png +0 -0
  124. data/app/assets/images/glyphish/gray/141-lamp@2x.png +0 -0
  125. data/app/assets/images/glyphish/gray/142-wine-bottle.png +0 -0
  126. data/app/assets/images/glyphish/gray/142-wine-bottle@2x.png +0 -0
  127. data/app/assets/images/glyphish/gray/143-liquor-bottle.png +0 -0
  128. data/app/assets/images/glyphish/gray/143-liquor-bottle@2x.png +0 -0
  129. data/app/assets/images/glyphish/gray/144-martini.png +0 -0
  130. data/app/assets/images/glyphish/gray/144-martini@2x.png +0 -0
  131. data/app/assets/images/glyphish/gray/145-persondot.png +0 -0
  132. data/app/assets/images/glyphish/gray/145-persondot@2x.png +0 -0
  133. data/app/assets/images/glyphish/gray/146-gavel.png +0 -0
  134. data/app/assets/images/glyphish/gray/146-gavel@2x.png +0 -0
  135. data/app/assets/images/glyphish/gray/147-popsicle.png +0 -0
  136. data/app/assets/images/glyphish/gray/147-popsicle@2x.png +0 -0
  137. data/app/assets/images/glyphish/gray/148-doghouse.png +0 -0
  138. data/app/assets/images/glyphish/gray/148-doghouse@2x.png +0 -0
  139. data/app/assets/images/glyphish/gray/149-windmill.png +0 -0
  140. data/app/assets/images/glyphish/gray/149-windmill@2x.png +0 -0
  141. data/app/assets/images/glyphish/gray/15-tags.png +0 -0
  142. data/app/assets/images/glyphish/gray/15-tags@2x.png +0 -0
  143. data/app/assets/images/glyphish/gray/150-sailboat.png +0 -0
  144. data/app/assets/images/glyphish/gray/150-sailboat@2x.png +0 -0
  145. data/app/assets/images/glyphish/gray/151-telescope.png +0 -0
  146. data/app/assets/images/glyphish/gray/151-telescope@2x.png +0 -0
  147. data/app/assets/images/glyphish/gray/152-rolodex.png +0 -0
  148. data/app/assets/images/glyphish/gray/152-rolodex@2x.png +0 -0
  149. data/app/assets/images/glyphish/gray/153-guitar.png +0 -0
  150. data/app/assets/images/glyphish/gray/153-guitar@2x.png +0 -0
  151. data/app/assets/images/glyphish/gray/154-necktie.png +0 -0
  152. data/app/assets/images/glyphish/gray/154-necktie@2x.png +0 -0
  153. data/app/assets/images/glyphish/gray/155-bowtie.png +0 -0
  154. data/app/assets/images/glyphish/gray/155-bowtie@2x.png +0 -0
  155. data/app/assets/images/glyphish/gray/156-controller.png +0 -0
  156. data/app/assets/images/glyphish/gray/156-controller@2x.png +0 -0
  157. data/app/assets/images/glyphish/gray/157-wrench.png +0 -0
  158. data/app/assets/images/glyphish/gray/157-wrench@2x.png +0 -0
  159. data/app/assets/images/glyphish/gray/158-wrench-2.png +0 -0
  160. data/app/assets/images/glyphish/gray/158-wrench-2@2x.png +0 -0
  161. data/app/assets/images/glyphish/gray/159-voicemail.png +0 -0
  162. data/app/assets/images/glyphish/gray/159-voicemail@2x.png +0 -0
  163. data/app/assets/images/glyphish/gray/16-line-chart.png +0 -0
  164. data/app/assets/images/glyphish/gray/16-line-chart@2x.png +0 -0
  165. data/app/assets/images/glyphish/gray/160-voicemail-2.png +0 -0
  166. data/app/assets/images/glyphish/gray/160-voicemail-2@2x.png +0 -0
  167. data/app/assets/images/glyphish/gray/161-calculator.png +0 -0
  168. data/app/assets/images/glyphish/gray/161-calculator@2x.png +0 -0
  169. data/app/assets/images/glyphish/gray/162-receipt.png +0 -0
  170. data/app/assets/images/glyphish/gray/162-receipt@2x.png +0 -0
  171. data/app/assets/images/glyphish/gray/163-glasses-1.png +0 -0
  172. data/app/assets/images/glyphish/gray/163-glasses-1@2x.png +0 -0
  173. data/app/assets/images/glyphish/gray/164-glasses-2.png +0 -0
  174. data/app/assets/images/glyphish/gray/164-glasses-2@2x.png +0 -0
  175. data/app/assets/images/glyphish/gray/165-glasses-3.png +0 -0
  176. data/app/assets/images/glyphish/gray/165-glasses-3@2x.png +0 -0
  177. data/app/assets/images/glyphish/gray/166-newspaper.png +0 -0
  178. data/app/assets/images/glyphish/gray/166-newspaper@2x.png +0 -0
  179. data/app/assets/images/glyphish/gray/167-upload-photo.png +0 -0
  180. data/app/assets/images/glyphish/gray/167-upload-photo@2x.png +0 -0
  181. data/app/assets/images/glyphish/gray/168-upload-photo-2.png +0 -0
  182. data/app/assets/images/glyphish/gray/168-upload-photo-2@2x.png +0 -0
  183. data/app/assets/images/glyphish/gray/169-8ball.png +0 -0
  184. data/app/assets/images/glyphish/gray/169-8ball@2x.png +0 -0
  185. data/app/assets/images/glyphish/gray/17-bar-chart.png +0 -0
  186. data/app/assets/images/glyphish/gray/17-bar-chart@2x.png +0 -0
  187. data/app/assets/images/glyphish/gray/170-butterfly.png +0 -0
  188. data/app/assets/images/glyphish/gray/170-butterfly@2x.png +0 -0
  189. data/app/assets/images/glyphish/gray/171-sun.png +0 -0
  190. data/app/assets/images/glyphish/gray/171-sun@2x.png +0 -0
  191. data/app/assets/images/glyphish/gray/172-pricetag.png +0 -0
  192. data/app/assets/images/glyphish/gray/172-pricetag@2x.png +0 -0
  193. data/app/assets/images/glyphish/gray/173-eyedropper.png +0 -0
  194. data/app/assets/images/glyphish/gray/173-eyedropper@2x.png +0 -0
  195. data/app/assets/images/glyphish/gray/174-imac.png +0 -0
  196. data/app/assets/images/glyphish/gray/174-imac@2x.png +0 -0
  197. data/app/assets/images/glyphish/gray/175-macbook.png +0 -0
  198. data/app/assets/images/glyphish/gray/175-macbook@2x.png +0 -0
  199. data/app/assets/images/glyphish/gray/176-ipad.png +0 -0
  200. data/app/assets/images/glyphish/gray/176-ipad@2x.png +0 -0
  201. data/app/assets/images/glyphish/gray/177-building.png +0 -0
  202. data/app/assets/images/glyphish/gray/177-building@2x.png +0 -0
  203. data/app/assets/images/glyphish/gray/178-city.png +0 -0
  204. data/app/assets/images/glyphish/gray/178-city@2x.png +0 -0
  205. data/app/assets/images/glyphish/gray/179-notepad.png +0 -0
  206. data/app/assets/images/glyphish/gray/179-notepad@2x.png +0 -0
  207. data/app/assets/images/glyphish/gray/18-envelope.png +0 -0
  208. data/app/assets/images/glyphish/gray/18-envelope@2x.png +0 -0
  209. data/app/assets/images/glyphish/gray/180-stickynote.png +0 -0
  210. data/app/assets/images/glyphish/gray/180-stickynote@2x.png +0 -0
  211. data/app/assets/images/glyphish/gray/181-hammer.png +0 -0
  212. data/app/assets/images/glyphish/gray/181-hammer@2x.png +0 -0
  213. data/app/assets/images/glyphish/gray/182-messenger-bag.png +0 -0
  214. data/app/assets/images/glyphish/gray/182-messenger-bag@2x.png +0 -0
  215. data/app/assets/images/glyphish/gray/183-genie-lamp.png +0 -0
  216. data/app/assets/images/glyphish/gray/183-genie-lamp@2x.png +0 -0
  217. data/app/assets/images/glyphish/gray/184-warning.png +0 -0
  218. data/app/assets/images/glyphish/gray/184-warning@2x.png +0 -0
  219. data/app/assets/images/glyphish/gray/185-printer.png +0 -0
  220. data/app/assets/images/glyphish/gray/185-printer@2x.png +0 -0
  221. data/app/assets/images/glyphish/gray/186-ruler.png +0 -0
  222. data/app/assets/images/glyphish/gray/186-ruler@2x.png +0 -0
  223. data/app/assets/images/glyphish/gray/187-pencil.png +0 -0
  224. data/app/assets/images/glyphish/gray/187-pencil@2x.png +0 -0
  225. data/app/assets/images/glyphish/gray/188-paint-roller.png +0 -0
  226. data/app/assets/images/glyphish/gray/188-paint-roller@2x.png +0 -0
  227. data/app/assets/images/glyphish/gray/189-plant.png +0 -0
  228. data/app/assets/images/glyphish/gray/189-plant@2x.png +0 -0
  229. data/app/assets/images/glyphish/gray/19-gear.png +0 -0
  230. data/app/assets/images/glyphish/gray/19-gear@2x.png +0 -0
  231. data/app/assets/images/glyphish/gray/190-bank.png +0 -0
  232. data/app/assets/images/glyphish/gray/190-bank@2x.png +0 -0
  233. data/app/assets/images/glyphish/gray/191-collection.png +0 -0
  234. data/app/assets/images/glyphish/gray/191-collection@2x.png +0 -0
  235. data/app/assets/images/glyphish/gray/192-credit-card.png +0 -0
  236. data/app/assets/images/glyphish/gray/192-credit-card@2x.png +0 -0
  237. data/app/assets/images/glyphish/gray/193-location-arrow.png +0 -0
  238. data/app/assets/images/glyphish/gray/193-location-arrow@2x.png +0 -0
  239. data/app/assets/images/glyphish/gray/194-note-2.png +0 -0
  240. data/app/assets/images/glyphish/gray/194-note-2@2x.png +0 -0
  241. data/app/assets/images/glyphish/gray/195-barcode.png +0 -0
  242. data/app/assets/images/glyphish/gray/195-barcode@2x.png +0 -0
  243. data/app/assets/images/glyphish/gray/196-radiation.png +0 -0
  244. data/app/assets/images/glyphish/gray/196-radiation@2x.png +0 -0
  245. data/app/assets/images/glyphish/gray/197-card-diamonds.png +0 -0
  246. data/app/assets/images/glyphish/gray/197-card-diamonds@2x.png +0 -0
  247. data/app/assets/images/glyphish/gray/198-card-spades.png +0 -0
  248. data/app/assets/images/glyphish/gray/198-card-spades@2x.png +0 -0
  249. data/app/assets/images/glyphish/gray/199-card-hearts.png +0 -0
  250. data/app/assets/images/glyphish/gray/199-card-hearts@2x.png +0 -0
  251. data/app/assets/images/glyphish/gray/20-gear-2.png +0 -0
  252. data/app/assets/images/glyphish/gray/20-gear-2@2x.png +0 -0
  253. data/app/assets/images/glyphish/gray/200-card-clubs.png +0 -0
  254. data/app/assets/images/glyphish/gray/200-card-clubs@2x.png +0 -0
  255. data/app/assets/images/glyphish/gray/201-vampire.png +0 -0
  256. data/app/assets/images/glyphish/gray/201-vampire@2x.png +0 -0
  257. data/app/assets/images/glyphish/gray/202-alien.png +0 -0
  258. data/app/assets/images/glyphish/gray/202-alien@2x.png +0 -0
  259. data/app/assets/images/glyphish/gray/203-spiderweb.png +0 -0
  260. data/app/assets/images/glyphish/gray/203-spiderweb@2x.png +0 -0
  261. data/app/assets/images/glyphish/gray/204-wallet.png +0 -0
  262. data/app/assets/images/glyphish/gray/204-wallet@2x.png +0 -0
  263. data/app/assets/images/glyphish/gray/205-factory.png +0 -0
  264. data/app/assets/images/glyphish/gray/205-factory@2x.png +0 -0
  265. data/app/assets/images/glyphish/gray/206-evernote.png +0 -0
  266. data/app/assets/images/glyphish/gray/206-evernote@2x.png +0 -0
  267. data/app/assets/images/glyphish/gray/207-dropbox.png +0 -0
  268. data/app/assets/images/glyphish/gray/207-dropbox@2x.png +0 -0
  269. data/app/assets/images/glyphish/gray/208-facebook.png +0 -0
  270. data/app/assets/images/glyphish/gray/208-facebook@2x.png +0 -0
  271. data/app/assets/images/glyphish/gray/209-twitter.png +0 -0
  272. data/app/assets/images/glyphish/gray/209-twitter@2x.png +0 -0
  273. data/app/assets/images/glyphish/gray/21-skull.png +0 -0
  274. data/app/assets/images/glyphish/gray/21-skull@2x.png +0 -0
  275. data/app/assets/images/glyphish/gray/210-twitterbird.png +0 -0
  276. data/app/assets/images/glyphish/gray/210-twitterbird@2x.png +0 -0
  277. data/app/assets/images/glyphish/gray/211-action.png +0 -0
  278. data/app/assets/images/glyphish/gray/211-action@2x.png +0 -0
  279. data/app/assets/images/glyphish/gray/212-action2.png +0 -0
  280. data/app/assets/images/glyphish/gray/212-action2@2x.png +0 -0
  281. data/app/assets/images/glyphish/gray/213-reply.png +0 -0
  282. data/app/assets/images/glyphish/gray/213-reply@2x.png +0 -0
  283. data/app/assets/images/glyphish/gray/214-replyall.png +0 -0
  284. data/app/assets/images/glyphish/gray/214-replyall@2x.png +0 -0
  285. data/app/assets/images/glyphish/gray/215-subscription.png +0 -0
  286. data/app/assets/images/glyphish/gray/215-subscription@2x.png +0 -0
  287. data/app/assets/images/glyphish/gray/216-compose.png +0 -0
  288. data/app/assets/images/glyphish/gray/216-compose@2x.png +0 -0
  289. data/app/assets/images/glyphish/gray/217-trash.png +0 -0
  290. data/app/assets/images/glyphish/gray/217-trash@2x.png +0 -0
  291. data/app/assets/images/glyphish/gray/218-trash2.png +0 -0
  292. data/app/assets/images/glyphish/gray/218-trash2@2x.png +0 -0
  293. data/app/assets/images/glyphish/gray/219-scissors.png +0 -0
  294. data/app/assets/images/glyphish/gray/219-scissors@2x.png +0 -0
  295. data/app/assets/images/glyphish/gray/22-skull-n-bones.png +0 -0
  296. data/app/assets/images/glyphish/gray/22-skull-n-bones@2x.png +0 -0
  297. data/app/assets/images/glyphish/gray/220-coupon.png +0 -0
  298. data/app/assets/images/glyphish/gray/220-coupon@2x.png +0 -0
  299. data/app/assets/images/glyphish/gray/221-recordplayer.png +0 -0
  300. data/app/assets/images/glyphish/gray/221-recordplayer@2x.png +0 -0
  301. data/app/assets/images/glyphish/gray/222-bacon.png +0 -0
  302. data/app/assets/images/glyphish/gray/222-bacon@2x.png +0 -0
  303. data/app/assets/images/glyphish/gray/223-magnet.png +0 -0
  304. data/app/assets/images/glyphish/gray/223-magnet@2x.png +0 -0
  305. data/app/assets/images/glyphish/gray/224-flower.png +0 -0
  306. data/app/assets/images/glyphish/gray/224-flower@2x.png +0 -0
  307. data/app/assets/images/glyphish/gray/225-plant.png +0 -0
  308. data/app/assets/images/glyphish/gray/225-plant@2x.png +0 -0
  309. data/app/assets/images/glyphish/gray/226-egg.png +0 -0
  310. data/app/assets/images/glyphish/gray/226-egg@2x.png +0 -0
  311. data/app/assets/images/glyphish/gray/227-psp.png +0 -0
  312. data/app/assets/images/glyphish/gray/227-psp@2x.png +0 -0
  313. data/app/assets/images/glyphish/gray/228-nescontroller.png +0 -0
  314. data/app/assets/images/glyphish/gray/228-nescontroller@2x.png +0 -0
  315. data/app/assets/images/glyphish/gray/229-gba.png +0 -0
  316. data/app/assets/images/glyphish/gray/229-gba@2x.png +0 -0
  317. data/app/assets/images/glyphish/gray/23-bird.png +0 -0
  318. data/app/assets/images/glyphish/gray/23-bird@2x.png +0 -0
  319. data/app/assets/images/glyphish/gray/230-wiimote.png +0 -0
  320. data/app/assets/images/glyphish/gray/230-wiimote@2x.png +0 -0
  321. data/app/assets/images/glyphish/gray/231-birdhouse.png +0 -0
  322. data/app/assets/images/glyphish/gray/231-birdhouse@2x.png +0 -0
  323. data/app/assets/images/glyphish/gray/232-whale.png +0 -0
  324. data/app/assets/images/glyphish/gray/232-whale@2x.png +0 -0
  325. data/app/assets/images/glyphish/gray/233-fish.png +0 -0
  326. data/app/assets/images/glyphish/gray/233-fish@2x.png +0 -0
  327. data/app/assets/images/glyphish/gray/234-cloud.png +0 -0
  328. data/app/assets/images/glyphish/gray/234-cloud@2x.png +0 -0
  329. data/app/assets/images/glyphish/gray/235-purse.png +0 -0
  330. data/app/assets/images/glyphish/gray/235-purse@2x.png +0 -0
  331. data/app/assets/images/glyphish/gray/236-shoppingbag.png +0 -0
  332. data/app/assets/images/glyphish/gray/236-shoppingbag@2x.png +0 -0
  333. data/app/assets/images/glyphish/gray/237-key.png +0 -0
  334. data/app/assets/images/glyphish/gray/237-key@2x.png +0 -0
  335. data/app/assets/images/glyphish/gray/238-road.png +0 -0
  336. data/app/assets/images/glyphish/gray/238-road@2x.png +0 -0
  337. data/app/assets/images/glyphish/gray/239-screen.png +0 -0
  338. data/app/assets/images/glyphish/gray/239-screen@2x.png +0 -0
  339. data/app/assets/images/glyphish/gray/24-gift.png +0 -0
  340. data/app/assets/images/glyphish/gray/24-gift@2x.png +0 -0
  341. data/app/assets/images/glyphish/gray/240-sketchbook.png +0 -0
  342. data/app/assets/images/glyphish/gray/240-sketchbook@2x.png +0 -0
  343. data/app/assets/images/glyphish/gray/241-cleaver.png +0 -0
  344. data/app/assets/images/glyphish/gray/241-cleaver@2x.png +0 -0
  345. data/app/assets/images/glyphish/gray/242-ramen.png +0 -0
  346. data/app/assets/images/glyphish/gray/242-ramen@2x.png +0 -0
  347. data/app/assets/images/glyphish/gray/243-globe.png +0 -0
  348. data/app/assets/images/glyphish/gray/243-globe@2x.png +0 -0
  349. data/app/assets/images/glyphish/gray/244-rubberstamp.png +0 -0
  350. data/app/assets/images/glyphish/gray/244-rubberstamp@2x.png +0 -0
  351. data/app/assets/images/glyphish/gray/245-paperairplane.png +0 -0
  352. data/app/assets/images/glyphish/gray/245-paperairplane@2x.png +0 -0
  353. data/app/assets/images/glyphish/gray/246-route.png +0 -0
  354. data/app/assets/images/glyphish/gray/246-route@2x.png +0 -0
  355. data/app/assets/images/glyphish/gray/247-dancesteps.png +0 -0
  356. data/app/assets/images/glyphish/gray/247-dancesteps@2x.png +0 -0
  357. data/app/assets/images/glyphish/gray/248-sign.png +0 -0
  358. data/app/assets/images/glyphish/gray/248-sign@2x.png +0 -0
  359. data/app/assets/images/glyphish/gray/249-piechart.png +0 -0
  360. data/app/assets/images/glyphish/gray/249-piechart@2x.png +0 -0
  361. data/app/assets/images/glyphish/gray/25-weather.png +0 -0
  362. data/app/assets/images/glyphish/gray/25-weather@2x.png +0 -0
  363. data/app/assets/images/glyphish/gray/250-stats.png +0 -0
  364. data/app/assets/images/glyphish/gray/250-stats@2x.png +0 -0
  365. data/app/assets/images/glyphish/gray/251-sword.png +0 -0
  366. data/app/assets/images/glyphish/gray/251-sword@2x.png +0 -0
  367. data/app/assets/images/glyphish/gray/252-lure.png +0 -0
  368. data/app/assets/images/glyphish/gray/252-lure@2x.png +0 -0
  369. data/app/assets/images/glyphish/gray/253-person.png +0 -0
  370. data/app/assets/images/glyphish/gray/253-person@2x.png +0 -0
  371. data/app/assets/images/glyphish/gray/254-barrier.png +0 -0
  372. data/app/assets/images/glyphish/gray/254-barrier@2x.png +0 -0
  373. data/app/assets/images/glyphish/gray/255-box.png +0 -0
  374. data/app/assets/images/glyphish/gray/255-box@2x.png +0 -0
  375. data/app/assets/images/glyphish/gray/256-box2.png +0 -0
  376. data/app/assets/images/glyphish/gray/256-box2@2x.png +0 -0
  377. data/app/assets/images/glyphish/gray/257-box3.png +0 -0
  378. data/app/assets/images/glyphish/gray/257-box3@2x.png +0 -0
  379. data/app/assets/images/glyphish/gray/258-checkmark.png +0 -0
  380. data/app/assets/images/glyphish/gray/258-checkmark@2x.png +0 -0
  381. data/app/assets/images/glyphish/gray/259-list.png +0 -0
  382. data/app/assets/images/glyphish/gray/259-list@2x.png +0 -0
  383. data/app/assets/images/glyphish/gray/26-bandaid.png +0 -0
  384. data/app/assets/images/glyphish/gray/26-bandaid@2x.png +0 -0
  385. data/app/assets/images/glyphish/gray/260-count.png +0 -0
  386. data/app/assets/images/glyphish/gray/260-count@2x.png +0 -0
  387. data/app/assets/images/glyphish/gray/261-album-closed.png +0 -0
  388. data/app/assets/images/glyphish/gray/261-album-closed@2x.png +0 -0
  389. data/app/assets/images/glyphish/gray/262-album-open.png +0 -0
  390. data/app/assets/images/glyphish/gray/262-album-open@2x.png +0 -0
  391. data/app/assets/images/glyphish/gray/263-sound-off.png +0 -0
  392. data/app/assets/images/glyphish/gray/263-sound-off@2x.png +0 -0
  393. data/app/assets/images/glyphish/gray/264-sound-on.png +0 -0
  394. data/app/assets/images/glyphish/gray/264-sound-on@2x.png +0 -0
  395. data/app/assets/images/glyphish/gray/265-download.png +0 -0
  396. data/app/assets/images/glyphish/gray/265-download@2x.png +0 -0
  397. data/app/assets/images/glyphish/gray/266-upload.png +0 -0
  398. data/app/assets/images/glyphish/gray/266-upload@2x.png +0 -0
  399. data/app/assets/images/glyphish/gray/267-zoomin.png +0 -0
  400. data/app/assets/images/glyphish/gray/267-zoomin@2x.png +0 -0
  401. data/app/assets/images/glyphish/gray/268-zoomout.png +0 -0
  402. data/app/assets/images/glyphish/gray/268-zoomout@2x.png +0 -0
  403. data/app/assets/images/glyphish/gray/269-happyface.png +0 -0
  404. data/app/assets/images/glyphish/gray/269-happyface@2x.png +0 -0
  405. data/app/assets/images/glyphish/gray/27-planet.png +0 -0
  406. data/app/assets/images/glyphish/gray/27-planet@2x.png +0 -0
  407. data/app/assets/images/glyphish/gray/270-unhappyface.png +0 -0
  408. data/app/assets/images/glyphish/gray/270-unhappyface@2x.png +0 -0
  409. data/app/assets/images/glyphish/gray/271-dramamasks.png +0 -0
  410. data/app/assets/images/glyphish/gray/271-dramamasks@2x.png +0 -0
  411. data/app/assets/images/glyphish/gray/272-windows.png +0 -0
  412. data/app/assets/images/glyphish/gray/272-windows@2x.png +0 -0
  413. data/app/assets/images/glyphish/gray/273-grapes.png +0 -0
  414. data/app/assets/images/glyphish/gray/273-grapes@2x.png +0 -0
  415. data/app/assets/images/glyphish/gray/274-router.png +0 -0
  416. data/app/assets/images/glyphish/gray/274-router@2x.png +0 -0
  417. data/app/assets/images/glyphish/gray/275-broadcast.png +0 -0
  418. data/app/assets/images/glyphish/gray/275-broadcast@2x.png +0 -0
  419. data/app/assets/images/glyphish/gray/276-poison.png +0 -0
  420. data/app/assets/images/glyphish/gray/276-poison@2x.png +0 -0
  421. data/app/assets/images/glyphish/gray/277-lighting.png +0 -0
  422. data/app/assets/images/glyphish/gray/277-lighting@2x.png +0 -0
  423. data/app/assets/images/glyphish/gray/278-flipcam.png +0 -0
  424. data/app/assets/images/glyphish/gray/278-flipcam@2x.png +0 -0
  425. data/app/assets/images/glyphish/gray/279-videocamera.png +0 -0
  426. data/app/assets/images/glyphish/gray/279-videocamera@2x.png +0 -0
  427. data/app/assets/images/glyphish/gray/28-star.png +0 -0
  428. data/app/assets/images/glyphish/gray/28-star@2x.png +0 -0
  429. data/app/assets/images/glyphish/gray/280-clapboard.png +0 -0
  430. data/app/assets/images/glyphish/gray/280-clapboard@2x.png +0 -0
  431. data/app/assets/images/glyphish/gray/281-crown.png +0 -0
  432. data/app/assets/images/glyphish/gray/281-crown@2x.png +0 -0
  433. data/app/assets/images/glyphish/gray/282-cards.png +0 -0
  434. data/app/assets/images/glyphish/gray/282-cards@2x.png +0 -0
  435. data/app/assets/images/glyphish/gray/283-bomb.png +0 -0
  436. data/app/assets/images/glyphish/gray/283-bomb@2x.png +0 -0
  437. data/app/assets/images/glyphish/gray/284-bell.png +0 -0
  438. data/app/assets/images/glyphish/gray/284-bell@2x.png +0 -0
  439. data/app/assets/images/glyphish/gray/285-facetime.png +0 -0
  440. data/app/assets/images/glyphish/gray/285-facetime@2x.png +0 -0
  441. data/app/assets/images/glyphish/gray/286-speechbubble.png +0 -0
  442. data/app/assets/images/glyphish/gray/286-speechbubble@2x.png +0 -0
  443. data/app/assets/images/glyphish/gray/287-at.png +0 -0
  444. data/app/assets/images/glyphish/gray/287-at@2x.png +0 -0
  445. data/app/assets/images/glyphish/gray/288-retweet.png +0 -0
  446. data/app/assets/images/glyphish/gray/288-retweet@2x.png +0 -0
  447. data/app/assets/images/glyphish/gray/289-rocket.png +0 -0
  448. data/app/assets/images/glyphish/gray/289-rocket@2x.png +0 -0
  449. data/app/assets/images/glyphish/gray/29-heart.png +0 -0
  450. data/app/assets/images/glyphish/gray/29-heart@2x.png +0 -0
  451. data/app/assets/images/glyphish/gray/290-bomb2.png +0 -0
  452. data/app/assets/images/glyphish/gray/290-bomb2@2x.png +0 -0
  453. data/app/assets/images/glyphish/gray/291-idcard.png +0 -0
  454. data/app/assets/images/glyphish/gray/291-idcard@2x.png +0 -0
  455. data/app/assets/images/glyphish/gray/292-crop.png +0 -0
  456. data/app/assets/images/glyphish/gray/292-crop@2x.png +0 -0
  457. data/app/assets/images/glyphish/gray/293-database.png +0 -0
  458. data/app/assets/images/glyphish/gray/293-database@2x.png +0 -0
  459. data/app/assets/images/glyphish/gray/294-macroflower.png +0 -0
  460. data/app/assets/images/glyphish/gray/294-macroflower@2x.png +0 -0
  461. data/app/assets/images/glyphish/gray/295-shield.png +0 -0
  462. data/app/assets/images/glyphish/gray/295-shield@2x.png +0 -0
  463. data/app/assets/images/glyphish/gray/296-pizza.png +0 -0
  464. data/app/assets/images/glyphish/gray/296-pizza@2x.png +0 -0
  465. data/app/assets/images/glyphish/gray/297-speaker.png +0 -0
  466. data/app/assets/images/glyphish/gray/297-speaker@2x.png +0 -0
  467. data/app/assets/images/glyphish/gray/298-circlex.png +0 -0
  468. data/app/assets/images/glyphish/gray/298-circlex@2x.png +0 -0
  469. data/app/assets/images/glyphish/gray/299-ticket.png +0 -0
  470. data/app/assets/images/glyphish/gray/299-ticket@2x.png +0 -0
  471. data/app/assets/images/glyphish/gray/30-key.png +0 -0
  472. data/app/assets/images/glyphish/gray/30-key@2x.png +0 -0
  473. data/app/assets/images/glyphish/gray/300-orgchart.png +0 -0
  474. data/app/assets/images/glyphish/gray/300-orgchart@2x.png +0 -0
  475. data/app/assets/images/glyphish/gray/31-ipod.png +0 -0
  476. data/app/assets/images/glyphish/gray/31-ipod@2x.png +0 -0
  477. data/app/assets/images/glyphish/gray/32-iphone.png +0 -0
  478. data/app/assets/images/glyphish/gray/32-iphone@2x.png +0 -0
  479. data/app/assets/images/glyphish/gray/33-cabinet.png +0 -0
  480. data/app/assets/images/glyphish/gray/33-cabinet@2x.png +0 -0
  481. data/app/assets/images/glyphish/gray/34-coffee.png +0 -0
  482. data/app/assets/images/glyphish/gray/34-coffee@2x.png +0 -0
  483. data/app/assets/images/glyphish/gray/35-shopping.png +0 -0
  484. data/app/assets/images/glyphish/gray/35-shopping@2x.png +0 -0
  485. data/app/assets/images/glyphish/gray/36-toolbox.png +0 -0
  486. data/app/assets/images/glyphish/gray/36-toolbox@2x.png +0 -0
  487. data/app/assets/images/glyphish/gray/37-suitcase.png +0 -0
  488. data/app/assets/images/glyphish/gray/37-suitcase@2x.png +0 -0
  489. data/app/assets/images/glyphish/gray/38-airplane.png +0 -0
  490. data/app/assets/images/glyphish/gray/38-airplane@2x.png +0 -0
  491. data/app/assets/images/glyphish/gray/39-spraycan.png +0 -0
  492. data/app/assets/images/glyphish/gray/39-spraycan@2x.png +0 -0
  493. data/app/assets/images/glyphish/gray/40-inbox.png +0 -0
  494. data/app/assets/images/glyphish/gray/40-inbox@2x.png +0 -0
  495. data/app/assets/images/glyphish/gray/41-picture-frame.png +0 -0
  496. data/app/assets/images/glyphish/gray/41-picture-frame@2x.png +0 -0
  497. data/app/assets/images/glyphish/gray/42-photos.png +0 -0
  498. data/app/assets/images/glyphish/gray/42-photos@2x.png +0 -0
  499. data/app/assets/images/glyphish/gray/43-film-roll.png +0 -0
  500. data/app/assets/images/glyphish/gray/43-film-roll@2x.png +0 -0
  501. data/app/assets/images/glyphish/gray/44-shoebox.png +0 -0
  502. data/app/assets/images/glyphish/gray/44-shoebox@2x.png +0 -0
  503. data/app/assets/images/glyphish/gray/45-movie-1.png +0 -0
  504. data/app/assets/images/glyphish/gray/45-movie-1@2x.png +0 -0
  505. data/app/assets/images/glyphish/gray/46-movie-2.png +0 -0
  506. data/app/assets/images/glyphish/gray/46-movie-2@2x.png +0 -0
  507. data/app/assets/images/glyphish/gray/47-fuel.png +0 -0
  508. data/app/assets/images/glyphish/gray/47-fuel@2x.png +0 -0
  509. data/app/assets/images/glyphish/gray/48-fork-and-knife.png +0 -0
  510. data/app/assets/images/glyphish/gray/48-fork-and-knife@2x.png +0 -0
  511. data/app/assets/images/glyphish/gray/49-battery.png +0 -0
  512. data/app/assets/images/glyphish/gray/49-battery@2x.png +0 -0
  513. data/app/assets/images/glyphish/gray/50-beaker.png +0 -0
  514. data/app/assets/images/glyphish/gray/50-beaker@2x.png +0 -0
  515. data/app/assets/images/glyphish/gray/51-outlet.png +0 -0
  516. data/app/assets/images/glyphish/gray/51-outlet@2x.png +0 -0
  517. data/app/assets/images/glyphish/gray/52-pine-tree.png +0 -0
  518. data/app/assets/images/glyphish/gray/52-pine-tree@2x.png +0 -0
  519. data/app/assets/images/glyphish/gray/53-house.png +0 -0
  520. data/app/assets/images/glyphish/gray/53-house@2x.png +0 -0
  521. data/app/assets/images/glyphish/gray/54-lock.png +0 -0
  522. data/app/assets/images/glyphish/gray/54-lock@2x.png +0 -0
  523. data/app/assets/images/glyphish/gray/55-network.png +0 -0
  524. data/app/assets/images/glyphish/gray/55-network@2x.png +0 -0
  525. data/app/assets/images/glyphish/gray/56-cloud.png +0 -0
  526. data/app/assets/images/glyphish/gray/56-cloud@2x.png +0 -0
  527. data/app/assets/images/glyphish/gray/57-download.png +0 -0
  528. data/app/assets/images/glyphish/gray/57-download@2x.png +0 -0
  529. data/app/assets/images/glyphish/gray/58-bookmark.png +0 -0
  530. data/app/assets/images/glyphish/gray/58-bookmark@2x.png +0 -0
  531. data/app/assets/images/glyphish/gray/59-flag.png +0 -0
  532. data/app/assets/images/glyphish/gray/59-flag@2x.png +0 -0
  533. data/app/assets/images/glyphish/gray/60-signpost.png +0 -0
  534. data/app/assets/images/glyphish/gray/60-signpost@2x.png +0 -0
  535. data/app/assets/images/glyphish/gray/61-brightness.png +0 -0
  536. data/app/assets/images/glyphish/gray/61-brightness@2x.png +0 -0
  537. data/app/assets/images/glyphish/gray/62-contrast.png +0 -0
  538. data/app/assets/images/glyphish/gray/62-contrast@2x.png +0 -0
  539. data/app/assets/images/glyphish/gray/63-runner.png +0 -0
  540. data/app/assets/images/glyphish/gray/63-runner@2x.png +0 -0
  541. data/app/assets/images/glyphish/gray/64-zap.png +0 -0
  542. data/app/assets/images/glyphish/gray/64-zap@2x.png +0 -0
  543. data/app/assets/images/glyphish/gray/65-note.png +0 -0
  544. data/app/assets/images/glyphish/gray/65-note@2x.png +0 -0
  545. data/app/assets/images/glyphish/gray/66-microphone.png +0 -0
  546. data/app/assets/images/glyphish/gray/66-microphone@2x.png +0 -0
  547. data/app/assets/images/glyphish/gray/67-tshirt.png +0 -0
  548. data/app/assets/images/glyphish/gray/67-tshirt@2x.png +0 -0
  549. data/app/assets/images/glyphish/gray/68-paperclip.png +0 -0
  550. data/app/assets/images/glyphish/gray/68-paperclip@2x.png +0 -0
  551. data/app/assets/images/glyphish/gray/69-display.png +0 -0
  552. data/app/assets/images/glyphish/gray/69-display@2x.png +0 -0
  553. data/app/assets/images/glyphish/gray/70-tv.png +0 -0
  554. data/app/assets/images/glyphish/gray/70-tv@2x.png +0 -0
  555. data/app/assets/images/glyphish/gray/71-compass.png +0 -0
  556. data/app/assets/images/glyphish/gray/71-compass@2x.png +0 -0
  557. data/app/assets/images/glyphish/gray/72-pin.png +0 -0
  558. data/app/assets/images/glyphish/gray/72-pin@2x.png +0 -0
  559. data/app/assets/images/glyphish/gray/73-radar.png +0 -0
  560. data/app/assets/images/glyphish/gray/73-radar@2x.png +0 -0
  561. data/app/assets/images/glyphish/gray/74-location.png +0 -0
  562. data/app/assets/images/glyphish/gray/74-location@2x.png +0 -0
  563. data/app/assets/images/glyphish/gray/75-phone.png +0 -0
  564. data/app/assets/images/glyphish/gray/75-phone@2x.png +0 -0
  565. data/app/assets/images/glyphish/gray/76-baby.png +0 -0
  566. data/app/assets/images/glyphish/gray/76-baby@2x.png +0 -0
  567. data/app/assets/images/glyphish/gray/77-ekg.png +0 -0
  568. data/app/assets/images/glyphish/gray/77-ekg@2x.png +0 -0
  569. data/app/assets/images/glyphish/gray/78-stopwatch.png +0 -0
  570. data/app/assets/images/glyphish/gray/78-stopwatch@2x.png +0 -0
  571. data/app/assets/images/glyphish/gray/79-medical-bag.png +0 -0
  572. data/app/assets/images/glyphish/gray/79-medical-bag@2x.png +0 -0
  573. data/app/assets/images/glyphish/gray/80-shopping-cart.png +0 -0
  574. data/app/assets/images/glyphish/gray/80-shopping-cart@2x.png +0 -0
  575. data/app/assets/images/glyphish/gray/81-dashboard.png +0 -0
  576. data/app/assets/images/glyphish/gray/81-dashboard@2x.png +0 -0
  577. data/app/assets/images/glyphish/gray/82-dog-paw.png +0 -0
  578. data/app/assets/images/glyphish/gray/82-dog-paw@2x.png +0 -0
  579. data/app/assets/images/glyphish/gray/83-calendar.png +0 -0
  580. data/app/assets/images/glyphish/gray/83-calendar@2x.png +0 -0
  581. data/app/assets/images/glyphish/gray/84-lightbulb.png +0 -0
  582. data/app/assets/images/glyphish/gray/84-lightbulb@2x.png +0 -0
  583. data/app/assets/images/glyphish/gray/85-trophy.png +0 -0
  584. data/app/assets/images/glyphish/gray/85-trophy@2x.png +0 -0
  585. data/app/assets/images/glyphish/gray/86-camera.png +0 -0
  586. data/app/assets/images/glyphish/gray/86-camera@2x.png +0 -0
  587. data/app/assets/images/glyphish/gray/87-wine-glass.png +0 -0
  588. data/app/assets/images/glyphish/gray/87-wine-glass@2x.png +0 -0
  589. data/app/assets/images/glyphish/gray/88-beer-glass.png +0 -0
  590. data/app/assets/images/glyphish/gray/88-beer-glass@2x.png +0 -0
  591. data/app/assets/images/glyphish/gray/89-dumbells.png +0 -0
  592. data/app/assets/images/glyphish/gray/89-dumbells@2x.png +0 -0
  593. data/app/assets/images/glyphish/gray/90-lifebuoy.png +0 -0
  594. data/app/assets/images/glyphish/gray/90-lifebuoy@2x.png +0 -0
  595. data/app/assets/images/glyphish/gray/91-beaker-2.png +0 -0
  596. data/app/assets/images/glyphish/gray/91-beaker-2@2x.png +0 -0
  597. data/app/assets/images/glyphish/gray/92-test-tube.png +0 -0
  598. data/app/assets/images/glyphish/gray/92-test-tube@2x.png +0 -0
  599. data/app/assets/images/glyphish/gray/93-thermometer.png +0 -0
  600. data/app/assets/images/glyphish/gray/93-thermometer@2x.png +0 -0
  601. data/app/assets/images/glyphish/gray/94-pill.png +0 -0
  602. data/app/assets/images/glyphish/gray/94-pill@2x.png +0 -0
  603. data/app/assets/images/glyphish/gray/95-equalizer.png +0 -0
  604. data/app/assets/images/glyphish/gray/95-equalizer@2x.png +0 -0
  605. data/app/assets/images/glyphish/gray/96-book.png +0 -0
  606. data/app/assets/images/glyphish/gray/96-book@2x.png +0 -0
  607. data/app/assets/images/glyphish/gray/97-puzzle-piece.png +0 -0
  608. data/app/assets/images/glyphish/gray/97-puzzle-piece@2x.png +0 -0
  609. data/app/assets/images/glyphish/gray/98-palette.png +0 -0
  610. data/app/assets/images/glyphish/gray/98-palette@2x.png +0 -0
  611. data/app/assets/images/glyphish/gray/99-umbrella.png +0 -0
  612. data/app/assets/images/glyphish/gray/99-umbrella@2x.png +0 -0
  613. data/app/assets/images/glyphish/white/01-refresh.png +0 -0
  614. data/app/assets/images/glyphish/white/01-refresh@2x.png +0 -0
  615. data/app/assets/images/glyphish/white/02-redo.png +0 -0
  616. data/app/assets/images/glyphish/white/02-redo@2x.png +0 -0
  617. data/app/assets/images/glyphish/white/03-loopback.png +0 -0
  618. data/app/assets/images/glyphish/white/03-loopback@2x.png +0 -0
  619. data/app/assets/images/glyphish/white/04-squiggle.png +0 -0
  620. data/app/assets/images/glyphish/white/04-squiggle@2x.png +0 -0
  621. data/app/assets/images/glyphish/white/05-shuffle.png +0 -0
  622. data/app/assets/images/glyphish/white/05-shuffle@2x.png +0 -0
  623. data/app/assets/images/glyphish/white/06-magnify.png +0 -0
  624. data/app/assets/images/glyphish/white/06-magnify@2x.png +0 -0
  625. data/app/assets/images/glyphish/white/07-map-marker.png +0 -0
  626. data/app/assets/images/glyphish/white/07-map-marker@2x.png +0 -0
  627. data/app/assets/images/glyphish/white/08-chat.png +0 -0
  628. data/app/assets/images/glyphish/white/08-chat@2x.png +0 -0
  629. data/app/assets/images/glyphish/white/09-chat-2.png +0 -0
  630. data/app/assets/images/glyphish/white/09-chat-2@2x.png +0 -0
  631. data/app/assets/images/glyphish/white/10-medical.png +0 -0
  632. data/app/assets/images/glyphish/white/10-medical@2x.png +0 -0
  633. data/app/assets/images/glyphish/white/100-coffee.png +0 -0
  634. data/app/assets/images/glyphish/white/100-coffee@2x.png +0 -0
  635. data/app/assets/images/glyphish/white/101-gameplan.png +0 -0
  636. data/app/assets/images/glyphish/white/101-gameplan@2x.png +0 -0
  637. data/app/assets/images/glyphish/white/102-walk.png +0 -0
  638. data/app/assets/images/glyphish/white/102-walk@2x.png +0 -0
  639. data/app/assets/images/glyphish/white/103-map.png +0 -0
  640. data/app/assets/images/glyphish/white/103-map@2x.png +0 -0
  641. data/app/assets/images/glyphish/white/104-index-cards.png +0 -0
  642. data/app/assets/images/glyphish/white/104-index-cards@2x.png +0 -0
  643. data/app/assets/images/glyphish/white/105-piano.png +0 -0
  644. data/app/assets/images/glyphish/white/105-piano@2x.png +0 -0
  645. data/app/assets/images/glyphish/white/106-sliders.png +0 -0
  646. data/app/assets/images/glyphish/white/106-sliders@2x.png +0 -0
  647. data/app/assets/images/glyphish/white/107-widescreen.png +0 -0
  648. data/app/assets/images/glyphish/white/107-widescreen@2x.png +0 -0
  649. data/app/assets/images/glyphish/white/108-badge.png +0 -0
  650. data/app/assets/images/glyphish/white/108-badge@2x.png +0 -0
  651. data/app/assets/images/glyphish/white/109-chicken.png +0 -0
  652. data/app/assets/images/glyphish/white/109-chicken@2x.png +0 -0
  653. data/app/assets/images/glyphish/white/11-clock.png +0 -0
  654. data/app/assets/images/glyphish/white/11-clock@2x.png +0 -0
  655. data/app/assets/images/glyphish/white/110-bug.png +0 -0
  656. data/app/assets/images/glyphish/white/110-bug@2x.png +0 -0
  657. data/app/assets/images/glyphish/white/111-user.png +0 -0
  658. data/app/assets/images/glyphish/white/111-user@2x.png +0 -0
  659. data/app/assets/images/glyphish/white/112-group.png +0 -0
  660. data/app/assets/images/glyphish/white/112-group@2x.png +0 -0
  661. data/app/assets/images/glyphish/white/113-navigation.png +0 -0
  662. data/app/assets/images/glyphish/white/113-navigation@2x.png +0 -0
  663. data/app/assets/images/glyphish/white/114-balloon.png +0 -0
  664. data/app/assets/images/glyphish/white/114-balloon@2x.png +0 -0
  665. data/app/assets/images/glyphish/white/115-bow-and-arrow.png +0 -0
  666. data/app/assets/images/glyphish/white/115-bow-and-arrow@2x.png +0 -0
  667. data/app/assets/images/glyphish/white/116-controller.png +0 -0
  668. data/app/assets/images/glyphish/white/116-controller@2x.png +0 -0
  669. data/app/assets/images/glyphish/white/117-todo.png +0 -0
  670. data/app/assets/images/glyphish/white/117-todo@2x.png +0 -0
  671. data/app/assets/images/glyphish/white/118-coat-hanger.png +0 -0
  672. data/app/assets/images/glyphish/white/118-coat-hanger@2x.png +0 -0
  673. data/app/assets/images/glyphish/white/119-piggy-bank.png +0 -0
  674. data/app/assets/images/glyphish/white/119-piggy-bank@2x.png +0 -0
  675. data/app/assets/images/glyphish/white/12-eye.png +0 -0
  676. data/app/assets/images/glyphish/white/12-eye@2x.png +0 -0
  677. data/app/assets/images/glyphish/white/120-headphones.png +0 -0
  678. data/app/assets/images/glyphish/white/120-headphones@2x.png +0 -0
  679. data/app/assets/images/glyphish/white/121-landscape.png +0 -0
  680. data/app/assets/images/glyphish/white/121-landscape@2x.png +0 -0
  681. data/app/assets/images/glyphish/white/122-stats.png +0 -0
  682. data/app/assets/images/glyphish/white/122-stats@2x.png +0 -0
  683. data/app/assets/images/glyphish/white/123-id-card.png +0 -0
  684. data/app/assets/images/glyphish/white/123-id-card@2x.png +0 -0
  685. data/app/assets/images/glyphish/white/124-bullhorn.png +0 -0
  686. data/app/assets/images/glyphish/white/124-bullhorn@2x.png +0 -0
  687. data/app/assets/images/glyphish/white/125-food.png +0 -0
  688. data/app/assets/images/glyphish/white/125-food@2x.png +0 -0
  689. data/app/assets/images/glyphish/white/126-moon.png +0 -0
  690. data/app/assets/images/glyphish/white/126-moon@2x.png +0 -0
  691. data/app/assets/images/glyphish/white/127-sock.png +0 -0
  692. data/app/assets/images/glyphish/white/127-sock@2x.png +0 -0
  693. data/app/assets/images/glyphish/white/128-bone.png +0 -0
  694. data/app/assets/images/glyphish/white/128-bone@2x.png +0 -0
  695. data/app/assets/images/glyphish/white/129-golf.png +0 -0
  696. data/app/assets/images/glyphish/white/129-golf@2x.png +0 -0
  697. data/app/assets/images/glyphish/white/13-target.png +0 -0
  698. data/app/assets/images/glyphish/white/13-target@2x.png +0 -0
  699. data/app/assets/images/glyphish/white/130-dice.png +0 -0
  700. data/app/assets/images/glyphish/white/130-dice@2x.png +0 -0
  701. data/app/assets/images/glyphish/white/131-tower.png +0 -0
  702. data/app/assets/images/glyphish/white/131-tower@2x.png +0 -0
  703. data/app/assets/images/glyphish/white/132-ghost.png +0 -0
  704. data/app/assets/images/glyphish/white/132-ghost@2x.png +0 -0
  705. data/app/assets/images/glyphish/white/133-ufo.png +0 -0
  706. data/app/assets/images/glyphish/white/133-ufo@2x.png +0 -0
  707. data/app/assets/images/glyphish/white/134-viking.png +0 -0
  708. data/app/assets/images/glyphish/white/134-viking@2x.png +0 -0
  709. data/app/assets/images/glyphish/white/135-hockeymask.png +0 -0
  710. data/app/assets/images/glyphish/white/135-hockeymask@2x.png +0 -0
  711. data/app/assets/images/glyphish/white/136-tractor.png +0 -0
  712. data/app/assets/images/glyphish/white/136-tractor@2x.png +0 -0
  713. data/app/assets/images/glyphish/white/137-presentation.png +0 -0
  714. data/app/assets/images/glyphish/white/137-presentation@2x.png +0 -0
  715. data/app/assets/images/glyphish/white/138-scales.png +0 -0
  716. data/app/assets/images/glyphish/white/138-scales@2x.png +0 -0
  717. data/app/assets/images/glyphish/white/139-flags.png +0 -0
  718. data/app/assets/images/glyphish/white/139-flags@2x.png +0 -0
  719. data/app/assets/images/glyphish/white/14-tag.png +0 -0
  720. data/app/assets/images/glyphish/white/14-tag@2x.png +0 -0
  721. data/app/assets/images/glyphish/white/140-gradhat.png +0 -0
  722. data/app/assets/images/glyphish/white/140-gradhat@2x.png +0 -0
  723. data/app/assets/images/glyphish/white/141-lamp.png +0 -0
  724. data/app/assets/images/glyphish/white/141-lamp@2x.png +0 -0
  725. data/app/assets/images/glyphish/white/142-wine-bottle.png +0 -0
  726. data/app/assets/images/glyphish/white/142-wine-bottle@2x.png +0 -0
  727. data/app/assets/images/glyphish/white/143-liquor-bottle.png +0 -0
  728. data/app/assets/images/glyphish/white/143-liquor-bottle@2x.png +0 -0
  729. data/app/assets/images/glyphish/white/144-martini.png +0 -0
  730. data/app/assets/images/glyphish/white/144-martini@2x.png +0 -0
  731. data/app/assets/images/glyphish/white/145-persondot.png +0 -0
  732. data/app/assets/images/glyphish/white/145-persondot@2x.png +0 -0
  733. data/app/assets/images/glyphish/white/146-gavel.png +0 -0
  734. data/app/assets/images/glyphish/white/146-gavel@2x.png +0 -0
  735. data/app/assets/images/glyphish/white/147-popsicle.png +0 -0
  736. data/app/assets/images/glyphish/white/147-popsicle@2x.png +0 -0
  737. data/app/assets/images/glyphish/white/148-doghouse.png +0 -0
  738. data/app/assets/images/glyphish/white/148-doghouse@2x.png +0 -0
  739. data/app/assets/images/glyphish/white/149-windmill.png +0 -0
  740. data/app/assets/images/glyphish/white/149-windmill@2x.png +0 -0
  741. data/app/assets/images/glyphish/white/15-tags.png +0 -0
  742. data/app/assets/images/glyphish/white/15-tags@2x.png +0 -0
  743. data/app/assets/images/glyphish/white/150-sailboat.png +0 -0
  744. data/app/assets/images/glyphish/white/150-sailboat@2x.png +0 -0
  745. data/app/assets/images/glyphish/white/151-telescope.png +0 -0
  746. data/app/assets/images/glyphish/white/151-telescope@2x.png +0 -0
  747. data/app/assets/images/glyphish/white/152-rolodex.png +0 -0
  748. data/app/assets/images/glyphish/white/152-rolodex@2x.png +0 -0
  749. data/app/assets/images/glyphish/white/153-guitar.png +0 -0
  750. data/app/assets/images/glyphish/white/153-guitar@2x.png +0 -0
  751. data/app/assets/images/glyphish/white/154-necktie.png +0 -0
  752. data/app/assets/images/glyphish/white/154-necktie@2x.png +0 -0
  753. data/app/assets/images/glyphish/white/155-bowtie.png +0 -0
  754. data/app/assets/images/glyphish/white/155-bowtie@2x.png +0 -0
  755. data/app/assets/images/glyphish/white/156-controller.png +0 -0
  756. data/app/assets/images/glyphish/white/156-controller@2x.png +0 -0
  757. data/app/assets/images/glyphish/white/157-wrench.png +0 -0
  758. data/app/assets/images/glyphish/white/157-wrench@2x.png +0 -0
  759. data/app/assets/images/glyphish/white/158-wrench-2.png +0 -0
  760. data/app/assets/images/glyphish/white/158-wrench-2@2x.png +0 -0
  761. data/app/assets/images/glyphish/white/159-voicemail.png +0 -0
  762. data/app/assets/images/glyphish/white/159-voicemail@2x.png +0 -0
  763. data/app/assets/images/glyphish/white/16-line-chart.png +0 -0
  764. data/app/assets/images/glyphish/white/16-line-chart@2x.png +0 -0
  765. data/app/assets/images/glyphish/white/160-voicemail-2.png +0 -0
  766. data/app/assets/images/glyphish/white/160-voicemail-2@2x.png +0 -0
  767. data/app/assets/images/glyphish/white/161-calculator.png +0 -0
  768. data/app/assets/images/glyphish/white/161-calculator@2x.png +0 -0
  769. data/app/assets/images/glyphish/white/162-receipt.png +0 -0
  770. data/app/assets/images/glyphish/white/162-receipt@2x.png +0 -0
  771. data/app/assets/images/glyphish/white/163-glasses-1.png +0 -0
  772. data/app/assets/images/glyphish/white/163-glasses-1@2x.png +0 -0
  773. data/app/assets/images/glyphish/white/164-glasses-2.png +0 -0
  774. data/app/assets/images/glyphish/white/164-glasses-2@2x.png +0 -0
  775. data/app/assets/images/glyphish/white/165-glasses-3.png +0 -0
  776. data/app/assets/images/glyphish/white/165-glasses-3@2x.png +0 -0
  777. data/app/assets/images/glyphish/white/166-newspaper.png +0 -0
  778. data/app/assets/images/glyphish/white/166-newspaper@2x.png +0 -0
  779. data/app/assets/images/glyphish/white/167-upload-photo.png +0 -0
  780. data/app/assets/images/glyphish/white/167-upload-photo@2x.png +0 -0
  781. data/app/assets/images/glyphish/white/168-upload-photo-2.png +0 -0
  782. data/app/assets/images/glyphish/white/168-upload-photo-2@2x.png +0 -0
  783. data/app/assets/images/glyphish/white/169-8ball.png +0 -0
  784. data/app/assets/images/glyphish/white/169-8ball@2x.png +0 -0
  785. data/app/assets/images/glyphish/white/17-bar-chart.png +0 -0
  786. data/app/assets/images/glyphish/white/17-bar-chart@2x.png +0 -0
  787. data/app/assets/images/glyphish/white/170-butterfly.png +0 -0
  788. data/app/assets/images/glyphish/white/170-butterfly@2x.png +0 -0
  789. data/app/assets/images/glyphish/white/171-sun.png +0 -0
  790. data/app/assets/images/glyphish/white/171-sun@2x.png +0 -0
  791. data/app/assets/images/glyphish/white/172-pricetag.png +0 -0
  792. data/app/assets/images/glyphish/white/172-pricetag@2x.png +0 -0
  793. data/app/assets/images/glyphish/white/173-eyedropper.png +0 -0
  794. data/app/assets/images/glyphish/white/173-eyedropper@2x.png +0 -0
  795. data/app/assets/images/glyphish/white/174-imac.png +0 -0
  796. data/app/assets/images/glyphish/white/174-imac@2x.png +0 -0
  797. data/app/assets/images/glyphish/white/175-macbook.png +0 -0
  798. data/app/assets/images/glyphish/white/175-macbook@2x.png +0 -0
  799. data/app/assets/images/glyphish/white/176-ipad.png +0 -0
  800. data/app/assets/images/glyphish/white/176-ipad@2x.png +0 -0
  801. data/app/assets/images/glyphish/white/177-building.png +0 -0
  802. data/app/assets/images/glyphish/white/177-building@2x.png +0 -0
  803. data/app/assets/images/glyphish/white/178-city.png +0 -0
  804. data/app/assets/images/glyphish/white/178-city@2x.png +0 -0
  805. data/app/assets/images/glyphish/white/179-notepad.png +0 -0
  806. data/app/assets/images/glyphish/white/179-notepad@2x.png +0 -0
  807. data/app/assets/images/glyphish/white/18-envelope.png +0 -0
  808. data/app/assets/images/glyphish/white/18-envelope@2x.png +0 -0
  809. data/app/assets/images/glyphish/white/180-stickynote.png +0 -0
  810. data/app/assets/images/glyphish/white/180-stickynote@2x.png +0 -0
  811. data/app/assets/images/glyphish/white/181-hammer.png +0 -0
  812. data/app/assets/images/glyphish/white/181-hammer@2x.png +0 -0
  813. data/app/assets/images/glyphish/white/182-messenger-bag.png +0 -0
  814. data/app/assets/images/glyphish/white/182-messenger-bag@2x.png +0 -0
  815. data/app/assets/images/glyphish/white/183-genie-lamp.png +0 -0
  816. data/app/assets/images/glyphish/white/183-genie-lamp@2x.png +0 -0
  817. data/app/assets/images/glyphish/white/184-warning.png +0 -0
  818. data/app/assets/images/glyphish/white/184-warning@2x.png +0 -0
  819. data/app/assets/images/glyphish/white/185-printer.png +0 -0
  820. data/app/assets/images/glyphish/white/185-printer@2x.png +0 -0
  821. data/app/assets/images/glyphish/white/186-ruler.png +0 -0
  822. data/app/assets/images/glyphish/white/186-ruler@2x.png +0 -0
  823. data/app/assets/images/glyphish/white/187-pencil.png +0 -0
  824. data/app/assets/images/glyphish/white/187-pencil@2x.png +0 -0
  825. data/app/assets/images/glyphish/white/188-paint-roller.png +0 -0
  826. data/app/assets/images/glyphish/white/188-paint-roller@2x.png +0 -0
  827. data/app/assets/images/glyphish/white/189-plant.png +0 -0
  828. data/app/assets/images/glyphish/white/189-plant@2x.png +0 -0
  829. data/app/assets/images/glyphish/white/19-gear.png +0 -0
  830. data/app/assets/images/glyphish/white/19-gear@2x.png +0 -0
  831. data/app/assets/images/glyphish/white/190-bank.png +0 -0
  832. data/app/assets/images/glyphish/white/190-bank@2x.png +0 -0
  833. data/app/assets/images/glyphish/white/191-collection.png +0 -0
  834. data/app/assets/images/glyphish/white/191-collection@2x.png +0 -0
  835. data/app/assets/images/glyphish/white/192-credit-card.png +0 -0
  836. data/app/assets/images/glyphish/white/192-credit-card@2x.png +0 -0
  837. data/app/assets/images/glyphish/white/193-location-arrow.png +0 -0
  838. data/app/assets/images/glyphish/white/193-location-arrow@2x.png +0 -0
  839. data/app/assets/images/glyphish/white/194-note-2.png +0 -0
  840. data/app/assets/images/glyphish/white/194-note-2@2x.png +0 -0
  841. data/app/assets/images/glyphish/white/195-barcode.png +0 -0
  842. data/app/assets/images/glyphish/white/195-barcode@2x.png +0 -0
  843. data/app/assets/images/glyphish/white/196-radiation.png +0 -0
  844. data/app/assets/images/glyphish/white/196-radiation@2x.png +0 -0
  845. data/app/assets/images/glyphish/white/197-card-diamonds.png +0 -0
  846. data/app/assets/images/glyphish/white/197-card-diamonds@2x.png +0 -0
  847. data/app/assets/images/glyphish/white/198-card-spades.png +0 -0
  848. data/app/assets/images/glyphish/white/198-card-spades@2x.png +0 -0
  849. data/app/assets/images/glyphish/white/199-card-hearts.png +0 -0
  850. data/app/assets/images/glyphish/white/199-card-hearts@2x.png +0 -0
  851. data/app/assets/images/glyphish/white/20-gear-2.png +0 -0
  852. data/app/assets/images/glyphish/white/20-gear-2@2x.png +0 -0
  853. data/app/assets/images/glyphish/white/200-card-clubs.png +0 -0
  854. data/app/assets/images/glyphish/white/200-card-clubs@2x.png +0 -0
  855. data/app/assets/images/glyphish/white/201-vampire.png +0 -0
  856. data/app/assets/images/glyphish/white/201-vampire@2x.png +0 -0
  857. data/app/assets/images/glyphish/white/202-alien.png +0 -0
  858. data/app/assets/images/glyphish/white/202-alien@2x.png +0 -0
  859. data/app/assets/images/glyphish/white/203-spiderweb.png +0 -0
  860. data/app/assets/images/glyphish/white/203-spiderweb@2x.png +0 -0
  861. data/app/assets/images/glyphish/white/204-wallet.png +0 -0
  862. data/app/assets/images/glyphish/white/204-wallet@2x.png +0 -0
  863. data/app/assets/images/glyphish/white/205-factory.png +0 -0
  864. data/app/assets/images/glyphish/white/205-factory@2x.png +0 -0
  865. data/app/assets/images/glyphish/white/206-evernote.png +0 -0
  866. data/app/assets/images/glyphish/white/206-evernote@2x.png +0 -0
  867. data/app/assets/images/glyphish/white/207-dropbox.png +0 -0
  868. data/app/assets/images/glyphish/white/207-dropbox@2x.png +0 -0
  869. data/app/assets/images/glyphish/white/208-facebook.png +0 -0
  870. data/app/assets/images/glyphish/white/208-facebook@2x.png +0 -0
  871. data/app/assets/images/glyphish/white/209-twitter.png +0 -0
  872. data/app/assets/images/glyphish/white/209-twitter@2x.png +0 -0
  873. data/app/assets/images/glyphish/white/21-skull.png +0 -0
  874. data/app/assets/images/glyphish/white/21-skull@2x.png +0 -0
  875. data/app/assets/images/glyphish/white/210-twitterbird.png +0 -0
  876. data/app/assets/images/glyphish/white/210-twitterbird@2x.png +0 -0
  877. data/app/assets/images/glyphish/white/211-action.png +0 -0
  878. data/app/assets/images/glyphish/white/211-action@2x.png +0 -0
  879. data/app/assets/images/glyphish/white/212-action2.png +0 -0
  880. data/app/assets/images/glyphish/white/212-action2@2x.png +0 -0
  881. data/app/assets/images/glyphish/white/213-reply.png +0 -0
  882. data/app/assets/images/glyphish/white/213-reply@2x.png +0 -0
  883. data/app/assets/images/glyphish/white/214-replyall.png +0 -0
  884. data/app/assets/images/glyphish/white/214-replyall@2x.png +0 -0
  885. data/app/assets/images/glyphish/white/215-subscription.png +0 -0
  886. data/app/assets/images/glyphish/white/215-subscription@2x.png +0 -0
  887. data/app/assets/images/glyphish/white/216-compose.png +0 -0
  888. data/app/assets/images/glyphish/white/216-compose@2x.png +0 -0
  889. data/app/assets/images/glyphish/white/217-trash.png +0 -0
  890. data/app/assets/images/glyphish/white/217-trash@2x.png +0 -0
  891. data/app/assets/images/glyphish/white/218-trash2.png +0 -0
  892. data/app/assets/images/glyphish/white/218-trash2@2x.png +0 -0
  893. data/app/assets/images/glyphish/white/219-scissors.png +0 -0
  894. data/app/assets/images/glyphish/white/219-scissors@2x.png +0 -0
  895. data/app/assets/images/glyphish/white/22-skull-n-bones.png +0 -0
  896. data/app/assets/images/glyphish/white/22-skull-n-bones@2x.png +0 -0
  897. data/app/assets/images/glyphish/white/220-coupon.png +0 -0
  898. data/app/assets/images/glyphish/white/220-coupon@2x.png +0 -0
  899. data/app/assets/images/glyphish/white/221-recordplayer.png +0 -0
  900. data/app/assets/images/glyphish/white/221-recordplayer@2x.png +0 -0
  901. data/app/assets/images/glyphish/white/222-bacon.png +0 -0
  902. data/app/assets/images/glyphish/white/222-bacon@2x.png +0 -0
  903. data/app/assets/images/glyphish/white/223-magnet.png +0 -0
  904. data/app/assets/images/glyphish/white/223-magnet@2x.png +0 -0
  905. data/app/assets/images/glyphish/white/224-flower.png +0 -0
  906. data/app/assets/images/glyphish/white/224-flower@2x.png +0 -0
  907. data/app/assets/images/glyphish/white/225-plant.png +0 -0
  908. data/app/assets/images/glyphish/white/225-plant@2x.png +0 -0
  909. data/app/assets/images/glyphish/white/226-egg.png +0 -0
  910. data/app/assets/images/glyphish/white/226-egg@2x.png +0 -0
  911. data/app/assets/images/glyphish/white/227-psp.png +0 -0
  912. data/app/assets/images/glyphish/white/227-psp@2x.png +0 -0
  913. data/app/assets/images/glyphish/white/228-nescontroller.png +0 -0
  914. data/app/assets/images/glyphish/white/228-nescontroller@2x.png +0 -0
  915. data/app/assets/images/glyphish/white/229-gba.png +0 -0
  916. data/app/assets/images/glyphish/white/229-gba@2x.png +0 -0
  917. data/app/assets/images/glyphish/white/23-bird.png +0 -0
  918. data/app/assets/images/glyphish/white/23-bird@2x.png +0 -0
  919. data/app/assets/images/glyphish/white/230-wiimote.png +0 -0
  920. data/app/assets/images/glyphish/white/230-wiimote@2x.png +0 -0
  921. data/app/assets/images/glyphish/white/231-birdhouse.png +0 -0
  922. data/app/assets/images/glyphish/white/231-birdhouse@2x.png +0 -0
  923. data/app/assets/images/glyphish/white/232-whale.png +0 -0
  924. data/app/assets/images/glyphish/white/232-whale@2x.png +0 -0
  925. data/app/assets/images/glyphish/white/233-fish.png +0 -0
  926. data/app/assets/images/glyphish/white/233-fish@2x.png +0 -0
  927. data/app/assets/images/glyphish/white/234-cloud.png +0 -0
  928. data/app/assets/images/glyphish/white/234-cloud@2x.png +0 -0
  929. data/app/assets/images/glyphish/white/235-purse.png +0 -0
  930. data/app/assets/images/glyphish/white/235-purse@2x.png +0 -0
  931. data/app/assets/images/glyphish/white/236-shoppingbag.png +0 -0
  932. data/app/assets/images/glyphish/white/236-shoppingbag@2x.png +0 -0
  933. data/app/assets/images/glyphish/white/237-key.png +0 -0
  934. data/app/assets/images/glyphish/white/237-key@2x.png +0 -0
  935. data/app/assets/images/glyphish/white/238-road.png +0 -0
  936. data/app/assets/images/glyphish/white/238-road@2x.png +0 -0
  937. data/app/assets/images/glyphish/white/239-screen.png +0 -0
  938. data/app/assets/images/glyphish/white/239-screen@2x.png +0 -0
  939. data/app/assets/images/glyphish/white/24-gift.png +0 -0
  940. data/app/assets/images/glyphish/white/24-gift@2x.png +0 -0
  941. data/app/assets/images/glyphish/white/240-sketchbook.png +0 -0
  942. data/app/assets/images/glyphish/white/240-sketchbook@2x.png +0 -0
  943. data/app/assets/images/glyphish/white/241-cleaver.png +0 -0
  944. data/app/assets/images/glyphish/white/241-cleaver@2x.png +0 -0
  945. data/app/assets/images/glyphish/white/242-ramen.png +0 -0
  946. data/app/assets/images/glyphish/white/242-ramen@2x.png +0 -0
  947. data/app/assets/images/glyphish/white/243-globe.png +0 -0
  948. data/app/assets/images/glyphish/white/243-globe@2x.png +0 -0
  949. data/app/assets/images/glyphish/white/244-rubberstamp.png +0 -0
  950. data/app/assets/images/glyphish/white/244-rubberstamp@2x.png +0 -0
  951. data/app/assets/images/glyphish/white/245-paperairplane.png +0 -0
  952. data/app/assets/images/glyphish/white/245-paperairplane@2x.png +0 -0
  953. data/app/assets/images/glyphish/white/246-route.png +0 -0
  954. data/app/assets/images/glyphish/white/246-route@2x.png +0 -0
  955. data/app/assets/images/glyphish/white/247-dancesteps.png +0 -0
  956. data/app/assets/images/glyphish/white/247-dancesteps@2x.png +0 -0
  957. data/app/assets/images/glyphish/white/248-sign.png +0 -0
  958. data/app/assets/images/glyphish/white/248-sign@2x.png +0 -0
  959. data/app/assets/images/glyphish/white/249-piechart.png +0 -0
  960. data/app/assets/images/glyphish/white/249-piechart@2x.png +0 -0
  961. data/app/assets/images/glyphish/white/25-weather.png +0 -0
  962. data/app/assets/images/glyphish/white/25-weather@2x.png +0 -0
  963. data/app/assets/images/glyphish/white/250-stats.png +0 -0
  964. data/app/assets/images/glyphish/white/250-stats@2x.png +0 -0
  965. data/app/assets/images/glyphish/white/251-sword.png +0 -0
  966. data/app/assets/images/glyphish/white/251-sword@2x.png +0 -0
  967. data/app/assets/images/glyphish/white/252-lure.png +0 -0
  968. data/app/assets/images/glyphish/white/252-lure@2x.png +0 -0
  969. data/app/assets/images/glyphish/white/253-person.png +0 -0
  970. data/app/assets/images/glyphish/white/253-person@2x.png +0 -0
  971. data/app/assets/images/glyphish/white/254-barrier.png +0 -0
  972. data/app/assets/images/glyphish/white/254-barrier@2x.png +0 -0
  973. data/app/assets/images/glyphish/white/255-box.png +0 -0
  974. data/app/assets/images/glyphish/white/255-box@2x.png +0 -0
  975. data/app/assets/images/glyphish/white/256-box2.png +0 -0
  976. data/app/assets/images/glyphish/white/256-box2@2x.png +0 -0
  977. data/app/assets/images/glyphish/white/257-box3.png +0 -0
  978. data/app/assets/images/glyphish/white/257-box3@2x.png +0 -0
  979. data/app/assets/images/glyphish/white/258-checkmark.png +0 -0
  980. data/app/assets/images/glyphish/white/258-checkmark@2x.png +0 -0
  981. data/app/assets/images/glyphish/white/259-list.png +0 -0
  982. data/app/assets/images/glyphish/white/259-list@2x.png +0 -0
  983. data/app/assets/images/glyphish/white/26-bandaid.png +0 -0
  984. data/app/assets/images/glyphish/white/26-bandaid@2x.png +0 -0
  985. data/app/assets/images/glyphish/white/260-count.png +0 -0
  986. data/app/assets/images/glyphish/white/260-count@2x.png +0 -0
  987. data/app/assets/images/glyphish/white/261-album-closed.png +0 -0
  988. data/app/assets/images/glyphish/white/261-album-closed@2x.png +0 -0
  989. data/app/assets/images/glyphish/white/262-album-open.png +0 -0
  990. data/app/assets/images/glyphish/white/262-album-open@2x.png +0 -0
  991. data/app/assets/images/glyphish/white/263-sound-off.png +0 -0
  992. data/app/assets/images/glyphish/white/263-sound-off@2x.png +0 -0
  993. data/app/assets/images/glyphish/white/264-sound-on.png +0 -0
  994. data/app/assets/images/glyphish/white/264-sound-on@2x.png +0 -0
  995. data/app/assets/images/glyphish/white/265-download.png +0 -0
  996. data/app/assets/images/glyphish/white/265-download@2x.png +0 -0
  997. data/app/assets/images/glyphish/white/266-upload.png +0 -0
  998. data/app/assets/images/glyphish/white/266-upload@2x.png +0 -0
  999. data/app/assets/images/glyphish/white/267-zoomin.png +0 -0
  1000. data/app/assets/images/glyphish/white/267-zoomin@2x.png +0 -0
  1001. data/app/assets/images/glyphish/white/268-zoomout.png +0 -0
  1002. data/app/assets/images/glyphish/white/268-zoomout@2x.png +0 -0
  1003. data/app/assets/images/glyphish/white/269-happyface.png +0 -0
  1004. data/app/assets/images/glyphish/white/269-happyface@2x.png +0 -0
  1005. data/app/assets/images/glyphish/white/27-planet.png +0 -0
  1006. data/app/assets/images/glyphish/white/27-planet@2x.png +0 -0
  1007. data/app/assets/images/glyphish/white/270-unhappyface.png +0 -0
  1008. data/app/assets/images/glyphish/white/270-unhappyface@2x.png +0 -0
  1009. data/app/assets/images/glyphish/white/271-dramamasks.png +0 -0
  1010. data/app/assets/images/glyphish/white/271-dramamasks@2x.png +0 -0
  1011. data/app/assets/images/glyphish/white/272-windows.png +0 -0
  1012. data/app/assets/images/glyphish/white/272-windows@2x.png +0 -0
  1013. data/app/assets/images/glyphish/white/273-grapes.png +0 -0
  1014. data/app/assets/images/glyphish/white/273-grapes@2x.png +0 -0
  1015. data/app/assets/images/glyphish/white/274-router.png +0 -0
  1016. data/app/assets/images/glyphish/white/274-router@2x.png +0 -0
  1017. data/app/assets/images/glyphish/white/275-broadcast.png +0 -0
  1018. data/app/assets/images/glyphish/white/275-broadcast@2x.png +0 -0
  1019. data/app/assets/images/glyphish/white/276-poison.png +0 -0
  1020. data/app/assets/images/glyphish/white/276-poison@2x.png +0 -0
  1021. data/app/assets/images/glyphish/white/277-lighting.png +0 -0
  1022. data/app/assets/images/glyphish/white/277-lighting@2x.png +0 -0
  1023. data/app/assets/images/glyphish/white/278-flipcam.png +0 -0
  1024. data/app/assets/images/glyphish/white/278-flipcam@2x.png +0 -0
  1025. data/app/assets/images/glyphish/white/279-videocamera.png +0 -0
  1026. data/app/assets/images/glyphish/white/279-videocamera@2x.png +0 -0
  1027. data/app/assets/images/glyphish/white/28-star.png +0 -0
  1028. data/app/assets/images/glyphish/white/28-star@2x.png +0 -0
  1029. data/app/assets/images/glyphish/white/280-clapboard.png +0 -0
  1030. data/app/assets/images/glyphish/white/280-clapboard@2x.png +0 -0
  1031. data/app/assets/images/glyphish/white/281-crown.png +0 -0
  1032. data/app/assets/images/glyphish/white/281-crown@2x.png +0 -0
  1033. data/app/assets/images/glyphish/white/282-cards.png +0 -0
  1034. data/app/assets/images/glyphish/white/282-cards@2x.png +0 -0
  1035. data/app/assets/images/glyphish/white/283-bomb.png +0 -0
  1036. data/app/assets/images/glyphish/white/283-bomb@2x.png +0 -0
  1037. data/app/assets/images/glyphish/white/284-bell.png +0 -0
  1038. data/app/assets/images/glyphish/white/284-bell@2x.png +0 -0
  1039. data/app/assets/images/glyphish/white/285-facetime.png +0 -0
  1040. data/app/assets/images/glyphish/white/285-facetime@2x.png +0 -0
  1041. data/app/assets/images/glyphish/white/286-speechbubble.png +0 -0
  1042. data/app/assets/images/glyphish/white/286-speechbubble@2x.png +0 -0
  1043. data/app/assets/images/glyphish/white/287-at.png +0 -0
  1044. data/app/assets/images/glyphish/white/287-at@2x.png +0 -0
  1045. data/app/assets/images/glyphish/white/288-retweet.png +0 -0
  1046. data/app/assets/images/glyphish/white/288-retweet@2x.png +0 -0
  1047. data/app/assets/images/glyphish/white/289-rocket.png +0 -0
  1048. data/app/assets/images/glyphish/white/289-rocket@2x.png +0 -0
  1049. data/app/assets/images/glyphish/white/29-heart.png +0 -0
  1050. data/app/assets/images/glyphish/white/29-heart@2x.png +0 -0
  1051. data/app/assets/images/glyphish/white/290-bomb2.png +0 -0
  1052. data/app/assets/images/glyphish/white/290-bomb2@2x.png +0 -0
  1053. data/app/assets/images/glyphish/white/291-idcard.png +0 -0
  1054. data/app/assets/images/glyphish/white/291-idcard@2x.png +0 -0
  1055. data/app/assets/images/glyphish/white/292-crop.png +0 -0
  1056. data/app/assets/images/glyphish/white/292-crop@2x.png +0 -0
  1057. data/app/assets/images/glyphish/white/293-database.png +0 -0
  1058. data/app/assets/images/glyphish/white/293-database@2x.png +0 -0
  1059. data/app/assets/images/glyphish/white/294-macroflower.png +0 -0
  1060. data/app/assets/images/glyphish/white/294-macroflower@2x.png +0 -0
  1061. data/app/assets/images/glyphish/white/295-shield.png +0 -0
  1062. data/app/assets/images/glyphish/white/295-shield@2x.png +0 -0
  1063. data/app/assets/images/glyphish/white/296-pizza.png +0 -0
  1064. data/app/assets/images/glyphish/white/296-pizza@2x.png +0 -0
  1065. data/app/assets/images/glyphish/white/297-speaker.png +0 -0
  1066. data/app/assets/images/glyphish/white/297-speaker@2x.png +0 -0
  1067. data/app/assets/images/glyphish/white/298-circlex.png +0 -0
  1068. data/app/assets/images/glyphish/white/298-circlex@2x.png +0 -0
  1069. data/app/assets/images/glyphish/white/299-ticket.png +0 -0
  1070. data/app/assets/images/glyphish/white/299-ticket@2x.png +0 -0
  1071. data/app/assets/images/glyphish/white/30-key.png +0 -0
  1072. data/app/assets/images/glyphish/white/30-key@2x.png +0 -0
  1073. data/app/assets/images/glyphish/white/300-orgchart.png +0 -0
  1074. data/app/assets/images/glyphish/white/300-orgchart@2x.png +0 -0
  1075. data/app/assets/images/glyphish/white/31-ipod.png +0 -0
  1076. data/app/assets/images/glyphish/white/31-ipod@2x.png +0 -0
  1077. data/app/assets/images/glyphish/white/32-iphone.png +0 -0
  1078. data/app/assets/images/glyphish/white/32-iphone@2x.png +0 -0
  1079. data/app/assets/images/glyphish/white/33-cabinet.png +0 -0
  1080. data/app/assets/images/glyphish/white/33-cabinet@2x.png +0 -0
  1081. data/app/assets/images/glyphish/white/34-coffee.png +0 -0
  1082. data/app/assets/images/glyphish/white/34-coffee@2x.png +0 -0
  1083. data/app/assets/images/glyphish/white/35-shopping.png +0 -0
  1084. data/app/assets/images/glyphish/white/35-shopping@2x.png +0 -0
  1085. data/app/assets/images/glyphish/white/36-toolbox.png +0 -0
  1086. data/app/assets/images/glyphish/white/36-toolbox@2x.png +0 -0
  1087. data/app/assets/images/glyphish/white/37-suitcase.png +0 -0
  1088. data/app/assets/images/glyphish/white/37-suitcase@2x.png +0 -0
  1089. data/app/assets/images/glyphish/white/38-airplane.png +0 -0
  1090. data/app/assets/images/glyphish/white/38-airplane@2x.png +0 -0
  1091. data/app/assets/images/glyphish/white/39-spraycan.png +0 -0
  1092. data/app/assets/images/glyphish/white/39-spraycan@2x.png +0 -0
  1093. data/app/assets/images/glyphish/white/40-inbox.png +0 -0
  1094. data/app/assets/images/glyphish/white/40-inbox@2x.png +0 -0
  1095. data/app/assets/images/glyphish/white/41-picture-frame.png +0 -0
  1096. data/app/assets/images/glyphish/white/41-picture-frame@2x.png +0 -0
  1097. data/app/assets/images/glyphish/white/42-photos.png +0 -0
  1098. data/app/assets/images/glyphish/white/42-photos@2x.png +0 -0
  1099. data/app/assets/images/glyphish/white/43-film-roll.png +0 -0
  1100. data/app/assets/images/glyphish/white/43-film-roll@2x.png +0 -0
  1101. data/app/assets/images/glyphish/white/44-shoebox.png +0 -0
  1102. data/app/assets/images/glyphish/white/44-shoebox@2x.png +0 -0
  1103. data/app/assets/images/glyphish/white/45-movie-1.png +0 -0
  1104. data/app/assets/images/glyphish/white/45-movie-1@2x.png +0 -0
  1105. data/app/assets/images/glyphish/white/46-movie-2.png +0 -0
  1106. data/app/assets/images/glyphish/white/46-movie-2@2x.png +0 -0
  1107. data/app/assets/images/glyphish/white/47-fuel.png +0 -0
  1108. data/app/assets/images/glyphish/white/47-fuel@2x.png +0 -0
  1109. data/app/assets/images/glyphish/white/48-fork-and-knife.png +0 -0
  1110. data/app/assets/images/glyphish/white/48-fork-and-knife@2x.png +0 -0
  1111. data/app/assets/images/glyphish/white/49-battery.png +0 -0
  1112. data/app/assets/images/glyphish/white/49-battery@2x.png +0 -0
  1113. data/app/assets/images/glyphish/white/50-beaker.png +0 -0
  1114. data/app/assets/images/glyphish/white/50-beaker@2x.png +0 -0
  1115. data/app/assets/images/glyphish/white/51-outlet.png +0 -0
  1116. data/app/assets/images/glyphish/white/51-outlet@2x.png +0 -0
  1117. data/app/assets/images/glyphish/white/52-pine-tree.png +0 -0
  1118. data/app/assets/images/glyphish/white/52-pine-tree@2x.png +0 -0
  1119. data/app/assets/images/glyphish/white/53-house.png +0 -0
  1120. data/app/assets/images/glyphish/white/53-house@2x.png +0 -0
  1121. data/app/assets/images/glyphish/white/54-lock.png +0 -0
  1122. data/app/assets/images/glyphish/white/54-lock@2x.png +0 -0
  1123. data/app/assets/images/glyphish/white/55-network.png +0 -0
  1124. data/app/assets/images/glyphish/white/55-network@2x.png +0 -0
  1125. data/app/assets/images/glyphish/white/56-cloud.png +0 -0
  1126. data/app/assets/images/glyphish/white/56-cloud@2x.png +0 -0
  1127. data/app/assets/images/glyphish/white/57-download.png +0 -0
  1128. data/app/assets/images/glyphish/white/57-download@2x.png +0 -0
  1129. data/app/assets/images/glyphish/white/58-bookmark.png +0 -0
  1130. data/app/assets/images/glyphish/white/58-bookmark@2x.png +0 -0
  1131. data/app/assets/images/glyphish/white/59-flag.png +0 -0
  1132. data/app/assets/images/glyphish/white/59-flag@2x.png +0 -0
  1133. data/app/assets/images/glyphish/white/60-signpost.png +0 -0
  1134. data/app/assets/images/glyphish/white/60-signpost@2x.png +0 -0
  1135. data/app/assets/images/glyphish/white/61-brightness.png +0 -0
  1136. data/app/assets/images/glyphish/white/61-brightness@2x.png +0 -0
  1137. data/app/assets/images/glyphish/white/62-contrast.png +0 -0
  1138. data/app/assets/images/glyphish/white/62-contrast@2x.png +0 -0
  1139. data/app/assets/images/glyphish/white/63-runner.png +0 -0
  1140. data/app/assets/images/glyphish/white/63-runner@2x.png +0 -0
  1141. data/app/assets/images/glyphish/white/64-zap.png +0 -0
  1142. data/app/assets/images/glyphish/white/64-zap@2x.png +0 -0
  1143. data/app/assets/images/glyphish/white/65-note.png +0 -0
  1144. data/app/assets/images/glyphish/white/65-note@2x.png +0 -0
  1145. data/app/assets/images/glyphish/white/66-microphone.png +0 -0
  1146. data/app/assets/images/glyphish/white/66-microphone@2x.png +0 -0
  1147. data/app/assets/images/glyphish/white/67-tshirt.png +0 -0
  1148. data/app/assets/images/glyphish/white/67-tshirt@2x.png +0 -0
  1149. data/app/assets/images/glyphish/white/68-paperclip.png +0 -0
  1150. data/app/assets/images/glyphish/white/68-paperclip@2x.png +0 -0
  1151. data/app/assets/images/glyphish/white/69-display.png +0 -0
  1152. data/app/assets/images/glyphish/white/69-display@2x.png +0 -0
  1153. data/app/assets/images/glyphish/white/70-tv.png +0 -0
  1154. data/app/assets/images/glyphish/white/70-tv@2x.png +0 -0
  1155. data/app/assets/images/glyphish/white/71-compass.png +0 -0
  1156. data/app/assets/images/glyphish/white/71-compass@2x.png +0 -0
  1157. data/app/assets/images/glyphish/white/72-pin.png +0 -0
  1158. data/app/assets/images/glyphish/white/72-pin@2x.png +0 -0
  1159. data/app/assets/images/glyphish/white/73-radar.png +0 -0
  1160. data/app/assets/images/glyphish/white/73-radar@2x.png +0 -0
  1161. data/app/assets/images/glyphish/white/74-location.png +0 -0
  1162. data/app/assets/images/glyphish/white/74-location@2x.png +0 -0
  1163. data/app/assets/images/glyphish/white/75-phone.png +0 -0
  1164. data/app/assets/images/glyphish/white/75-phone@2x.png +0 -0
  1165. data/app/assets/images/glyphish/white/76-baby.png +0 -0
  1166. data/app/assets/images/glyphish/white/76-baby@2x.png +0 -0
  1167. data/app/assets/images/glyphish/white/77-ekg.png +0 -0
  1168. data/app/assets/images/glyphish/white/77-ekg@2x.png +0 -0
  1169. data/app/assets/images/glyphish/white/78-stopwatch.png +0 -0
  1170. data/app/assets/images/glyphish/white/78-stopwatch@2x.png +0 -0
  1171. data/app/assets/images/glyphish/white/79-medical-bag.png +0 -0
  1172. data/app/assets/images/glyphish/white/79-medical-bag@2x.png +0 -0
  1173. data/app/assets/images/glyphish/white/80-shopping-cart.png +0 -0
  1174. data/app/assets/images/glyphish/white/80-shopping-cart@2x.png +0 -0
  1175. data/app/assets/images/glyphish/white/81-dashboard.png +0 -0
  1176. data/app/assets/images/glyphish/white/81-dashboard@2x.png +0 -0
  1177. data/app/assets/images/glyphish/white/82-dog-paw.png +0 -0
  1178. data/app/assets/images/glyphish/white/82-dog-paw@2x.png +0 -0
  1179. data/app/assets/images/glyphish/white/83-calendar.png +0 -0
  1180. data/app/assets/images/glyphish/white/83-calendar@2x.png +0 -0
  1181. data/app/assets/images/glyphish/white/84-lightbulb.png +0 -0
  1182. data/app/assets/images/glyphish/white/84-lightbulb@2x.png +0 -0
  1183. data/app/assets/images/glyphish/white/85-trophy.png +0 -0
  1184. data/app/assets/images/glyphish/white/85-trophy@2x.png +0 -0
  1185. data/app/assets/images/glyphish/white/86-camera.png +0 -0
  1186. data/app/assets/images/glyphish/white/86-camera@2x.png +0 -0
  1187. data/app/assets/images/glyphish/white/87-wine-glass.png +0 -0
  1188. data/app/assets/images/glyphish/white/87-wine-glass@2x.png +0 -0
  1189. data/app/assets/images/glyphish/white/88-beer-glass.png +0 -0
  1190. data/app/assets/images/glyphish/white/88-beer-glass@2x.png +0 -0
  1191. data/app/assets/images/glyphish/white/89-dumbells.png +0 -0
  1192. data/app/assets/images/glyphish/white/89-dumbells@2x.png +0 -0
  1193. data/app/assets/images/glyphish/white/90-lifebuoy.png +0 -0
  1194. data/app/assets/images/glyphish/white/90-lifebuoy@2x.png +0 -0
  1195. data/app/assets/images/glyphish/white/91-beaker-2.png +0 -0
  1196. data/app/assets/images/glyphish/white/91-beaker-2@2x.png +0 -0
  1197. data/app/assets/images/glyphish/white/92-test-tube.png +0 -0
  1198. data/app/assets/images/glyphish/white/92-test-tube@2x.png +0 -0
  1199. data/app/assets/images/glyphish/white/93-thermometer.png +0 -0
  1200. data/app/assets/images/glyphish/white/93-thermometer@2x.png +0 -0
  1201. data/app/assets/images/glyphish/white/94-pill.png +0 -0
  1202. data/app/assets/images/glyphish/white/94-pill@2x.png +0 -0
  1203. data/app/assets/images/glyphish/white/95-equalizer.png +0 -0
  1204. data/app/assets/images/glyphish/white/95-equalizer@2x.png +0 -0
  1205. data/app/assets/images/glyphish/white/96-book.png +0 -0
  1206. data/app/assets/images/glyphish/white/96-book@2x.png +0 -0
  1207. data/app/assets/images/glyphish/white/97-puzzle-piece.png +0 -0
  1208. data/app/assets/images/glyphish/white/97-puzzle-piece@2x.png +0 -0
  1209. data/app/assets/images/glyphish/white/98-palette.png +0 -0
  1210. data/app/assets/images/glyphish/white/98-palette@2x.png +0 -0
  1211. data/app/assets/images/glyphish/white/99-umbrella.png +0 -0
  1212. data/app/assets/images/glyphish/white/99-umbrella@2x.png +0 -0
  1213. data/app/assets/images/storefront/cvv.gif +0 -0
  1214. data/app/assets/images/storefront/event-image-default.jpg +0 -0
  1215. data/app/assets/images/storefront/lock.png +0 -0
  1216. data/app/assets/images/ui-lightness/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  1217. data/app/assets/images/ui-lightness/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  1218. data/app/assets/images/ui-lightness/ui-bg_flat_10_000000_40x100.png +0 -0
  1219. data/app/assets/images/ui-lightness/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  1220. data/app/assets/images/ui-lightness/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  1221. data/app/assets/images/ui-lightness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1222. data/app/assets/images/ui-lightness/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  1223. data/app/assets/images/ui-lightness/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  1224. data/app/assets/images/ui-lightness/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  1225. data/app/assets/images/ui-lightness/ui-icons_222222_256x240.png +0 -0
  1226. data/app/assets/images/ui-lightness/ui-icons_228ef1_256x240.png +0 -0
  1227. data/app/assets/images/ui-lightness/ui-icons_ef8c08_256x240.png +0 -0
  1228. data/app/assets/images/ui-lightness/ui-icons_ffd27a_256x240.png +0 -0
  1229. data/app/assets/images/ui-lightness/ui-icons_ffffff_256x240.png +0 -0
  1230. data/app/assets/images/ui-smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1231. data/app/assets/images/ui-smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1232. data/app/assets/images/ui-smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1233. data/app/assets/images/ui-smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1234. data/app/assets/images/ui-smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
  1235. data/app/assets/images/ui-smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1236. data/app/assets/images/ui-smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1237. data/app/assets/images/ui-smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1238. data/app/assets/images/ui-smoothness/ui-icons_222222_256x240.png +0 -0
  1239. data/app/assets/images/ui-smoothness/ui-icons_2e83ff_256x240.png +0 -0
  1240. data/app/assets/images/ui-smoothness/ui-icons_454545_256x240.png +0 -0
  1241. data/app/assets/images/ui-smoothness/ui-icons_888888_256x240.png +0 -0
  1242. data/app/assets/images/ui-smoothness/ui-icons_cd0a0a_256x240.png +0 -0
  1243. data/app/assets/javascripts/application.js +310 -0
  1244. data/app/assets/javascripts/bootstrap.js +1726 -0
  1245. data/app/assets/javascripts/box-office.js +240 -0
  1246. data/app/assets/javascripts/custom/grouped-form.js +95 -0
  1247. data/app/assets/javascripts/custom/imports.js +11 -0
  1248. data/app/assets/javascripts/custom/inline-people-search.js +83 -0
  1249. data/app/assets/javascripts/custom/people.js +129 -0
  1250. data/app/assets/javascripts/custom/prices.js +10 -0
  1251. data/app/assets/javascripts/custom/show.js +78 -0
  1252. data/app/assets/javascripts/custom/widget-generator.js +29 -0
  1253. data/app/assets/javascripts/jquery-lib/fullcalendar.min.js +113 -0
  1254. data/app/assets/javascripts/jquery-lib/index.js +1 -0
  1255. data/app/assets/javascripts/jquery-lib/jquery-ui-1.8.14.custom.min.js +570 -0
  1256. data/app/assets/javascripts/jquery-lib/jquery-ui-autocomplete-html.js +40 -0
  1257. data/app/assets/javascripts/jquery-lib/jquery-ui-timepicker-addon.js +1060 -0
  1258. data/app/assets/javascripts/jquery-lib/jquery.formatCurrency-1.4.0.min.js +25 -0
  1259. data/app/assets/javascripts/jquery-lib/jquery.gritter.min.js +29 -0
  1260. data/app/assets/javascripts/jquery-lib/jquery.jeditable.js +543 -0
  1261. data/app/assets/javascripts/jquery-lib/jquery.mask-money.js +324 -0
  1262. data/app/assets/javascripts/jquery.js +9266 -0
  1263. data/app/assets/javascripts/jquery_ujs.js +316 -0
  1264. data/app/assets/javascripts/store/index.js +4 -0
  1265. data/app/assets/javascripts/store/jquery.validate.additional-methods.js +300 -0
  1266. data/app/assets/javascripts/store/jquery.validate.js +1188 -0
  1267. data/app/assets/javascripts/store/sliding-wizard.js +218 -0
  1268. data/app/assets/javascripts/store/store.js +365 -0
  1269. data/app/assets/javascripts/storefront.js +7 -0
  1270. data/app/assets/stylesheets/application.sass +263 -0
  1271. data/app/assets/stylesheets/bootstrap-overrides.css +269 -0
  1272. data/app/assets/stylesheets/bootstrap.css +3993 -0
  1273. data/app/assets/stylesheets/jquery/fullcalendar.css +618 -0
  1274. data/app/assets/stylesheets/jquery/jquery-ui.css +568 -0
  1275. data/app/assets/stylesheets/jquery/jquery.gritter.css +88 -0
  1276. data/app/assets/stylesheets/jquery/jquery.visualize.css +31 -0
  1277. data/app/assets/stylesheets/printing.css +15 -0
  1278. data/app/assets/stylesheets/reset.css +48 -0
  1279. data/app/assets/stylesheets/sass/_colors.sass +49 -0
  1280. data/app/assets/stylesheets/sass/_flash.sass +30 -0
  1281. data/app/assets/stylesheets/sass/_mixins.sass +37 -0
  1282. data/app/assets/stylesheets/sass/_tags.sass +38 -0
  1283. data/app/assets/stylesheets/sass/box-office.sass +53 -0
  1284. data/app/assets/stylesheets/sass/cart.sass +152 -0
  1285. data/app/assets/stylesheets/sass/sliding-wizard.sass +5 -0
  1286. data/app/assets/stylesheets/sass/store.sass +296 -0
  1287. data/app/assets/stylesheets/sass/themes/default.sass +63 -0
  1288. data/app/assets/stylesheets/storefront.css +6 -0
  1289. data/app/controllers/actions_controller.rb +59 -0
  1290. data/app/controllers/addresses_controller.rb +31 -0
  1291. data/app/controllers/artfully_ose_controller.rb +42 -0
  1292. data/app/controllers/charts_controller.rb +9 -0
  1293. data/app/controllers/comps_controller.rb +47 -0
  1294. data/app/controllers/contributions_controller.rb +40 -0
  1295. data/app/controllers/events_controller.rb +149 -0
  1296. data/app/controllers/exchanges_controller.rb +48 -0
  1297. data/app/controllers/export_controller.rb +24 -0
  1298. data/app/controllers/imports_controller.rb +68 -0
  1299. data/app/controllers/index_controller.rb +20 -0
  1300. data/app/controllers/memberships_controller.rb +56 -0
  1301. data/app/controllers/merges_controller.rb +37 -0
  1302. data/app/controllers/notes_controller.rb +53 -0
  1303. data/app/controllers/orders_controller.rb +64 -0
  1304. data/app/controllers/organizations_controller.rb +66 -0
  1305. data/app/controllers/pages_controller.rb +29 -0
  1306. data/app/controllers/people_controller.rb +151 -0
  1307. data/app/controllers/phones_controller.rb +20 -0
  1308. data/app/controllers/refunds_controller.rb +36 -0
  1309. data/app/controllers/returns_controller.rb +18 -0
  1310. data/app/controllers/sales_controller.rb +129 -0
  1311. data/app/controllers/sections_controller.rb +44 -0
  1312. data/app/controllers/segments_controller.rb +30 -0
  1313. data/app/controllers/settlements_controller.rb +18 -0
  1314. data/app/controllers/shows_controller.rb +220 -0
  1315. data/app/controllers/statements_controller.rb +25 -0
  1316. data/app/controllers/store/checkouts_controller.rb +30 -0
  1317. data/app/controllers/store/events_controller.rb +5 -0
  1318. data/app/controllers/store/orders_controller.rb +71 -0
  1319. data/app/controllers/store/store_controller.rb +26 -0
  1320. data/app/controllers/tickets_controller.rb +166 -0
  1321. data/app/controllers/venues_controller.rb +15 -0
  1322. data/app/helpers/artfully_ose_helper.rb +237 -0
  1323. data/app/helpers/devise_helper.rb +9 -0
  1324. data/app/helpers/export_helper.rb +2 -0
  1325. data/app/helpers/imports_helper.rb +38 -0
  1326. data/app/helpers/link_helper.rb +24 -0
  1327. data/app/helpers/people_helper.rb +22 -0
  1328. data/app/mailers/order_mailer.rb +12 -0
  1329. data/app/mailers/producer_mailer.rb +38 -0
  1330. data/app/models/ability.rb +14 -0
  1331. data/app/models/action.rb +77 -0
  1332. data/app/models/actions/do_action.rb +5 -0
  1333. data/app/models/actions/get_action.rb +9 -0
  1334. data/app/models/actions/give_action.rb +15 -0
  1335. data/app/models/actions/go_action.rb +5 -0
  1336. data/app/models/actions/hear_action.rb +9 -0
  1337. data/app/models/actions/join_action.rb +5 -0
  1338. data/app/models/address.rb +71 -0
  1339. data/app/models/box_office.rb +22 -0
  1340. data/app/models/carts/cart.rb +160 -0
  1341. data/app/models/chart.rb +103 -0
  1342. data/app/models/checkout.rb +88 -0
  1343. data/app/models/comp.rb +78 -0
  1344. data/app/models/contribution.rb +79 -0
  1345. data/app/models/database_views/order_view.rb +34 -0
  1346. data/app/models/donation.rb +35 -0
  1347. data/app/models/donation_search.rb +33 -0
  1348. data/app/models/door_list.rb +41 -0
  1349. data/app/models/event.rb +151 -0
  1350. data/app/models/exchange.rb +67 -0
  1351. data/app/models/ext/callbacks.rb +7 -0
  1352. data/app/models/ext/devise_configuration.rb +15 -0
  1353. data/app/models/ext/integrations.rb +113 -0
  1354. data/app/models/ext/resellable.rb +11 -0
  1355. data/app/models/import.rb +184 -0
  1356. data/app/models/import_error.rb +8 -0
  1357. data/app/models/import_person.rb +78 -0
  1358. data/app/models/import_row.rb +11 -0
  1359. data/app/models/item.rb +190 -0
  1360. data/app/models/kit.rb +134 -0
  1361. data/app/models/kits/regular_donation_kit.rb +44 -0
  1362. data/app/models/kits/reseller_kit.rb +34 -0
  1363. data/app/models/kits/sponsored_donation_kit.rb +65 -0
  1364. data/app/models/kits/ticketing_kit.rb +33 -0
  1365. data/app/models/membership.rb +10 -0
  1366. data/app/models/note.rb +8 -0
  1367. data/app/models/orders/application_order.rb +5 -0
  1368. data/app/models/orders/comp_order.rb +5 -0
  1369. data/app/models/orders/order.rb +206 -0
  1370. data/app/models/orders/refund_order.rb +5 -0
  1371. data/app/models/orders/web_order.rb +5 -0
  1372. data/app/models/organization.rb +100 -0
  1373. data/app/models/organization_ability.rb +19 -0
  1374. data/app/models/payments/cash_payment.rb +24 -0
  1375. data/app/models/payments/comp_payment.rb +44 -0
  1376. data/app/models/payments/credit_card_payment.rb +76 -0
  1377. data/app/models/payments/payment.rb +76 -0
  1378. data/app/models/person.rb +260 -0
  1379. data/app/models/phone.rb +16 -0
  1380. data/app/models/refund.rb +74 -0
  1381. data/app/models/return.rb +16 -0
  1382. data/app/models/sale.rb +91 -0
  1383. data/app/models/sale_search.rb +37 -0
  1384. data/app/models/section.rb +53 -0
  1385. data/app/models/section_summary.rb +16 -0
  1386. data/app/models/segment.rb +13 -0
  1387. data/app/models/show.rb +220 -0
  1388. data/app/models/statement.rb +25 -0
  1389. data/app/models/ticket.rb +266 -0
  1390. data/app/models/ticket/foundry.rb +48 -0
  1391. data/app/models/ticket/glance.rb +36 -0
  1392. data/app/models/ticket/reporting.rb +7 -0
  1393. data/app/models/ticket/reports.rb +83 -0
  1394. data/app/models/ticket/template.rb +39 -0
  1395. data/app/models/ticket_summary.rb +29 -0
  1396. data/app/models/user.rb +39 -0
  1397. data/app/models/valuation/lifetime_value.rb +35 -0
  1398. data/app/models/venue.rb +22 -0
  1399. data/app/views/actions/_list.html.haml +26 -0
  1400. data/app/views/actions/edit.html.haml +19 -0
  1401. data/app/views/actions/new.html.haml +19 -0
  1402. data/app/views/addresses/_address.html.haml +6 -0
  1403. data/app/views/addresses/_form.html.haml +21 -0
  1404. data/app/views/comps/_grouped_form.html.haml +11 -0
  1405. data/app/views/comps/_new_person_form.html.haml +10 -0
  1406. data/app/views/comps/comp_confirm.html.haml +22 -0
  1407. data/app/views/comps/new.html.haml +37 -0
  1408. data/app/views/contributions/find_person.html.haml +44 -0
  1409. data/app/views/contributions/index.html.haml +35 -0
  1410. data/app/views/contributions/new.html.haml +40 -0
  1411. data/app/views/events/_chart_select.html.haml +7 -0
  1412. data/app/views/events/_day_date_show.html.haml +16 -0
  1413. data/app/views/events/_glance.html.haml +34 -0
  1414. data/app/views/events/_glances.html.haml +12 -0
  1415. data/app/views/events/_header.html.haml +10 -0
  1416. data/app/views/events/_list.html.haml +15 -0
  1417. data/app/views/events/_menu.html.haml +21 -0
  1418. data/app/views/events/_section_fields.html.haml +33 -0
  1419. data/app/views/events/_share_and_sell.haml +4 -0
  1420. data/app/views/events/edit.html.haml +40 -0
  1421. data/app/views/events/image.html.haml +35 -0
  1422. data/app/views/events/index.html.haml +7 -0
  1423. data/app/views/events/messages.html.haml +25 -0
  1424. data/app/views/events/new.html.haml +19 -0
  1425. data/app/views/events/prices.html.haml +39 -0
  1426. data/app/views/events/resell.html.haml +31 -0
  1427. data/app/views/events/show.html.haml +42 -0
  1428. data/app/views/events/storefront_link.html.haml +16 -0
  1429. data/app/views/events/widget.html.haml +10 -0
  1430. data/app/views/exchanges/_grouped_form.html.haml +11 -0
  1431. data/app/views/exchanges/new.html.haml +89 -0
  1432. data/app/views/imports/_approved.html.haml +11 -0
  1433. data/app/views/imports/_caching.html.haml +17 -0
  1434. data/app/views/imports/_failed.html.haml +20 -0
  1435. data/app/views/imports/_imported.html.haml +13 -0
  1436. data/app/views/imports/_importing.html.haml +13 -0
  1437. data/app/views/imports/_pending.html.haml +35 -0
  1438. data/app/views/imports/index.html.haml +23 -0
  1439. data/app/views/imports/new.html.haml +93 -0
  1440. data/app/views/imports/show.html.haml +6 -0
  1441. data/app/views/index/dashboard.html.haml +44 -0
  1442. data/app/views/index/splash.html.erb +160 -0
  1443. data/app/views/layouts/_admin_messages.html.haml +0 -0
  1444. data/app/views/layouts/_devise_menu.html.haml +4 -0
  1445. data/app/views/layouts/_flash.html.haml +5 -0
  1446. data/app/views/layouts/_footer.html.haml +0 -0
  1447. data/app/views/layouts/_google_analytics.html.haml +14 -0
  1448. data/app/views/layouts/_menu.html.haml +40 -0
  1449. data/app/views/layouts/application.html.haml +21 -0
  1450. data/app/views/layouts/devise.html.haml +20 -0
  1451. data/app/views/layouts/mail.html.haml +6 -0
  1452. data/app/views/layouts/storefront.html.haml +14 -0
  1453. data/app/views/memberships/_list.html.haml +31 -0
  1454. data/app/views/merges/_merge_preview_person.html.haml +14 -0
  1455. data/app/views/merges/find_person.html.haml +39 -0
  1456. data/app/views/merges/new.html.haml +33 -0
  1457. data/app/views/notes/_list.html.haml +30 -0
  1458. data/app/views/notes/edit.html.haml +14 -0
  1459. data/app/views/notes/new.html.haml +14 -0
  1460. data/app/views/order_mailer/confirmation_for.html.haml +55 -0
  1461. data/app/views/order_mailer/confirmation_for.text.haml +39 -0
  1462. data/app/views/orders/_by_person.haml +25 -0
  1463. data/app/views/orders/_donation_table.haml +16 -0
  1464. data/app/views/orders/_item_table.haml +21 -0
  1465. data/app/views/orders/_order_sidebar.html.haml +63 -0
  1466. data/app/views/orders/_search_form.haml +3 -0
  1467. data/app/views/orders/index.html.haml +58 -0
  1468. data/app/views/orders/sales.html.haml +55 -0
  1469. data/app/views/orders/show.html.haml +24 -0
  1470. data/app/views/organizations/_connection_form.html.haml +21 -0
  1471. data/app/views/organizations/_form.html.haml +6 -0
  1472. data/app/views/organizations/_website_form.html.haml +7 -0
  1473. data/app/views/organizations/edit.html.haml +7 -0
  1474. data/app/views/organizations/index.html.haml +20 -0
  1475. data/app/views/organizations/new.html.haml +15 -0
  1476. data/app/views/organizations/show.html.haml +15 -0
  1477. data/app/views/people/_form.html.haml +20 -0
  1478. data/app/views/people/_key_relationships.html.haml +5 -0
  1479. data/app/views/people/_list.html.haml +23 -0
  1480. data/app/views/people/_person_summary_sidebar.html.haml +54 -0
  1481. data/app/views/people/_relationship_table.html.haml +16 -0
  1482. data/app/views/people/_relationship_table_row.html.haml +8 -0
  1483. data/app/views/people/edit.html.haml +8 -0
  1484. data/app/views/people/index.html.haml +18 -0
  1485. data/app/views/people/new.html.haml +8 -0
  1486. data/app/views/people/show.html.haml +35 -0
  1487. data/app/views/refunds/_grouped_form.html.haml +11 -0
  1488. data/app/views/refunds/new.html.haml +44 -0
  1489. data/app/views/returns/_grouped_form.html.haml +11 -0
  1490. data/app/views/sales/new.html.haml +144 -0
  1491. data/app/views/sections/new.html.haml +12 -0
  1492. data/app/views/segments/index.html.haml +15 -0
  1493. data/app/views/segments/new.html.haml +20 -0
  1494. data/app/views/segments/show.html.haml +20 -0
  1495. data/app/views/shared/_error_messages.html.haml +4 -0
  1496. data/app/views/shared/_event_image_icon.html.haml +6 -0
  1497. data/app/views/shared/_new_person_popup.html.haml +21 -0
  1498. data/app/views/shared/_section_summary.html.haml +16 -0
  1499. data/app/views/shared/_show_summary.html.haml +16 -0
  1500. data/app/views/shared/_submit.haml +3 -0
  1501. data/app/views/shared/_submit_cancel.haml +5 -0
  1502. data/app/views/shared/_tags.html.haml +9 -0
  1503. data/app/views/shared/_tags_uneditable.html.haml +3 -0
  1504. data/app/views/shows/_controls.html.haml +29 -0
  1505. data/app/views/shows/_form.html.haml +14 -0
  1506. data/app/views/shows/_glance.html.haml +22 -0
  1507. data/app/views/shows/_new_show_for_table.html.haml +6 -0
  1508. data/app/views/shows/_stats.html.haml +13 -0
  1509. data/app/views/shows/_ticket_table.html.haml +90 -0
  1510. data/app/views/shows/_upcoming.html.haml +11 -0
  1511. data/app/views/shows/door_list.html.haml +37 -0
  1512. data/app/views/shows/edit.html.haml +7 -0
  1513. data/app/views/shows/index.html.haml +39 -0
  1514. data/app/views/shows/new.html.haml +38 -0
  1515. data/app/views/shows/published_confirm.html.haml +20 -0
  1516. data/app/views/shows/show.html.haml +27 -0
  1517. data/app/views/shows/unpublished_confirm.html.haml +20 -0
  1518. data/app/views/statements/_played_shows.html.haml +7 -0
  1519. data/app/views/statements/index.html.haml +18 -0
  1520. data/app/views/statements/show.html.haml +39 -0
  1521. data/app/views/store/events/_calendar.html.haml +14 -0
  1522. data/app/views/store/events/_show.html.haml +37 -0
  1523. data/app/views/store/events/show.html.haml +190 -0
  1524. data/app/views/users/confirmations/new.html.erb +12 -0
  1525. data/app/views/users/invitations/edit.html.haml +19 -0
  1526. data/app/views/users/invitations/new.html.haml +12 -0
  1527. data/app/views/users/mailer/confirmation_instructions.html.erb +5 -0
  1528. data/app/views/users/mailer/invitation_instructions.html.erb +8 -0
  1529. data/app/views/users/mailer/reset_password_instructions.html.erb +8 -0
  1530. data/app/views/users/mailer/unlock_instructions.html.erb +7 -0
  1531. data/app/views/users/passwords/edit.html.haml +18 -0
  1532. data/app/views/users/passwords/new.html.haml +14 -0
  1533. data/app/views/users/registrations/edit.html.erb +25 -0
  1534. data/app/views/users/sessions/new.html.haml +20 -0
  1535. data/app/views/users/shared/_links.erb +19 -0
  1536. data/app/views/users/unlocks/new.html.erb +12 -0
  1537. data/app/views/venues/edit.html.haml +47 -0
  1538. data/config/artfully.yml.sample +9 -0
  1539. data/config/initializers/add_uncap_to_string.rb +5 -0
  1540. data/config/initializers/admin_time_zone.rb +5 -0
  1541. data/config/initializers/array.rb +12 -0
  1542. data/config/initializers/backtrace_silencers.rb +7 -0
  1543. data/config/initializers/comma.rb +10 -0
  1544. data/config/initializers/config.rb +3 -0
  1545. data/config/initializers/d2s3.rb +4 -0
  1546. data/config/initializers/date_formats.rb +3 -0
  1547. data/config/initializers/delayed_job_config.rb +1 -0
  1548. data/config/initializers/devise.rb +156 -0
  1549. data/config/initializers/validates_timeliness.rb +40 -0
  1550. data/config/locales/devise.en.yml +42 -0
  1551. data/config/locales/devise_invitable.en.yml +10 -0
  1552. data/config/locales/en.yml +208 -0
  1553. data/config/locales/validates_timeliness.en.yml +16 -0
  1554. data/config/routes.rb +153 -0
  1555. data/db/migrate/0000_set_up_artfully.rb +333 -0
  1556. data/lib/artfully_ose.rb +42 -0
  1557. data/lib/artfully_ose/common_abilities.rb +83 -0
  1558. data/lib/artfully_ose/engine.rb +40 -0
  1559. data/lib/artfully_ose/version.rb +3 -0
  1560. data/lib/d2s3/patch/integer.rb +12 -0
  1561. data/lib/d2s3/s3_config.rb +13 -0
  1562. data/lib/d2s3/signature.rb +203 -0
  1563. data/lib/d2s3/view_helpers.rb +51 -0
  1564. data/lib/tasks/artfully_ose.rake +4 -0
  1565. metadata +1940 -0
@@ -0,0 +1,1726 @@
1
+ /* ===================================================
2
+ * bootstrap-transition.js v2.0.2
3
+ * http://twitter.github.com/bootstrap/javascript.html#transitions
4
+ * ===================================================
5
+ * Copyright 2012 Twitter, Inc.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ * ========================================================== */
19
+
20
+ !function( $ ) {
21
+
22
+ $(function () {
23
+
24
+ "use strict"
25
+
26
+ /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
27
+ * ======================================================= */
28
+
29
+ $.support.transition = (function () {
30
+ var thisBody = document.body || document.documentElement
31
+ , thisStyle = thisBody.style
32
+ , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
33
+
34
+ return support && {
35
+ end: (function () {
36
+ var transitionEnd = "TransitionEnd"
37
+ if ( $.browser.webkit ) {
38
+ transitionEnd = "webkitTransitionEnd"
39
+ } else if ( $.browser.mozilla ) {
40
+ transitionEnd = "transitionend"
41
+ } else if ( $.browser.opera ) {
42
+ transitionEnd = "oTransitionEnd"
43
+ }
44
+ return transitionEnd
45
+ }())
46
+ }
47
+ })()
48
+
49
+ })
50
+
51
+ }( window.jQuery );/* ==========================================================
52
+ * bootstrap-alert.js v2.0.2
53
+ * http://twitter.github.com/bootstrap/javascript.html#alerts
54
+ * ==========================================================
55
+ * Copyright 2012 Twitter, Inc.
56
+ *
57
+ * Licensed under the Apache License, Version 2.0 (the "License");
58
+ * you may not use this file except in compliance with the License.
59
+ * You may obtain a copy of the License at
60
+ *
61
+ * http://www.apache.org/licenses/LICENSE-2.0
62
+ *
63
+ * Unless required by applicable law or agreed to in writing, software
64
+ * distributed under the License is distributed on an "AS IS" BASIS,
65
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
66
+ * See the License for the specific language governing permissions and
67
+ * limitations under the License.
68
+ * ========================================================== */
69
+
70
+
71
+ !function( $ ){
72
+
73
+ "use strict"
74
+
75
+ /* ALERT CLASS DEFINITION
76
+ * ====================== */
77
+
78
+ var dismiss = '[data-dismiss="alert"]'
79
+ , Alert = function ( el ) {
80
+ $(el).on('click', dismiss, this.close)
81
+ }
82
+
83
+ Alert.prototype = {
84
+
85
+ constructor: Alert
86
+
87
+ , close: function ( e ) {
88
+ var $this = $(this)
89
+ , selector = $this.attr('data-target')
90
+ , $parent
91
+
92
+ if (!selector) {
93
+ selector = $this.attr('href')
94
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
95
+ }
96
+
97
+ $parent = $(selector)
98
+ $parent.trigger('close')
99
+
100
+ e && e.preventDefault()
101
+
102
+ $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
103
+
104
+ $parent
105
+ .trigger('close')
106
+ .removeClass('in')
107
+
108
+ function removeElement() {
109
+ $parent
110
+ .trigger('closed')
111
+ .remove()
112
+ }
113
+
114
+ $.support.transition && $parent.hasClass('fade') ?
115
+ $parent.on($.support.transition.end, removeElement) :
116
+ removeElement()
117
+ }
118
+
119
+ }
120
+
121
+
122
+ /* ALERT PLUGIN DEFINITION
123
+ * ======================= */
124
+
125
+ $.fn.alert = function ( option ) {
126
+ return this.each(function () {
127
+ var $this = $(this)
128
+ , data = $this.data('alert')
129
+ if (!data) $this.data('alert', (data = new Alert(this)))
130
+ if (typeof option == 'string') data[option].call($this)
131
+ })
132
+ }
133
+
134
+ $.fn.alert.Constructor = Alert
135
+
136
+
137
+ /* ALERT DATA-API
138
+ * ============== */
139
+
140
+ $(function () {
141
+ $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
142
+ })
143
+
144
+ }( window.jQuery );/* ============================================================
145
+ * bootstrap-button.js v2.0.2
146
+ * http://twitter.github.com/bootstrap/javascript.html#buttons
147
+ * ============================================================
148
+ * Copyright 2012 Twitter, Inc.
149
+ *
150
+ * Licensed under the Apache License, Version 2.0 (the "License");
151
+ * you may not use this file except in compliance with the License.
152
+ * You may obtain a copy of the License at
153
+ *
154
+ * http://www.apache.org/licenses/LICENSE-2.0
155
+ *
156
+ * Unless required by applicable law or agreed to in writing, software
157
+ * distributed under the License is distributed on an "AS IS" BASIS,
158
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
159
+ * See the License for the specific language governing permissions and
160
+ * limitations under the License.
161
+ * ============================================================ */
162
+
163
+ !function( $ ){
164
+
165
+ "use strict"
166
+
167
+ /* BUTTON PUBLIC CLASS DEFINITION
168
+ * ============================== */
169
+
170
+ var Button = function ( element, options ) {
171
+ this.$element = $(element)
172
+ this.options = $.extend({}, $.fn.button.defaults, options)
173
+ }
174
+
175
+ Button.prototype = {
176
+
177
+ constructor: Button
178
+
179
+ , setState: function ( state ) {
180
+ var d = 'disabled'
181
+ , $el = this.$element
182
+ , data = $el.data()
183
+ , val = $el.is('input') ? 'val' : 'html'
184
+
185
+ state = state + 'Text'
186
+ data.resetText || $el.data('resetText', $el[val]())
187
+
188
+ $el[val](data[state] || this.options[state])
189
+
190
+ // push to event loop to allow forms to submit
191
+ setTimeout(function () {
192
+ state == 'loadingText' ?
193
+ $el.addClass(d).attr(d, d) :
194
+ $el.removeClass(d).removeAttr(d)
195
+ }, 0)
196
+ }
197
+
198
+ , toggle: function () {
199
+ var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
200
+
201
+ $parent && $parent
202
+ .find('.active')
203
+ .removeClass('active')
204
+
205
+ this.$element.toggleClass('active')
206
+ }
207
+
208
+ }
209
+
210
+
211
+ /* BUTTON PLUGIN DEFINITION
212
+ * ======================== */
213
+
214
+ $.fn.button = function ( option ) {
215
+ return this.each(function () {
216
+ var $this = $(this)
217
+ , data = $this.data('button')
218
+ , options = typeof option == 'object' && option
219
+ if (!data) $this.data('button', (data = new Button(this, options)))
220
+ if (option == 'toggle') data.toggle()
221
+ else if (option) data.setState(option)
222
+ })
223
+ }
224
+
225
+ $.fn.button.defaults = {
226
+ loadingText: 'loading...'
227
+ }
228
+
229
+ $.fn.button.Constructor = Button
230
+
231
+
232
+ /* BUTTON DATA-API
233
+ * =============== */
234
+
235
+ $(function () {
236
+ $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
237
+ var $btn = $(e.target)
238
+ if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
239
+ $btn.button('toggle')
240
+ })
241
+ })
242
+
243
+ }( window.jQuery );/* ==========================================================
244
+ * bootstrap-carousel.js v2.0.2
245
+ * http://twitter.github.com/bootstrap/javascript.html#carousel
246
+ * ==========================================================
247
+ * Copyright 2012 Twitter, Inc.
248
+ *
249
+ * Licensed under the Apache License, Version 2.0 (the "License");
250
+ * you may not use this file except in compliance with the License.
251
+ * You may obtain a copy of the License at
252
+ *
253
+ * http://www.apache.org/licenses/LICENSE-2.0
254
+ *
255
+ * Unless required by applicable law or agreed to in writing, software
256
+ * distributed under the License is distributed on an "AS IS" BASIS,
257
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
258
+ * See the License for the specific language governing permissions and
259
+ * limitations under the License.
260
+ * ========================================================== */
261
+
262
+
263
+ !function( $ ){
264
+
265
+ "use strict"
266
+
267
+ /* CAROUSEL CLASS DEFINITION
268
+ * ========================= */
269
+
270
+ var Carousel = function (element, options) {
271
+ this.$element = $(element)
272
+ this.options = $.extend({}, $.fn.carousel.defaults, options)
273
+ this.options.slide && this.slide(this.options.slide)
274
+ this.options.pause == 'hover' && this.$element
275
+ .on('mouseenter', $.proxy(this.pause, this))
276
+ .on('mouseleave', $.proxy(this.cycle, this))
277
+ }
278
+
279
+ Carousel.prototype = {
280
+
281
+ cycle: function () {
282
+ this.interval = setInterval($.proxy(this.next, this), this.options.interval)
283
+ return this
284
+ }
285
+
286
+ , to: function (pos) {
287
+ var $active = this.$element.find('.active')
288
+ , children = $active.parent().children()
289
+ , activePos = children.index($active)
290
+ , that = this
291
+
292
+ if (pos > (children.length - 1) || pos < 0) return
293
+
294
+ if (this.sliding) {
295
+ return this.$element.one('slid', function () {
296
+ that.to(pos)
297
+ })
298
+ }
299
+
300
+ if (activePos == pos) {
301
+ return this.pause().cycle()
302
+ }
303
+
304
+ return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
305
+ }
306
+
307
+ , pause: function () {
308
+ clearInterval(this.interval)
309
+ this.interval = null
310
+ return this
311
+ }
312
+
313
+ , next: function () {
314
+ if (this.sliding) return
315
+ return this.slide('next')
316
+ }
317
+
318
+ , prev: function () {
319
+ if (this.sliding) return
320
+ return this.slide('prev')
321
+ }
322
+
323
+ , slide: function (type, next) {
324
+ var $active = this.$element.find('.active')
325
+ , $next = next || $active[type]()
326
+ , isCycling = this.interval
327
+ , direction = type == 'next' ? 'left' : 'right'
328
+ , fallback = type == 'next' ? 'first' : 'last'
329
+ , that = this
330
+
331
+ this.sliding = true
332
+
333
+ isCycling && this.pause()
334
+
335
+ $next = $next.length ? $next : this.$element.find('.item')[fallback]()
336
+
337
+ if ($next.hasClass('active')) return
338
+
339
+ if (!$.support.transition && this.$element.hasClass('slide')) {
340
+ this.$element.trigger('slide')
341
+ $active.removeClass('active')
342
+ $next.addClass('active')
343
+ this.sliding = false
344
+ this.$element.trigger('slid')
345
+ } else {
346
+ $next.addClass(type)
347
+ $next[0].offsetWidth // force reflow
348
+ $active.addClass(direction)
349
+ $next.addClass(direction)
350
+ this.$element.trigger('slide')
351
+ this.$element.one($.support.transition.end, function () {
352
+ $next.removeClass([type, direction].join(' ')).addClass('active')
353
+ $active.removeClass(['active', direction].join(' '))
354
+ that.sliding = false
355
+ setTimeout(function () { that.$element.trigger('slid') }, 0)
356
+ })
357
+ }
358
+
359
+ isCycling && this.cycle()
360
+
361
+ return this
362
+ }
363
+
364
+ }
365
+
366
+
367
+ /* CAROUSEL PLUGIN DEFINITION
368
+ * ========================== */
369
+
370
+ $.fn.carousel = function ( option ) {
371
+ return this.each(function () {
372
+ var $this = $(this)
373
+ , data = $this.data('carousel')
374
+ , options = typeof option == 'object' && option
375
+ if (!data) $this.data('carousel', (data = new Carousel(this, options)))
376
+ if (typeof option == 'number') data.to(option)
377
+ else if (typeof option == 'string' || (option = options.slide)) data[option]()
378
+ else data.cycle()
379
+ })
380
+ }
381
+
382
+ $.fn.carousel.defaults = {
383
+ interval: 5000
384
+ , pause: 'hover'
385
+ }
386
+
387
+ $.fn.carousel.Constructor = Carousel
388
+
389
+
390
+ /* CAROUSEL DATA-API
391
+ * ================= */
392
+
393
+ $(function () {
394
+ $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
395
+ var $this = $(this), href
396
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
397
+ , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
398
+ $target.carousel(options)
399
+ e.preventDefault()
400
+ })
401
+ })
402
+
403
+ }( window.jQuery );/* =============================================================
404
+ * bootstrap-collapse.js v2.0.2
405
+ * http://twitter.github.com/bootstrap/javascript.html#collapse
406
+ * =============================================================
407
+ * Copyright 2012 Twitter, Inc.
408
+ *
409
+ * Licensed under the Apache License, Version 2.0 (the "License");
410
+ * you may not use this file except in compliance with the License.
411
+ * You may obtain a copy of the License at
412
+ *
413
+ * http://www.apache.org/licenses/LICENSE-2.0
414
+ *
415
+ * Unless required by applicable law or agreed to in writing, software
416
+ * distributed under the License is distributed on an "AS IS" BASIS,
417
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
418
+ * See the License for the specific language governing permissions and
419
+ * limitations under the License.
420
+ * ============================================================ */
421
+
422
+ !function( $ ){
423
+
424
+ "use strict"
425
+
426
+ var Collapse = function ( element, options ) {
427
+ this.$element = $(element)
428
+ this.options = $.extend({}, $.fn.collapse.defaults, options)
429
+
430
+ if (this.options["parent"]) {
431
+ this.$parent = $(this.options["parent"])
432
+ }
433
+
434
+ this.options.toggle && this.toggle()
435
+ }
436
+
437
+ Collapse.prototype = {
438
+
439
+ constructor: Collapse
440
+
441
+ , dimension: function () {
442
+ var hasWidth = this.$element.hasClass('width')
443
+ return hasWidth ? 'width' : 'height'
444
+ }
445
+
446
+ , show: function () {
447
+ var dimension = this.dimension()
448
+ , scroll = $.camelCase(['scroll', dimension].join('-'))
449
+ , actives = this.$parent && this.$parent.find('.in')
450
+ , hasData
451
+
452
+ if (actives && actives.length) {
453
+ hasData = actives.data('collapse')
454
+ actives.collapse('hide')
455
+ hasData || actives.data('collapse', null)
456
+ }
457
+
458
+ this.$element[dimension](0)
459
+ this.transition('addClass', 'show', 'shown')
460
+ this.$element[dimension](this.$element[0][scroll])
461
+
462
+ }
463
+
464
+ , hide: function () {
465
+ var dimension = this.dimension()
466
+ this.reset(this.$element[dimension]())
467
+ this.transition('removeClass', 'hide', 'hidden')
468
+ this.$element[dimension](0)
469
+ }
470
+
471
+ , reset: function ( size ) {
472
+ var dimension = this.dimension()
473
+
474
+ this.$element
475
+ .removeClass('collapse')
476
+ [dimension](size || 'auto')
477
+ [0].offsetWidth
478
+
479
+ this.$element[size ? 'addClass' : 'removeClass']('collapse')
480
+
481
+ return this
482
+ }
483
+
484
+ , transition: function ( method, startEvent, completeEvent ) {
485
+ var that = this
486
+ , complete = function () {
487
+ if (startEvent == 'show') that.reset()
488
+ that.$element.trigger(completeEvent)
489
+ }
490
+
491
+ this.$element
492
+ .trigger(startEvent)
493
+ [method]('in')
494
+
495
+ $.support.transition && this.$element.hasClass('collapse') ?
496
+ this.$element.one($.support.transition.end, complete) :
497
+ complete()
498
+ }
499
+
500
+ , toggle: function () {
501
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
502
+ }
503
+
504
+ }
505
+
506
+ /* COLLAPSIBLE PLUGIN DEFINITION
507
+ * ============================== */
508
+
509
+ $.fn.collapse = function ( option ) {
510
+ return this.each(function () {
511
+ var $this = $(this)
512
+ , data = $this.data('collapse')
513
+ , options = typeof option == 'object' && option
514
+ if (!data) $this.data('collapse', (data = new Collapse(this, options)))
515
+ if (typeof option == 'string') data[option]()
516
+ })
517
+ }
518
+
519
+ $.fn.collapse.defaults = {
520
+ toggle: true
521
+ }
522
+
523
+ $.fn.collapse.Constructor = Collapse
524
+
525
+
526
+ /* COLLAPSIBLE DATA-API
527
+ * ==================== */
528
+
529
+ $(function () {
530
+ $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
531
+ var $this = $(this), href
532
+ , target = $this.attr('data-target')
533
+ || e.preventDefault()
534
+ || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
535
+ , option = $(target).data('collapse') ? 'toggle' : $this.data()
536
+ $(target).collapse(option)
537
+ })
538
+ })
539
+
540
+ }( window.jQuery );/* ============================================================
541
+ * bootstrap-dropdown.js v2.0.2
542
+ * http://twitter.github.com/bootstrap/javascript.html#dropdowns
543
+ * ============================================================
544
+ * Copyright 2012 Twitter, Inc.
545
+ *
546
+ * Licensed under the Apache License, Version 2.0 (the "License");
547
+ * you may not use this file except in compliance with the License.
548
+ * You may obtain a copy of the License at
549
+ *
550
+ * http://www.apache.org/licenses/LICENSE-2.0
551
+ *
552
+ * Unless required by applicable law or agreed to in writing, software
553
+ * distributed under the License is distributed on an "AS IS" BASIS,
554
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
555
+ * See the License for the specific language governing permissions and
556
+ * limitations under the License.
557
+ * ============================================================ */
558
+
559
+
560
+ !function( $ ){
561
+
562
+ "use strict"
563
+
564
+ /* DROPDOWN CLASS DEFINITION
565
+ * ========================= */
566
+
567
+ var toggle = '[data-toggle="dropdown"]'
568
+ , Dropdown = function ( element ) {
569
+ var $el = $(element).on('click.dropdown.data-api', this.toggle)
570
+ $('html').on('click.dropdown.data-api', function () {
571
+ $el.parent().removeClass('open')
572
+ })
573
+ }
574
+
575
+ Dropdown.prototype = {
576
+
577
+ constructor: Dropdown
578
+
579
+ , toggle: function ( e ) {
580
+ var $this = $(this)
581
+ , selector = $this.attr('data-target')
582
+ , $parent
583
+ , isActive
584
+
585
+ if (!selector) {
586
+ selector = $this.attr('href')
587
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
588
+ }
589
+
590
+ $parent = $(selector)
591
+ $parent.length || ($parent = $this.parent())
592
+
593
+ isActive = $parent.hasClass('open')
594
+
595
+ clearMenus()
596
+ !isActive && $parent.toggleClass('open')
597
+
598
+ return false
599
+ }
600
+
601
+ }
602
+
603
+ function clearMenus() {
604
+ $(toggle).parent().removeClass('open')
605
+ }
606
+
607
+
608
+ /* DROPDOWN PLUGIN DEFINITION
609
+ * ========================== */
610
+
611
+ $.fn.dropdown = function ( option ) {
612
+ return this.each(function () {
613
+ var $this = $(this)
614
+ , data = $this.data('dropdown')
615
+ if (!data) $this.data('dropdown', (data = new Dropdown(this)))
616
+ if (typeof option == 'string') data[option].call($this)
617
+ })
618
+ }
619
+
620
+ $.fn.dropdown.Constructor = Dropdown
621
+
622
+
623
+ /* APPLY TO STANDARD DROPDOWN ELEMENTS
624
+ * =================================== */
625
+
626
+ $(function () {
627
+ $('html').on('click.dropdown.data-api', clearMenus)
628
+ $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
629
+ })
630
+
631
+ }( window.jQuery );/* =========================================================
632
+ * bootstrap-modal.js v2.0.2
633
+ * http://twitter.github.com/bootstrap/javascript.html#modals
634
+ * =========================================================
635
+ * Copyright 2012 Twitter, Inc.
636
+ *
637
+ * Licensed under the Apache License, Version 2.0 (the "License");
638
+ * you may not use this file except in compliance with the License.
639
+ * You may obtain a copy of the License at
640
+ *
641
+ * http://www.apache.org/licenses/LICENSE-2.0
642
+ *
643
+ * Unless required by applicable law or agreed to in writing, software
644
+ * distributed under the License is distributed on an "AS IS" BASIS,
645
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
646
+ * See the License for the specific language governing permissions and
647
+ * limitations under the License.
648
+ * ========================================================= */
649
+
650
+
651
+ !function( $ ){
652
+
653
+ "use strict"
654
+
655
+ /* MODAL CLASS DEFINITION
656
+ * ====================== */
657
+
658
+ var Modal = function ( content, options ) {
659
+ this.options = options
660
+ this.$element = $(content)
661
+ .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
662
+ }
663
+
664
+ Modal.prototype = {
665
+
666
+ constructor: Modal
667
+
668
+ , toggle: function () {
669
+ return this[!this.isShown ? 'show' : 'hide']()
670
+ }
671
+
672
+ , show: function () {
673
+ var that = this
674
+
675
+ if (this.isShown) return
676
+
677
+ $('body').addClass('modal-open')
678
+
679
+ this.isShown = true
680
+ this.$element.trigger('show')
681
+
682
+ escape.call(this)
683
+ backdrop.call(this, function () {
684
+ var transition = $.support.transition && that.$element.hasClass('fade')
685
+
686
+ !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position
687
+
688
+ that.$element
689
+ .show()
690
+
691
+ if (transition) {
692
+ that.$element[0].offsetWidth // force reflow
693
+ }
694
+
695
+ that.$element.addClass('in')
696
+
697
+ transition ?
698
+ that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
699
+ that.$element.trigger('shown')
700
+
701
+ })
702
+ }
703
+
704
+ , hide: function ( e ) {
705
+ e && e.preventDefault()
706
+
707
+ if (!this.isShown) return
708
+
709
+ var that = this
710
+ this.isShown = false
711
+
712
+ $('body').removeClass('modal-open')
713
+
714
+ escape.call(this)
715
+
716
+ this.$element
717
+ .trigger('hide')
718
+ .removeClass('in')
719
+
720
+ $.support.transition && this.$element.hasClass('fade') ?
721
+ hideWithTransition.call(this) :
722
+ hideModal.call(this)
723
+ }
724
+
725
+ }
726
+
727
+
728
+ /* MODAL PRIVATE METHODS
729
+ * ===================== */
730
+
731
+ function hideWithTransition() {
732
+ var that = this
733
+ , timeout = setTimeout(function () {
734
+ that.$element.off($.support.transition.end)
735
+ hideModal.call(that)
736
+ }, 500)
737
+
738
+ this.$element.one($.support.transition.end, function () {
739
+ clearTimeout(timeout)
740
+ hideModal.call(that)
741
+ })
742
+ }
743
+
744
+ function hideModal( that ) {
745
+ this.$element
746
+ .hide()
747
+ .trigger('hidden')
748
+
749
+ backdrop.call(this)
750
+ }
751
+
752
+ function backdrop( callback ) {
753
+ var that = this
754
+ , animate = this.$element.hasClass('fade') ? 'fade' : ''
755
+
756
+ if (this.isShown && this.options.backdrop) {
757
+ var doAnimate = $.support.transition && animate
758
+
759
+ this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
760
+ .appendTo(document.body)
761
+
762
+ if (this.options.backdrop != 'static') {
763
+ this.$backdrop.click($.proxy(this.hide, this))
764
+ }
765
+
766
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
767
+
768
+ this.$backdrop.addClass('in')
769
+
770
+ doAnimate ?
771
+ this.$backdrop.one($.support.transition.end, callback) :
772
+ callback()
773
+
774
+ } else if (!this.isShown && this.$backdrop) {
775
+ this.$backdrop.removeClass('in')
776
+
777
+ $.support.transition && this.$element.hasClass('fade')?
778
+ this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
779
+ removeBackdrop.call(this)
780
+
781
+ } else if (callback) {
782
+ callback()
783
+ }
784
+ }
785
+
786
+ function removeBackdrop() {
787
+ this.$backdrop.remove()
788
+ this.$backdrop = null
789
+ }
790
+
791
+ function escape() {
792
+ var that = this
793
+ if (this.isShown && this.options.keyboard) {
794
+ $(document).on('keyup.dismiss.modal', function ( e ) {
795
+ e.which == 27 && that.hide()
796
+ })
797
+ } else if (!this.isShown) {
798
+ $(document).off('keyup.dismiss.modal')
799
+ }
800
+ }
801
+
802
+
803
+ /* MODAL PLUGIN DEFINITION
804
+ * ======================= */
805
+
806
+ $.fn.modal = function ( option ) {
807
+ return this.each(function () {
808
+ var $this = $(this)
809
+ , data = $this.data('modal')
810
+ , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
811
+ if (!data) $this.data('modal', (data = new Modal(this, options)))
812
+ if (typeof option == 'string') data[option]()
813
+ else if (options.show) data.show()
814
+ })
815
+ }
816
+
817
+ $.fn.modal.defaults = {
818
+ backdrop: true
819
+ , keyboard: true
820
+ , show: true
821
+ }
822
+
823
+ $.fn.modal.Constructor = Modal
824
+
825
+
826
+ /* MODAL DATA-API
827
+ * ============== */
828
+
829
+ $(function () {
830
+ $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
831
+ var $this = $(this), href
832
+ , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
833
+ , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
834
+
835
+ e.preventDefault()
836
+ $target.modal(option)
837
+ })
838
+ })
839
+
840
+ }( window.jQuery );/* ===========================================================
841
+ * bootstrap-tooltip.js v2.0.2
842
+ * http://twitter.github.com/bootstrap/javascript.html#tooltips
843
+ * Inspired by the original jQuery.tipsy by Jason Frame
844
+ * ===========================================================
845
+ * Copyright 2012 Twitter, Inc.
846
+ *
847
+ * Licensed under the Apache License, Version 2.0 (the "License");
848
+ * you may not use this file except in compliance with the License.
849
+ * You may obtain a copy of the License at
850
+ *
851
+ * http://www.apache.org/licenses/LICENSE-2.0
852
+ *
853
+ * Unless required by applicable law or agreed to in writing, software
854
+ * distributed under the License is distributed on an "AS IS" BASIS,
855
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
856
+ * See the License for the specific language governing permissions and
857
+ * limitations under the License.
858
+ * ========================================================== */
859
+
860
+ !function( $ ) {
861
+
862
+ "use strict"
863
+
864
+ /* TOOLTIP PUBLIC CLASS DEFINITION
865
+ * =============================== */
866
+
867
+ var Tooltip = function ( element, options ) {
868
+ this.init('tooltip', element, options)
869
+ }
870
+
871
+ Tooltip.prototype = {
872
+
873
+ constructor: Tooltip
874
+
875
+ , init: function ( type, element, options ) {
876
+ var eventIn
877
+ , eventOut
878
+
879
+ this.type = type
880
+ this.$element = $(element)
881
+ this.options = this.getOptions(options)
882
+ this.enabled = true
883
+
884
+ if (this.options.trigger != 'manual') {
885
+ eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
886
+ eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
887
+ this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
888
+ this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
889
+ }
890
+
891
+ this.options.selector ?
892
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
893
+ this.fixTitle()
894
+ }
895
+
896
+ , getOptions: function ( options ) {
897
+ options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
898
+
899
+ if (options.delay && typeof options.delay == 'number') {
900
+ options.delay = {
901
+ show: options.delay
902
+ , hide: options.delay
903
+ }
904
+ }
905
+
906
+ return options
907
+ }
908
+
909
+ , enter: function ( e ) {
910
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
911
+
912
+ if (!self.options.delay || !self.options.delay.show) {
913
+ self.show()
914
+ } else {
915
+ self.hoverState = 'in'
916
+ setTimeout(function() {
917
+ if (self.hoverState == 'in') {
918
+ self.show()
919
+ }
920
+ }, self.options.delay.show)
921
+ }
922
+ }
923
+
924
+ , leave: function ( e ) {
925
+ var self = $(e.currentTarget)[this.type](this._options).data(this.type)
926
+
927
+ if (!self.options.delay || !self.options.delay.hide) {
928
+ self.hide()
929
+ } else {
930
+ self.hoverState = 'out'
931
+ setTimeout(function() {
932
+ if (self.hoverState == 'out') {
933
+ self.hide()
934
+ }
935
+ }, self.options.delay.hide)
936
+ }
937
+ }
938
+
939
+ , show: function () {
940
+ var $tip
941
+ , inside
942
+ , pos
943
+ , actualWidth
944
+ , actualHeight
945
+ , placement
946
+ , tp
947
+
948
+ if (this.hasContent() && this.enabled) {
949
+ $tip = this.tip()
950
+ this.setContent()
951
+
952
+ if (this.options.animation) {
953
+ $tip.addClass('fade')
954
+ }
955
+
956
+ placement = typeof this.options.placement == 'function' ?
957
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
958
+ this.options.placement
959
+
960
+ inside = /in/.test(placement)
961
+
962
+ $tip
963
+ .remove()
964
+ .css({ top: 0, left: 0, display: 'block' })
965
+ .appendTo(inside ? this.$element : document.body)
966
+
967
+ pos = this.getPosition(inside)
968
+
969
+ actualWidth = $tip[0].offsetWidth
970
+ actualHeight = $tip[0].offsetHeight
971
+
972
+ switch (inside ? placement.split(' ')[1] : placement) {
973
+ case 'bottom':
974
+ tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
975
+ break
976
+ case 'top':
977
+ tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
978
+ break
979
+ case 'left':
980
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
981
+ break
982
+ case 'right':
983
+ tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
984
+ break
985
+ }
986
+
987
+ $tip
988
+ .css(tp)
989
+ .addClass(placement)
990
+ .addClass('in')
991
+ }
992
+ }
993
+
994
+ , setContent: function () {
995
+ var $tip = this.tip()
996
+ $tip.find('.tooltip-inner').html(this.getTitle())
997
+ $tip.removeClass('fade in top bottom left right')
998
+ }
999
+
1000
+ , hide: function () {
1001
+ var that = this
1002
+ , $tip = this.tip()
1003
+
1004
+ $tip.removeClass('in')
1005
+
1006
+ function removeWithAnimation() {
1007
+ var timeout = setTimeout(function () {
1008
+ $tip.off($.support.transition.end).remove()
1009
+ }, 500)
1010
+
1011
+ $tip.one($.support.transition.end, function () {
1012
+ clearTimeout(timeout)
1013
+ $tip.remove()
1014
+ })
1015
+ }
1016
+
1017
+ $.support.transition && this.$tip.hasClass('fade') ?
1018
+ removeWithAnimation() :
1019
+ $tip.remove()
1020
+ }
1021
+
1022
+ , fixTitle: function () {
1023
+ var $e = this.$element
1024
+ if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
1025
+ $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
1026
+ }
1027
+ }
1028
+
1029
+ , hasContent: function () {
1030
+ return this.getTitle()
1031
+ }
1032
+
1033
+ , getPosition: function (inside) {
1034
+ return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
1035
+ width: this.$element[0].offsetWidth
1036
+ , height: this.$element[0].offsetHeight
1037
+ })
1038
+ }
1039
+
1040
+ , getTitle: function () {
1041
+ var title
1042
+ , $e = this.$element
1043
+ , o = this.options
1044
+
1045
+ title = $e.attr('data-original-title')
1046
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
1047
+
1048
+ title = (title || '').toString().replace(/(^\s*|\s*$)/, "")
1049
+
1050
+ return title
1051
+ }
1052
+
1053
+ , tip: function () {
1054
+ return this.$tip = this.$tip || $(this.options.template)
1055
+ }
1056
+
1057
+ , validate: function () {
1058
+ if (!this.$element[0].parentNode) {
1059
+ this.hide()
1060
+ this.$element = null
1061
+ this.options = null
1062
+ }
1063
+ }
1064
+
1065
+ , enable: function () {
1066
+ this.enabled = true
1067
+ }
1068
+
1069
+ , disable: function () {
1070
+ this.enabled = false
1071
+ }
1072
+
1073
+ , toggleEnabled: function () {
1074
+ this.enabled = !this.enabled
1075
+ }
1076
+
1077
+ , toggle: function () {
1078
+ this[this.tip().hasClass('in') ? 'hide' : 'show']()
1079
+ }
1080
+
1081
+ }
1082
+
1083
+
1084
+ /* TOOLTIP PLUGIN DEFINITION
1085
+ * ========================= */
1086
+
1087
+ $.fn.tooltip = function ( option ) {
1088
+ return this.each(function () {
1089
+ var $this = $(this)
1090
+ , data = $this.data('tooltip')
1091
+ , options = typeof option == 'object' && option
1092
+ if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
1093
+ if (typeof option == 'string') data[option]()
1094
+ })
1095
+ }
1096
+
1097
+ $.fn.tooltip.Constructor = Tooltip
1098
+
1099
+ $.fn.tooltip.defaults = {
1100
+ animation: true
1101
+ , delay: 0
1102
+ , selector: false
1103
+ , placement: 'top'
1104
+ , trigger: 'hover'
1105
+ , title: ''
1106
+ , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
1107
+ }
1108
+
1109
+ }( window.jQuery );/* ===========================================================
1110
+ * bootstrap-popover.js v2.0.2
1111
+ * http://twitter.github.com/bootstrap/javascript.html#popovers
1112
+ * ===========================================================
1113
+ * Copyright 2012 Twitter, Inc.
1114
+ *
1115
+ * Licensed under the Apache License, Version 2.0 (the "License");
1116
+ * you may not use this file except in compliance with the License.
1117
+ * You may obtain a copy of the License at
1118
+ *
1119
+ * http://www.apache.org/licenses/LICENSE-2.0
1120
+ *
1121
+ * Unless required by applicable law or agreed to in writing, software
1122
+ * distributed under the License is distributed on an "AS IS" BASIS,
1123
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1124
+ * See the License for the specific language governing permissions and
1125
+ * limitations under the License.
1126
+ * =========================================================== */
1127
+
1128
+
1129
+ !function( $ ) {
1130
+
1131
+ "use strict"
1132
+
1133
+ var Popover = function ( element, options ) {
1134
+ this.init('popover', element, options)
1135
+ }
1136
+
1137
+ /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
1138
+ ========================================== */
1139
+
1140
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
1141
+
1142
+ constructor: Popover
1143
+
1144
+ , setContent: function () {
1145
+ var $tip = this.tip()
1146
+ , title = this.getTitle()
1147
+ , content = this.getContent()
1148
+
1149
+ $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
1150
+ $tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
1151
+
1152
+ $tip.removeClass('fade top bottom left right in')
1153
+ }
1154
+
1155
+ , hasContent: function () {
1156
+ return this.getTitle() || this.getContent()
1157
+ }
1158
+
1159
+ , getContent: function () {
1160
+ var content
1161
+ , $e = this.$element
1162
+ , o = this.options
1163
+
1164
+ content = $e.attr('data-content')
1165
+ || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
1166
+
1167
+ content = content.toString().replace(/(^\s*|\s*$)/, "")
1168
+
1169
+ return content
1170
+ }
1171
+
1172
+ , tip: function() {
1173
+ if (!this.$tip) {
1174
+ this.$tip = $(this.options.template)
1175
+ }
1176
+ return this.$tip
1177
+ }
1178
+
1179
+ })
1180
+
1181
+
1182
+ /* POPOVER PLUGIN DEFINITION
1183
+ * ======================= */
1184
+
1185
+ $.fn.popover = function ( option ) {
1186
+ return this.each(function () {
1187
+ var $this = $(this)
1188
+ , data = $this.data('popover')
1189
+ , options = typeof option == 'object' && option
1190
+ if (!data) $this.data('popover', (data = new Popover(this, options)))
1191
+ if (typeof option == 'string') data[option]()
1192
+ })
1193
+ }
1194
+
1195
+ $.fn.popover.Constructor = Popover
1196
+
1197
+ $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
1198
+ placement: 'right'
1199
+ , content: ''
1200
+ , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
1201
+ })
1202
+
1203
+ }( window.jQuery );/* =============================================================
1204
+ * bootstrap-scrollspy.js v2.0.2
1205
+ * http://twitter.github.com/bootstrap/javascript.html#scrollspy
1206
+ * =============================================================
1207
+ * Copyright 2012 Twitter, Inc.
1208
+ *
1209
+ * Licensed under the Apache License, Version 2.0 (the "License");
1210
+ * you may not use this file except in compliance with the License.
1211
+ * You may obtain a copy of the License at
1212
+ *
1213
+ * http://www.apache.org/licenses/LICENSE-2.0
1214
+ *
1215
+ * Unless required by applicable law or agreed to in writing, software
1216
+ * distributed under the License is distributed on an "AS IS" BASIS,
1217
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1218
+ * See the License for the specific language governing permissions and
1219
+ * limitations under the License.
1220
+ * ============================================================== */
1221
+
1222
+ !function ( $ ) {
1223
+
1224
+ "use strict"
1225
+
1226
+ /* SCROLLSPY CLASS DEFINITION
1227
+ * ========================== */
1228
+
1229
+ function ScrollSpy( element, options) {
1230
+ var process = $.proxy(this.process, this)
1231
+ , $element = $(element).is('body') ? $(window) : $(element)
1232
+ , href
1233
+ this.options = $.extend({}, $.fn.scrollspy.defaults, options)
1234
+ this.$scrollElement = $element.on('scroll.scroll.data-api', process)
1235
+ this.selector = (this.options.target
1236
+ || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
1237
+ || '') + ' .nav li > a'
1238
+ this.$body = $('body').on('click.scroll.data-api', this.selector, process)
1239
+ this.refresh()
1240
+ this.process()
1241
+ }
1242
+
1243
+ ScrollSpy.prototype = {
1244
+
1245
+ constructor: ScrollSpy
1246
+
1247
+ , refresh: function () {
1248
+ this.targets = this.$body
1249
+ .find(this.selector)
1250
+ .map(function () {
1251
+ var href = $(this).attr('href')
1252
+ return /^#\w/.test(href) && $(href).length ? href : null
1253
+ })
1254
+
1255
+ this.offsets = $.map(this.targets, function (id) {
1256
+ return $(id).position().top
1257
+ })
1258
+ }
1259
+
1260
+ , process: function () {
1261
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
1262
+ , offsets = this.offsets
1263
+ , targets = this.targets
1264
+ , activeTarget = this.activeTarget
1265
+ , i
1266
+
1267
+ for (i = offsets.length; i--;) {
1268
+ activeTarget != targets[i]
1269
+ && scrollTop >= offsets[i]
1270
+ && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
1271
+ && this.activate( targets[i] )
1272
+ }
1273
+ }
1274
+
1275
+ , activate: function (target) {
1276
+ var active
1277
+
1278
+ this.activeTarget = target
1279
+
1280
+ this.$body
1281
+ .find(this.selector).parent('.active')
1282
+ .removeClass('active')
1283
+
1284
+ active = this.$body
1285
+ .find(this.selector + '[href="' + target + '"]')
1286
+ .parent('li')
1287
+ .addClass('active')
1288
+
1289
+ if ( active.parent('.dropdown-menu') ) {
1290
+ active.closest('li.dropdown').addClass('active')
1291
+ }
1292
+ }
1293
+
1294
+ }
1295
+
1296
+
1297
+ /* SCROLLSPY PLUGIN DEFINITION
1298
+ * =========================== */
1299
+
1300
+ $.fn.scrollspy = function ( option ) {
1301
+ return this.each(function () {
1302
+ var $this = $(this)
1303
+ , data = $this.data('scrollspy')
1304
+ , options = typeof option == 'object' && option
1305
+ if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
1306
+ if (typeof option == 'string') data[option]()
1307
+ })
1308
+ }
1309
+
1310
+ $.fn.scrollspy.Constructor = ScrollSpy
1311
+
1312
+ $.fn.scrollspy.defaults = {
1313
+ offset: 10
1314
+ }
1315
+
1316
+
1317
+ /* SCROLLSPY DATA-API
1318
+ * ================== */
1319
+
1320
+ $(function () {
1321
+ $('[data-spy="scroll"]').each(function () {
1322
+ var $spy = $(this)
1323
+ $spy.scrollspy($spy.data())
1324
+ })
1325
+ })
1326
+
1327
+ }( window.jQuery );/* ========================================================
1328
+ * bootstrap-tab.js v2.0.2
1329
+ * http://twitter.github.com/bootstrap/javascript.html#tabs
1330
+ * ========================================================
1331
+ * Copyright 2012 Twitter, Inc.
1332
+ *
1333
+ * Licensed under the Apache License, Version 2.0 (the "License");
1334
+ * you may not use this file except in compliance with the License.
1335
+ * You may obtain a copy of the License at
1336
+ *
1337
+ * http://www.apache.org/licenses/LICENSE-2.0
1338
+ *
1339
+ * Unless required by applicable law or agreed to in writing, software
1340
+ * distributed under the License is distributed on an "AS IS" BASIS,
1341
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1342
+ * See the License for the specific language governing permissions and
1343
+ * limitations under the License.
1344
+ * ======================================================== */
1345
+
1346
+
1347
+ !function( $ ){
1348
+
1349
+ "use strict"
1350
+
1351
+ /* TAB CLASS DEFINITION
1352
+ * ==================== */
1353
+
1354
+ var Tab = function ( element ) {
1355
+ this.element = $(element)
1356
+ }
1357
+
1358
+ Tab.prototype = {
1359
+
1360
+ constructor: Tab
1361
+
1362
+ , show: function () {
1363
+ var $this = this.element
1364
+ , $ul = $this.closest('ul:not(.dropdown-menu)')
1365
+ , selector = $this.attr('data-target')
1366
+ , previous
1367
+ , $target
1368
+
1369
+ if (!selector) {
1370
+ selector = $this.attr('href')
1371
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
1372
+ }
1373
+
1374
+ if ( $this.parent('li').hasClass('active') ) return
1375
+
1376
+ previous = $ul.find('.active a').last()[0]
1377
+
1378
+ $this.trigger({
1379
+ type: 'show'
1380
+ , relatedTarget: previous
1381
+ })
1382
+
1383
+ $target = $(selector)
1384
+
1385
+ this.activate($this.parent('li'), $ul)
1386
+ this.activate($target, $target.parent(), function () {
1387
+ $this.trigger({
1388
+ type: 'shown'
1389
+ , relatedTarget: previous
1390
+ })
1391
+ })
1392
+ }
1393
+
1394
+ , activate: function ( element, container, callback) {
1395
+ var $active = container.find('> .active')
1396
+ , transition = callback
1397
+ && $.support.transition
1398
+ && $active.hasClass('fade')
1399
+
1400
+ function next() {
1401
+ $active
1402
+ .removeClass('active')
1403
+ .find('> .dropdown-menu > .active')
1404
+ .removeClass('active')
1405
+
1406
+ element.addClass('active')
1407
+
1408
+ if (transition) {
1409
+ element[0].offsetWidth // reflow for transition
1410
+ element.addClass('in')
1411
+ } else {
1412
+ element.removeClass('fade')
1413
+ }
1414
+
1415
+ if ( element.parent('.dropdown-menu') ) {
1416
+ element.closest('li.dropdown').addClass('active')
1417
+ }
1418
+
1419
+ callback && callback()
1420
+ }
1421
+
1422
+ transition ?
1423
+ $active.one($.support.transition.end, next) :
1424
+ next()
1425
+
1426
+ $active.removeClass('in')
1427
+ }
1428
+ }
1429
+
1430
+
1431
+ /* TAB PLUGIN DEFINITION
1432
+ * ===================== */
1433
+
1434
+ $.fn.tab = function ( option ) {
1435
+ return this.each(function () {
1436
+ var $this = $(this)
1437
+ , data = $this.data('tab')
1438
+ if (!data) $this.data('tab', (data = new Tab(this)))
1439
+ if (typeof option == 'string') data[option]()
1440
+ })
1441
+ }
1442
+
1443
+ $.fn.tab.Constructor = Tab
1444
+
1445
+
1446
+ /* TAB DATA-API
1447
+ * ============ */
1448
+
1449
+ $(function () {
1450
+ $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
1451
+ e.preventDefault()
1452
+ $(this).tab('show')
1453
+ })
1454
+ })
1455
+
1456
+ }( window.jQuery );/* =============================================================
1457
+ * bootstrap-typeahead.js v2.0.2
1458
+ * http://twitter.github.com/bootstrap/javascript.html#typeahead
1459
+ * =============================================================
1460
+ * Copyright 2012 Twitter, Inc.
1461
+ *
1462
+ * Licensed under the Apache License, Version 2.0 (the "License");
1463
+ * you may not use this file except in compliance with the License.
1464
+ * You may obtain a copy of the License at
1465
+ *
1466
+ * http://www.apache.org/licenses/LICENSE-2.0
1467
+ *
1468
+ * Unless required by applicable law or agreed to in writing, software
1469
+ * distributed under the License is distributed on an "AS IS" BASIS,
1470
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1471
+ * See the License for the specific language governing permissions and
1472
+ * limitations under the License.
1473
+ * ============================================================ */
1474
+
1475
+ !function( $ ){
1476
+
1477
+ "use strict"
1478
+
1479
+ var Typeahead = function ( element, options ) {
1480
+ this.$element = $(element)
1481
+ this.options = $.extend({}, $.fn.typeahead.defaults, options)
1482
+ this.matcher = this.options.matcher || this.matcher
1483
+ this.sorter = this.options.sorter || this.sorter
1484
+ this.highlighter = this.options.highlighter || this.highlighter
1485
+ this.$menu = $(this.options.menu).appendTo('body')
1486
+ this.source = this.options.source
1487
+ this.shown = false
1488
+ this.listen()
1489
+ }
1490
+
1491
+ Typeahead.prototype = {
1492
+
1493
+ constructor: Typeahead
1494
+
1495
+ , select: function () {
1496
+ var val = this.$menu.find('.active').attr('data-value')
1497
+ this.$element.val(val)
1498
+ this.$element.change();
1499
+ return this.hide()
1500
+ }
1501
+
1502
+ , show: function () {
1503
+ var pos = $.extend({}, this.$element.offset(), {
1504
+ height: this.$element[0].offsetHeight
1505
+ })
1506
+
1507
+ this.$menu.css({
1508
+ top: pos.top + pos.height
1509
+ , left: pos.left
1510
+ })
1511
+
1512
+ this.$menu.show()
1513
+ this.shown = true
1514
+ return this
1515
+ }
1516
+
1517
+ , hide: function () {
1518
+ this.$menu.hide()
1519
+ this.shown = false
1520
+ return this
1521
+ }
1522
+
1523
+ , lookup: function (event) {
1524
+ var that = this
1525
+ , items
1526
+ , q
1527
+
1528
+ this.query = this.$element.val()
1529
+
1530
+ if (!this.query) {
1531
+ return this.shown ? this.hide() : this
1532
+ }
1533
+
1534
+ items = $.grep(this.source, function (item) {
1535
+ if (that.matcher(item)) return item
1536
+ })
1537
+
1538
+ items = this.sorter(items)
1539
+
1540
+ if (!items.length) {
1541
+ return this.shown ? this.hide() : this
1542
+ }
1543
+
1544
+ return this.render(items.slice(0, this.options.items)).show()
1545
+ }
1546
+
1547
+ , matcher: function (item) {
1548
+ return ~item.toLowerCase().indexOf(this.query.toLowerCase())
1549
+ }
1550
+
1551
+ , sorter: function (items) {
1552
+ var beginswith = []
1553
+ , caseSensitive = []
1554
+ , caseInsensitive = []
1555
+ , item
1556
+
1557
+ while (item = items.shift()) {
1558
+ if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
1559
+ else if (~item.indexOf(this.query)) caseSensitive.push(item)
1560
+ else caseInsensitive.push(item)
1561
+ }
1562
+
1563
+ return beginswith.concat(caseSensitive, caseInsensitive)
1564
+ }
1565
+
1566
+ , highlighter: function (item) {
1567
+ return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
1568
+ return '<strong>' + match + '</strong>'
1569
+ })
1570
+ }
1571
+
1572
+ , render: function (items) {
1573
+ var that = this
1574
+
1575
+ items = $(items).map(function (i, item) {
1576
+ i = $(that.options.item).attr('data-value', item)
1577
+ i.find('a').html(that.highlighter(item))
1578
+ return i[0]
1579
+ })
1580
+
1581
+ items.first().addClass('active')
1582
+ this.$menu.html(items)
1583
+ return this
1584
+ }
1585
+
1586
+ , next: function (event) {
1587
+ var active = this.$menu.find('.active').removeClass('active')
1588
+ , next = active.next()
1589
+
1590
+ if (!next.length) {
1591
+ next = $(this.$menu.find('li')[0])
1592
+ }
1593
+
1594
+ next.addClass('active')
1595
+ }
1596
+
1597
+ , prev: function (event) {
1598
+ var active = this.$menu.find('.active').removeClass('active')
1599
+ , prev = active.prev()
1600
+
1601
+ if (!prev.length) {
1602
+ prev = this.$menu.find('li').last()
1603
+ }
1604
+
1605
+ prev.addClass('active')
1606
+ }
1607
+
1608
+ , listen: function () {
1609
+ this.$element
1610
+ .on('blur', $.proxy(this.blur, this))
1611
+ .on('keypress', $.proxy(this.keypress, this))
1612
+ .on('keyup', $.proxy(this.keyup, this))
1613
+
1614
+ if ($.browser.webkit || $.browser.msie) {
1615
+ this.$element.on('keydown', $.proxy(this.keypress, this))
1616
+ }
1617
+
1618
+ this.$menu
1619
+ .on('click', $.proxy(this.click, this))
1620
+ .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
1621
+ }
1622
+
1623
+ , keyup: function (e) {
1624
+ switch(e.keyCode) {
1625
+ case 40: // down arrow
1626
+ case 38: // up arrow
1627
+ break
1628
+
1629
+ case 9: // tab
1630
+ case 13: // enter
1631
+ if (!this.shown) return
1632
+ this.select()
1633
+ break
1634
+
1635
+ case 27: // escape
1636
+ if (!this.shown) return
1637
+ this.hide()
1638
+ break
1639
+
1640
+ default:
1641
+ this.lookup()
1642
+ }
1643
+
1644
+ e.stopPropagation()
1645
+ e.preventDefault()
1646
+ }
1647
+
1648
+ , keypress: function (e) {
1649
+ if (!this.shown) return
1650
+
1651
+ switch(e.keyCode) {
1652
+ case 9: // tab
1653
+ case 13: // enter
1654
+ case 27: // escape
1655
+ e.preventDefault()
1656
+ break
1657
+
1658
+ case 38: // up arrow
1659
+ e.preventDefault()
1660
+ this.prev()
1661
+ break
1662
+
1663
+ case 40: // down arrow
1664
+ e.preventDefault()
1665
+ this.next()
1666
+ break
1667
+ }
1668
+
1669
+ e.stopPropagation()
1670
+ }
1671
+
1672
+ , blur: function (e) {
1673
+ var that = this
1674
+ setTimeout(function () { that.hide() }, 150)
1675
+ }
1676
+
1677
+ , click: function (e) {
1678
+ e.stopPropagation()
1679
+ e.preventDefault()
1680
+ this.select()
1681
+ }
1682
+
1683
+ , mouseenter: function (e) {
1684
+ this.$menu.find('.active').removeClass('active')
1685
+ $(e.currentTarget).addClass('active')
1686
+ }
1687
+
1688
+ }
1689
+
1690
+
1691
+ /* TYPEAHEAD PLUGIN DEFINITION
1692
+ * =========================== */
1693
+
1694
+ $.fn.typeahead = function ( option ) {
1695
+ return this.each(function () {
1696
+ var $this = $(this)
1697
+ , data = $this.data('typeahead')
1698
+ , options = typeof option == 'object' && option
1699
+ if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
1700
+ if (typeof option == 'string') data[option]()
1701
+ })
1702
+ }
1703
+
1704
+ $.fn.typeahead.defaults = {
1705
+ source: []
1706
+ , items: 8
1707
+ , menu: '<ul class="typeahead dropdown-menu"></ul>'
1708
+ , item: '<li><a href="#"></a></li>'
1709
+ }
1710
+
1711
+ $.fn.typeahead.Constructor = Typeahead
1712
+
1713
+
1714
+ /* TYPEAHEAD DATA-API
1715
+ * ================== */
1716
+
1717
+ $(function () {
1718
+ $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
1719
+ var $this = $(this)
1720
+ if ($this.data('typeahead')) return
1721
+ e.preventDefault()
1722
+ $this.typeahead($this.data())
1723
+ })
1724
+ })
1725
+
1726
+ }( window.jQuery );