aa-rails4 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (487) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.gitignore +43 -0
  4. data/.travis.yml +8 -0
  5. data/.yardopts +7 -0
  6. data/CHANGELOG.md +894 -0
  7. data/CONTRIBUTING.md +121 -0
  8. data/Gemfile +40 -0
  9. data/Guardfile +7 -0
  10. data/LICENSE +25 -0
  11. data/README.rdoc +118 -0
  12. data/Rakefile +26 -0
  13. data/activeadmin.gemspec +33 -0
  14. data/app/assets/images/active_admin/admin_notes_icon.png +0 -0
  15. data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
  16. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  17. data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
  18. data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
  19. data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
  20. data/app/assets/images/active_admin/index_list_icons/block_icon.svg +10 -0
  21. data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +4 -0
  22. data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +13 -0
  23. data/app/assets/images/active_admin/index_list_icons/table_icon.svg +3 -0
  24. data/app/assets/images/active_admin/loading.gif +0 -0
  25. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  26. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  27. data/app/assets/images/active_admin/orderable.png +0 -0
  28. data/app/assets/javascripts/active_admin/application.js +3 -0
  29. data/app/assets/javascripts/active_admin/base.js +5 -0
  30. data/app/assets/javascripts/active_admin/components/jquery.aa.checkbox-toggler.js.coffee +37 -0
  31. data/app/assets/javascripts/active_admin/components/jquery.aa.dropdown-menu.js.coffee +105 -0
  32. data/app/assets/javascripts/active_admin/components/jquery.aa.popover.js.coffee +97 -0
  33. data/app/assets/javascripts/active_admin/components/jquery.aa.table-checkbox-toggler.js.coffee +25 -0
  34. data/app/assets/javascripts/active_admin/lib/namespace.js.coffee +3 -0
  35. data/app/assets/javascripts/active_admin/pages/application.js.coffee +21 -0
  36. data/app/assets/javascripts/active_admin/pages/batch_actions.js.coffee +26 -0
  37. data/app/assets/stylesheets/active_admin/_base.css.scss +41 -0
  38. data/app/assets/stylesheets/active_admin/_forms.css.scss +281 -0
  39. data/app/assets/stylesheets/active_admin/_header.css.scss +152 -0
  40. data/app/assets/stylesheets/active_admin/_mixins.css.scss +1 -0
  41. data/app/assets/stylesheets/active_admin/_typography.css.scss +100 -0
  42. data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +11 -0
  43. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +31 -0
  44. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
  45. data/app/assets/stylesheets/active_admin/components/_buttons.scss +11 -0
  46. data/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
  47. data/app/assets/stylesheets/active_admin/components/_comments.css.scss +41 -0
  48. data/app/assets/stylesheets/active_admin/components/_date_picker.css.scss +123 -0
  49. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +151 -0
  50. data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +39 -0
  51. data/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
  52. data/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
  53. data/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
  54. data/app/assets/stylesheets/active_admin/components/_pagination.scss +34 -0
  55. data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
  56. data/app/assets/stylesheets/active_admin/components/_popovers.css.scss +123 -0
  57. data/app/assets/stylesheets/active_admin/components/_scopes.scss +10 -0
  58. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
  59. data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +95 -0
  60. data/app/assets/stylesheets/active_admin/components/_tables.css.scss +108 -0
  61. data/app/assets/stylesheets/active_admin/mixins/_all.css.scss +11 -0
  62. data/app/assets/stylesheets/active_admin/mixins/_buttons.css.scss +66 -0
  63. data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +38 -0
  64. data/app/assets/stylesheets/active_admin/mixins/_icons.css.scss +21 -0
  65. data/app/assets/stylesheets/active_admin/mixins/_reset.css.scss +165 -0
  66. data/app/assets/stylesheets/active_admin/mixins/_rounded.css.scss +43 -0
  67. data/app/assets/stylesheets/active_admin/mixins/_sections.css.scss +36 -0
  68. data/app/assets/stylesheets/active_admin/mixins/_shadows.css.scss +22 -0
  69. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
  70. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +26 -0
  71. data/app/assets/stylesheets/active_admin/mixins/_variables.css.scss +24 -0
  72. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
  73. data/app/assets/stylesheets/active_admin/print.css.scss +284 -0
  74. data/app/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
  75. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +26 -0
  76. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +44 -0
  77. data/app/views/active_admin/dashboard/index.html.arb +1 -0
  78. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
  79. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
  80. data/app/views/active_admin/devise/passwords/edit.html.erb +19 -0
  81. data/app/views/active_admin/devise/passwords/new.html.erb +14 -0
  82. data/app/views/active_admin/devise/sessions/new.html.erb +18 -0
  83. data/app/views/active_admin/devise/shared/_links.erb +27 -0
  84. data/app/views/active_admin/devise/unlocks/new.html.erb +14 -0
  85. data/app/views/active_admin/page/index.html.arb +1 -0
  86. data/app/views/active_admin/resource/edit.html.arb +1 -0
  87. data/app/views/active_admin/resource/index.csv.erb +17 -0
  88. data/app/views/active_admin/resource/index.html.arb +1 -0
  89. data/app/views/active_admin/resource/new.html.arb +1 -0
  90. data/app/views/active_admin/resource/show.html.arb +1 -0
  91. data/app/views/layouts/active_admin.html.arb +1 -0
  92. data/app/views/layouts/active_admin_logged_out.html.erb +37 -0
  93. data/config/locales/bg.yml +101 -0
  94. data/config/locales/ca.yml +98 -0
  95. data/config/locales/cs.yml +92 -0
  96. data/config/locales/da.yml +102 -0
  97. data/config/locales/de-CH.yml +117 -0
  98. data/config/locales/de.yml +119 -0
  99. data/config/locales/en-GB.yml +90 -0
  100. data/config/locales/en.yml +101 -0
  101. data/config/locales/es.yml +106 -0
  102. data/config/locales/es_MX.yml +104 -0
  103. data/config/locales/fr.yml +89 -0
  104. data/config/locales/he.yml +91 -0
  105. data/config/locales/hr.yml +93 -0
  106. data/config/locales/hu.yml +92 -0
  107. data/config/locales/it.yml +89 -0
  108. data/config/locales/ja.yml +87 -0
  109. data/config/locales/ko.yml +84 -0
  110. data/config/locales/lt.yml +90 -0
  111. data/config/locales/lv.yml +89 -0
  112. data/config/locales/nl.yml +90 -0
  113. data/config/locales/no-NB.yml +85 -0
  114. data/config/locales/pl.yml +93 -0
  115. data/config/locales/pt-BR.yml +89 -0
  116. data/config/locales/pt-PT.yml +89 -0
  117. data/config/locales/ro.yml +93 -0
  118. data/config/locales/ru.yml +103 -0
  119. data/config/locales/sv-SE.yml +89 -0
  120. data/config/locales/tr.yml +90 -0
  121. data/config/locales/uk.yml +100 -0
  122. data/config/locales/vi.yml +90 -0
  123. data/config/locales/zh-CN.yml +90 -0
  124. data/config/locales/zh-TW.yml +90 -0
  125. data/cucumber.yml +3 -0
  126. data/docs/0-installation.md +56 -0
  127. data/docs/1-general-configuration.md +129 -0
  128. data/docs/10-custom-pages.md +96 -0
  129. data/docs/11-decorators.md +66 -0
  130. data/docs/12-arbre-components.md +144 -0
  131. data/docs/13-authorization-adapter.md +206 -0
  132. data/docs/2-resource-customization.md +292 -0
  133. data/docs/3-index-pages.md +191 -0
  134. data/docs/3-index-pages/create-an-index.md +29 -0
  135. data/docs/3-index-pages/index-as-block.md +16 -0
  136. data/docs/3-index-pages/index-as-blog.md +61 -0
  137. data/docs/3-index-pages/index-as-grid.md +21 -0
  138. data/docs/3-index-pages/index-as-table.md +120 -0
  139. data/docs/4-csv-format.md +32 -0
  140. data/docs/5-forms.md +72 -0
  141. data/docs/6-show-pages.md +43 -0
  142. data/docs/7-sidebars.md +42 -0
  143. data/docs/8-custom-actions.md +139 -0
  144. data/docs/9-batch-actions.md +161 -0
  145. data/features/action_item.feature +73 -0
  146. data/features/authorization.feature +64 -0
  147. data/features/authorization_cancan.feature +52 -0
  148. data/features/belongs_to.feature +63 -0
  149. data/features/breadcrumb.feature +27 -0
  150. data/features/comments/commenting.feature +128 -0
  151. data/features/comments/viewing_index.feature +19 -0
  152. data/features/dashboard.feature +16 -0
  153. data/features/decorators.feature +41 -0
  154. data/features/development_reloading.feature +31 -0
  155. data/features/edit_page.feature +127 -0
  156. data/features/favicon.feature +20 -0
  157. data/features/first_boot.feature +16 -0
  158. data/features/global_navigation.feature +29 -0
  159. data/features/i18n.feature +38 -0
  160. data/features/index/batch_actions.feature +123 -0
  161. data/features/index/filters.feature +94 -0
  162. data/features/index/format_as_csv.feature +117 -0
  163. data/features/index/formats.feature +39 -0
  164. data/features/index/index_as_block.feature +15 -0
  165. data/features/index/index_as_blog.feature +69 -0
  166. data/features/index/index_as_grid.feature +45 -0
  167. data/features/index/index_as_table.feature +195 -0
  168. data/features/index/index_blank_slate.feature +61 -0
  169. data/features/index/index_parameters.feature +75 -0
  170. data/features/index/index_scope_to.feature +56 -0
  171. data/features/index/index_scopes.feature +251 -0
  172. data/features/index/page_title.feature +30 -0
  173. data/features/index/pagination.feature +59 -0
  174. data/features/index/switch_index_view.feature +73 -0
  175. data/features/menu.feature +53 -0
  176. data/features/new_page.feature +119 -0
  177. data/features/registering_assets.feature +35 -0
  178. data/features/registering_pages.feature +148 -0
  179. data/features/registering_resources.feature +33 -0
  180. data/features/root_to.feature +17 -0
  181. data/features/show/default_content.feature +43 -0
  182. data/features/show/page_title.feature +47 -0
  183. data/features/sidebar_sections.feature +198 -0
  184. data/features/site_title.feature +47 -0
  185. data/features/specifying_actions.feature +93 -0
  186. data/features/step_definitions/action_item_steps.rb +7 -0
  187. data/features/step_definitions/action_link_steps.rb +7 -0
  188. data/features/step_definitions/additional_web_steps.rb +82 -0
  189. data/features/step_definitions/asset_steps.rb +15 -0
  190. data/features/step_definitions/attribute_steps.rb +13 -0
  191. data/features/step_definitions/batch_action_steps.rb +55 -0
  192. data/features/step_definitions/breadcrumb_steps.rb +3 -0
  193. data/features/step_definitions/comment_steps.rb +12 -0
  194. data/features/step_definitions/configuration_steps.rb +93 -0
  195. data/features/step_definitions/dashboard_steps.rb +15 -0
  196. data/features/step_definitions/factory_steps.rb +33 -0
  197. data/features/step_definitions/filter_steps.rb +17 -0
  198. data/features/step_definitions/flash_steps.rb +11 -0
  199. data/features/step_definitions/format_steps.rb +46 -0
  200. data/features/step_definitions/i18n_steps.rb +3 -0
  201. data/features/step_definitions/index_scope_steps.rb +21 -0
  202. data/features/step_definitions/index_views_steps.rb +3 -0
  203. data/features/step_definitions/layout_steps.rb +3 -0
  204. data/features/step_definitions/member_link_steps.rb +7 -0
  205. data/features/step_definitions/menu_steps.rb +11 -0
  206. data/features/step_definitions/pagination_steps.rb +8 -0
  207. data/features/step_definitions/sidebar_steps.rb +8 -0
  208. data/features/step_definitions/site_title_steps.rb +15 -0
  209. data/features/step_definitions/tab_steps.rb +3 -0
  210. data/features/step_definitions/table_steps.rb +119 -0
  211. data/features/step_definitions/user_steps.rb +39 -0
  212. data/features/step_definitions/web_steps.rb +82 -0
  213. data/features/sti_resource.feature +73 -0
  214. data/features/support/env.rb +118 -0
  215. data/features/support/paths.rb +63 -0
  216. data/features/support/selectors.rb +45 -0
  217. data/features/users/logging_in.feature +34 -0
  218. data/features/users/logging_out.feature +13 -0
  219. data/features/users/resetting_password.feature +34 -0
  220. data/lib/active_admin.rb +120 -0
  221. data/lib/active_admin/abstract_view_factory.rb +95 -0
  222. data/lib/active_admin/application.rb +245 -0
  223. data/lib/active_admin/asset_registration.rb +29 -0
  224. data/lib/active_admin/authorization_adapter.rb +132 -0
  225. data/lib/active_admin/base_controller.rb +78 -0
  226. data/lib/active_admin/base_controller/authorization.rb +153 -0
  227. data/lib/active_admin/base_controller/menu.rb +34 -0
  228. data/lib/active_admin/batch_actions.rb +17 -0
  229. data/lib/active_admin/batch_actions/controller.rb +25 -0
  230. data/lib/active_admin/batch_actions/resource_extension.rb +127 -0
  231. data/lib/active_admin/batch_actions/views/batch_action_form.rb +35 -0
  232. data/lib/active_admin/batch_actions/views/batch_action_popover.rb +28 -0
  233. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +66 -0
  234. data/lib/active_admin/batch_actions/views/selection_cells.rb +37 -0
  235. data/lib/active_admin/callbacks.rb +87 -0
  236. data/lib/active_admin/cancan_adapter.rb +40 -0
  237. data/lib/active_admin/comments.rb +83 -0
  238. data/lib/active_admin/comments/comment.rb +49 -0
  239. data/lib/active_admin/comments/namespace_helper.rb +14 -0
  240. data/lib/active_admin/comments/resource_helper.rb +17 -0
  241. data/lib/active_admin/comments/show_page_helper.rb +23 -0
  242. data/lib/active_admin/comments/views.rb +2 -0
  243. data/lib/active_admin/comments/views/active_admin_comments.rb +75 -0
  244. data/lib/active_admin/component.rb +5 -0
  245. data/lib/active_admin/controller_action.rb +12 -0
  246. data/lib/active_admin/csv_builder.rb +49 -0
  247. data/lib/active_admin/deprecation.rb +36 -0
  248. data/lib/active_admin/devise.rb +70 -0
  249. data/lib/active_admin/dsl.rb +166 -0
  250. data/lib/active_admin/engine.rb +7 -0
  251. data/lib/active_admin/event.rb +33 -0
  252. data/lib/active_admin/filters.rb +9 -0
  253. data/lib/active_admin/filters/dsl.rb +21 -0
  254. data/lib/active_admin/filters/forms.rb +89 -0
  255. data/lib/active_admin/filters/formtastic_addons.rb +50 -0
  256. data/lib/active_admin/filters/resource_extension.rb +129 -0
  257. data/lib/active_admin/form_builder.rb +189 -0
  258. data/lib/active_admin/helpers/collection.rb +23 -0
  259. data/lib/active_admin/helpers/optional_display.rb +38 -0
  260. data/lib/active_admin/helpers/scope_chain.rb +23 -0
  261. data/lib/active_admin/helpers/settings.rb +108 -0
  262. data/lib/active_admin/iconic.rb +51 -0
  263. data/lib/active_admin/iconic/icons.rb +142 -0
  264. data/lib/active_admin/inputs.rb +15 -0
  265. data/lib/active_admin/inputs/datepicker_input.rb +11 -0
  266. data/lib/active_admin/inputs/filter_base.rb +33 -0
  267. data/lib/active_admin/inputs/filter_base/search_method_select.rb +73 -0
  268. data/lib/active_admin/inputs/filter_boolean_input.rb +32 -0
  269. data/lib/active_admin/inputs/filter_check_boxes_input.rb +40 -0
  270. data/lib/active_admin/inputs/filter_date_range_input.rb +34 -0
  271. data/lib/active_admin/inputs/filter_numeric_input.rb +10 -0
  272. data/lib/active_admin/inputs/filter_select_input.rb +45 -0
  273. data/lib/active_admin/inputs/filter_string_input.rb +24 -0
  274. data/lib/active_admin/menu.rb +107 -0
  275. data/lib/active_admin/menu_collection.rb +96 -0
  276. data/lib/active_admin/menu_item.rb +97 -0
  277. data/lib/active_admin/namespace.rb +221 -0
  278. data/lib/active_admin/page.rb +88 -0
  279. data/lib/active_admin/page_controller.rb +29 -0
  280. data/lib/active_admin/page_dsl.rb +28 -0
  281. data/lib/active_admin/page_presenter.rb +32 -0
  282. data/lib/active_admin/resource.rb +160 -0
  283. data/lib/active_admin/resource/action_items.rb +93 -0
  284. data/lib/active_admin/resource/belongs_to.rb +36 -0
  285. data/lib/active_admin/resource/controllers.rb +18 -0
  286. data/lib/active_admin/resource/menu.rb +64 -0
  287. data/lib/active_admin/resource/naming.rb +78 -0
  288. data/lib/active_admin/resource/page_presenters.rb +82 -0
  289. data/lib/active_admin/resource/pagination.rb +19 -0
  290. data/lib/active_admin/resource/routes.rb +99 -0
  291. data/lib/active_admin/resource/scope_to.rb +74 -0
  292. data/lib/active_admin/resource/scopes.rb +50 -0
  293. data/lib/active_admin/resource/sidebars.rb +27 -0
  294. data/lib/active_admin/resource_collection.rb +42 -0
  295. data/lib/active_admin/resource_controller.rb +51 -0
  296. data/lib/active_admin/resource_controller/action_builder.rb +21 -0
  297. data/lib/active_admin/resource_controller/actions.rb +81 -0
  298. data/lib/active_admin/resource_controller/data_access.rb +303 -0
  299. data/lib/active_admin/resource_controller/decorators.rb +20 -0
  300. data/lib/active_admin/resource_controller/resource_class_methods.rb +24 -0
  301. data/lib/active_admin/resource_controller/scoping.rb +31 -0
  302. data/lib/active_admin/resource_controller/sidebars.rb +18 -0
  303. data/lib/active_admin/resource_dsl.rb +134 -0
  304. data/lib/active_admin/router.rb +106 -0
  305. data/lib/active_admin/scope.rb +57 -0
  306. data/lib/active_admin/sidebar_section.rb +37 -0
  307. data/lib/active_admin/version.rb +3 -0
  308. data/lib/active_admin/view_factory.rb +28 -0
  309. data/lib/active_admin/view_helpers.rb +21 -0
  310. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
  311. data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +7 -0
  312. data/lib/active_admin/view_helpers/auto_link_helper.rb +34 -0
  313. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +26 -0
  314. data/lib/active_admin/view_helpers/display_helper.rb +47 -0
  315. data/lib/active_admin/view_helpers/download_format_links_helper.rb +50 -0
  316. data/lib/active_admin/view_helpers/fields_for.rb +50 -0
  317. data/lib/active_admin/view_helpers/flash_helper.rb +13 -0
  318. data/lib/active_admin/view_helpers/form_helper.rb +24 -0
  319. data/lib/active_admin/view_helpers/icon_helper.rb +12 -0
  320. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +93 -0
  321. data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
  322. data/lib/active_admin/view_helpers/title_helper.rb +11 -0
  323. data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
  324. data/lib/active_admin/views.rb +8 -0
  325. data/lib/active_admin/views/action_items.rb +17 -0
  326. data/lib/active_admin/views/components/action_list_popover.rb +29 -0
  327. data/lib/active_admin/views/components/attributes_table.rb +70 -0
  328. data/lib/active_admin/views/components/blank_slate.rb +17 -0
  329. data/lib/active_admin/views/components/columns.rb +150 -0
  330. data/lib/active_admin/views/components/dropdown_menu.rb +73 -0
  331. data/lib/active_admin/views/components/index_list.rb +68 -0
  332. data/lib/active_admin/views/components/paginated_collection.rb +123 -0
  333. data/lib/active_admin/views/components/panel.rb +34 -0
  334. data/lib/active_admin/views/components/popover.rb +27 -0
  335. data/lib/active_admin/views/components/scopes.rb +65 -0
  336. data/lib/active_admin/views/components/sidebar_section.rb +28 -0
  337. data/lib/active_admin/views/components/site_title.rb +55 -0
  338. data/lib/active_admin/views/components/status_tag.rb +56 -0
  339. data/lib/active_admin/views/components/table_for.rb +191 -0
  340. data/lib/active_admin/views/dashboard_section_renderer.rb +19 -0
  341. data/lib/active_admin/views/footer.rb +20 -0
  342. data/lib/active_admin/views/header.rb +32 -0
  343. data/lib/active_admin/views/index_as_block.rb +36 -0
  344. data/lib/active_admin/views/index_as_blog.rb +150 -0
  345. data/lib/active_admin/views/index_as_grid.rb +76 -0
  346. data/lib/active_admin/views/index_as_table.rb +238 -0
  347. data/lib/active_admin/views/pages/base.rb +139 -0
  348. data/lib/active_admin/views/pages/dashboard.rb +62 -0
  349. data/lib/active_admin/views/pages/form.rb +51 -0
  350. data/lib/active_admin/views/pages/index.rb +158 -0
  351. data/lib/active_admin/views/pages/layout.rb +26 -0
  352. data/lib/active_admin/views/pages/page.rb +30 -0
  353. data/lib/active_admin/views/pages/show.rb +59 -0
  354. data/lib/active_admin/views/tabbed_navigation.rb +62 -0
  355. data/lib/active_admin/views/title_bar.rb +53 -0
  356. data/lib/activeadmin.rb +1 -0
  357. data/lib/generators/active_admin/assets/assets_generator.rb +16 -0
  358. data/lib/generators/active_admin/assets/templates/active_admin.css.scss +17 -0
  359. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +1 -0
  360. data/lib/generators/active_admin/devise/devise_generator.rb +78 -0
  361. data/lib/generators/active_admin/install/install_generator.rb +46 -0
  362. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +214 -0
  363. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +27 -0
  364. data/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
  365. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +19 -0
  366. data/lib/generators/active_admin/resource/resource_generator.rb +16 -0
  367. data/lib/generators/active_admin/resource/templates/admin.rb +3 -0
  368. data/lib/ransack_ext.rb +12 -0
  369. data/script/local +44 -0
  370. data/script/use_rails +53 -0
  371. data/spec/integration/default_namespace_spec.rb +61 -0
  372. data/spec/integration/javascript_spec.rb +20 -0
  373. data/spec/integration/memory_spec.rb +29 -0
  374. data/spec/integration/stylesheets_spec.rb +41 -0
  375. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +50 -0
  376. data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +82 -0
  377. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +34 -0
  378. data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +60 -0
  379. data/spec/javascripts/compiled/jquery.aa.popover-spec.js +106 -0
  380. data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +37 -0
  381. data/spec/javascripts/fixtures/checkboxes.html +9 -0
  382. data/spec/javascripts/fixtures/table_checkboxes.html +17 -0
  383. data/spec/javascripts/helpers/SpecHelper.js +3 -0
  384. data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +108 -0
  385. data/spec/javascripts/helpers/vendor/jasmine-jquery.js +288 -0
  386. data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +2915 -0
  387. data/spec/javascripts/support/jasmine.yml +74 -0
  388. data/spec/javascripts/support/jasmine_config.rb +23 -0
  389. data/spec/javascripts/support/jasmine_runner.rb +32 -0
  390. data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +34 -0
  391. data/spec/javascripts/support/jquery.min.js +4 -0
  392. data/spec/spec_helper.rb +175 -0
  393. data/spec/spec_helper_without_rails.rb +11 -0
  394. data/spec/support/deferred_garbage_collection.rb +19 -0
  395. data/spec/support/detect_rails_version.rb +42 -0
  396. data/spec/support/integration_example_group.rb +31 -0
  397. data/spec/support/jslint.yml +80 -0
  398. data/spec/support/rails_template.rb +104 -0
  399. data/spec/support/rails_template_with_data.rb +59 -0
  400. data/spec/support/templates/admin/stores.rb +11 -0
  401. data/spec/support/templates/cucumber.rb +24 -0
  402. data/spec/support/templates/cucumber_with_reloading.rb +5 -0
  403. data/spec/support/templates/en.yml +8 -0
  404. data/spec/support/templates/post_decorator.rb +53 -0
  405. data/spec/unit/abstract_view_factory_spec.rb +79 -0
  406. data/spec/unit/action_builder_spec.rb +126 -0
  407. data/spec/unit/active_admin_spec.rb +11 -0
  408. data/spec/unit/application_spec.rb +141 -0
  409. data/spec/unit/asset_registration_spec.rb +56 -0
  410. data/spec/unit/authorization/authorization_adapter_spec.rb +61 -0
  411. data/spec/unit/authorization/controller_authorization_spec.rb +39 -0
  412. data/spec/unit/auto_link_spec.rb +39 -0
  413. data/spec/unit/batch_actions/resource_spec.rb +91 -0
  414. data/spec/unit/batch_actions/settings_spec.rb +61 -0
  415. data/spec/unit/belongs_to_spec.rb +42 -0
  416. data/spec/unit/cancan_adapter_spec.rb +43 -0
  417. data/spec/unit/comments_spec.rb +106 -0
  418. data/spec/unit/component_spec.rb +18 -0
  419. data/spec/unit/config_shared_examples.rb +59 -0
  420. data/spec/unit/controller_filters_spec.rb +27 -0
  421. data/spec/unit/csv_builder_spec.rb +103 -0
  422. data/spec/unit/devise_spec.rb +116 -0
  423. data/spec/unit/dsl_spec.rb +61 -0
  424. data/spec/unit/event_spec.rb +47 -0
  425. data/spec/unit/filters/filter_form_builder_spec.rb +338 -0
  426. data/spec/unit/filters/resource_spec.rb +87 -0
  427. data/spec/unit/form_builder_spec.rb +478 -0
  428. data/spec/unit/generators/install_spec.rb +23 -0
  429. data/spec/unit/helpers/collection_spec.rb +65 -0
  430. data/spec/unit/helpers/scope_chain_spec.rb +36 -0
  431. data/spec/unit/helpers/settings_spec.rb +30 -0
  432. data/spec/unit/menu_collection_spec.rb +62 -0
  433. data/spec/unit/menu_item_spec.rb +143 -0
  434. data/spec/unit/menu_spec.rb +71 -0
  435. data/spec/unit/namespace/authorization_spec.rb +27 -0
  436. data/spec/unit/namespace/register_page_spec.rb +74 -0
  437. data/spec/unit/namespace/register_resource_spec.rb +163 -0
  438. data/spec/unit/namespace_spec.rb +103 -0
  439. data/spec/unit/page_controller_spec.rb +5 -0
  440. data/spec/unit/page_spec.rb +72 -0
  441. data/spec/unit/pretty_format_spec.rb +35 -0
  442. data/spec/unit/resource/action_items_spec.rb +62 -0
  443. data/spec/unit/resource/menu_spec.rb +18 -0
  444. data/spec/unit/resource/naming_spec.rb +108 -0
  445. data/spec/unit/resource/page_presenters_spec.rb +44 -0
  446. data/spec/unit/resource/pagination_spec.rb +38 -0
  447. data/spec/unit/resource/routes_spec.rb +73 -0
  448. data/spec/unit/resource/scopes_spec.rb +43 -0
  449. data/spec/unit/resource/sidebars_spec.rb +43 -0
  450. data/spec/unit/resource_collection_spec.rb +79 -0
  451. data/spec/unit/resource_controller/data_access_spec.rb +73 -0
  452. data/spec/unit/resource_controller/sidebars_spec.rb +46 -0
  453. data/spec/unit/resource_controller_spec.rb +265 -0
  454. data/spec/unit/resource_registration_spec.rb +56 -0
  455. data/spec/unit/resource_spec.rb +243 -0
  456. data/spec/unit/routing_spec.rb +172 -0
  457. data/spec/unit/scope_spec.rb +108 -0
  458. data/spec/unit/settings_spec.rb +88 -0
  459. data/spec/unit/view_factory_spec.rb +22 -0
  460. data/spec/unit/view_helpers/breadcrumbs_spec.rb +152 -0
  461. data/spec/unit/view_helpers/display_name_spec.rb +41 -0
  462. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +39 -0
  463. data/spec/unit/view_helpers/fields_for_spec.rb +50 -0
  464. data/spec/unit/view_helpers/form_helper_spec.rb +56 -0
  465. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +97 -0
  466. data/spec/unit/views/components/action_list_popover_spec.rb +30 -0
  467. data/spec/unit/views/components/attributes_table_spec.rb +131 -0
  468. data/spec/unit/views/components/batch_action_popover_spec.rb +33 -0
  469. data/spec/unit/views/components/blank_slate_spec.rb +17 -0
  470. data/spec/unit/views/components/columns_spec.rb +142 -0
  471. data/spec/unit/views/components/index_list_spec.rb +32 -0
  472. data/spec/unit/views/components/paginated_collection_spec.rb +247 -0
  473. data/spec/unit/views/components/panel_spec.rb +51 -0
  474. data/spec/unit/views/components/popover_spec.rb +33 -0
  475. data/spec/unit/views/components/sidebar_section_spec.rb +37 -0
  476. data/spec/unit/views/components/site_title_spec.rb +78 -0
  477. data/spec/unit/views/components/status_tag_spec.rb +95 -0
  478. data/spec/unit/views/components/table_for_spec.rb +182 -0
  479. data/spec/unit/views/pages/layout_spec.rb +63 -0
  480. data/spec/unit/views/pages/show_spec.rb +20 -0
  481. data/spec/unit/views/tabbed_navigation_spec.rb +149 -0
  482. data/tasks/docs.rake +39 -0
  483. data/tasks/js.rake +32 -0
  484. data/tasks/parallel_tests.rake +60 -0
  485. data/tasks/test.rake +79 -0
  486. data/tasks/yard.rake +6 -0
  487. metadata +883 -0
@@ -0,0 +1,189 @@
1
+ module ActiveAdmin
2
+ class FormBuilder < ::Formtastic::FormBuilder
3
+
4
+ attr_reader :form_buffers
5
+
6
+ def initialize(*args)
7
+ @form_buffers = ["".html_safe]
8
+ super
9
+ end
10
+
11
+ def inputs(*args, &block)
12
+ @use_form_buffer = block_given?
13
+ form_buffers.last << with_new_form_buffer{ super }
14
+ end
15
+
16
+ # If this `input` call is inside a `inputs` block, add the content
17
+ # to the form buffer. Else, return it directly.
18
+ def input(method, *args)
19
+ content = with_new_form_buffer{ super }
20
+ @use_form_buffer ? form_buffers.last << content : content
21
+ end
22
+
23
+ def cancel_link(url = {:action => "index"}, html_options = {}, li_attrs = {})
24
+ li_attrs[:class] ||= "cancel"
25
+ li_content = template.link_to I18n.t('active_admin.cancel'), url, html_options
26
+ form_buffers.last << template.content_tag(:li, li_content, li_attrs)
27
+ end
28
+
29
+ def actions(*args, &block)
30
+ form_buffers.last << with_new_form_buffer do
31
+ block_given? ? super : super{ commit_action_with_cancel_link }
32
+ end
33
+ end
34
+
35
+ def action(*args)
36
+ form_buffers.last << with_new_form_buffer{ super }
37
+ end
38
+
39
+ def commit_action_with_cancel_link
40
+ action(:submit)
41
+ cancel_link
42
+ end
43
+
44
+ def has_many(association, options = {}, &block)
45
+ options = { :for => association, :new_record => true }.merge(options)
46
+ options[:class] ||= ""
47
+ options[:class] << "inputs has_many_fields"
48
+
49
+ # Add Delete Links
50
+ form_block = proc do |has_many_form|
51
+ # @see https://github.com/justinfrench/formtastic/blob/2.2.1/lib/formtastic/helpers/inputs_helper.rb#L373
52
+ contents = if block.arity == 1 # for backwards compatibility with REE & Ruby 1.8.x
53
+ block.call(has_many_form)
54
+ else
55
+ index = parent_child_index(options[:parent]) if options[:parent]
56
+ block.call(has_many_form, index)
57
+ end
58
+
59
+ if has_many_form.object.new_record?
60
+ contents += template.content_tag(:li, :class => 'has_many_delete') do
61
+ template.link_to I18n.t('active_admin.has_many_delete'), "#", :onclick => "$(this).closest('.has_many_fields').remove(); return false;", :class => "button"
62
+ end
63
+ elsif options[:allow_destroy]
64
+ has_many_form.input :_destroy, :as => :boolean, :wrapper_html => {:class => "has_many_remove"},
65
+ :label => I18n.t('active_admin.has_many_remove')
66
+
67
+ end
68
+
69
+ contents
70
+ end
71
+
72
+ form_buffers.last << with_new_form_buffer do
73
+ template.content_tag :div, :class => "has_many #{association}" do
74
+ # Allow customization of the nested form heading
75
+ unless options.key?(:heading) && !options[:heading]
76
+ form_heading = options[:heading] ||
77
+ object.class.reflect_on_association(association).klass.model_name.human(:count => 1.1)
78
+ form_buffers.last << template.content_tag(:h3, form_heading)
79
+ end
80
+
81
+ inputs options, &form_block
82
+
83
+ js = options[:new_record] ? js_for_has_many(association, form_block, template) : ""
84
+ form_buffers.last << js.html_safe
85
+ end
86
+ end
87
+ end
88
+
89
+ def semantic_errors(*args)
90
+ form_buffers.last << with_new_form_buffer{ super }
91
+ end
92
+
93
+ # These methods are deprecated and removed from Formtastic, however are
94
+ # supported here to help with transition.
95
+ module DeprecatedMethods
96
+
97
+ # Formtastic has depreciated #commit_button in favor of #action(:submit)
98
+ def commit_button(*args)
99
+ ::ActiveSupport::Deprecation.warn("f.commit_button is deprecated in favour of f.action(:submit)")
100
+
101
+ options = args.extract_options!
102
+ if String === args.first
103
+ options[:label] = args.first unless options.has_key?(:label)
104
+ end
105
+
106
+ action(:submit, options)
107
+ end
108
+
109
+ def commit_button_with_cancel_link
110
+ # Formtastic has depreciated #buttons in favor of #actions
111
+ ::ActiveSupport::Deprecation.warn("f.commit_button_with_cancel_link is deprecated in favour of f.commit_action_with_cancel_link")
112
+
113
+ commit_action_with_cancel_link
114
+ end
115
+
116
+ # The buttons method always needs to be wrapped in a new buffer
117
+ def buttons(*args, &block)
118
+ # Formtastic has depreciated #buttons in favor of #actions
119
+ ::ActiveSupport::Deprecation.warn("f.buttons is deprecated in favour of f.actions")
120
+
121
+ actions args, &block
122
+ end
123
+
124
+ end
125
+ include DeprecatedMethods
126
+
127
+ protected
128
+
129
+ def active_admin_input_class_name(as)
130
+ "ActiveAdmin::Inputs::#{as.to_s.camelize}Input"
131
+ end
132
+
133
+ def input_class(as)
134
+ @input_classes_cache ||= {}
135
+ @input_classes_cache[as] ||= begin
136
+ begin
137
+ custom_input_class_name(as).constantize
138
+ rescue NameError
139
+ begin
140
+ active_admin_input_class_name(as).constantize
141
+ rescue NameError
142
+ standard_input_class_name(as).constantize
143
+ end
144
+ end
145
+ rescue NameError
146
+ raise Formtastic::UnknownInputError, "Unable to find input class for #{as}"
147
+ end
148
+ end
149
+
150
+ # This method calls the block it's passed (in our case, the `f.inputs` block)
151
+ # and wraps the resulting HTML in a fieldset. If your block doesn't have a
152
+ # valid return value but it was otherwise built correctly, we instead use
153
+ # the most recent part of the Active Admin form buffer.
154
+ def field_set_and_list_wrapping(*args, &block)
155
+ block_given? ? super{
156
+ (val = yield).is_a?(String) ? val : form_buffers.last
157
+ } : super
158
+ end
159
+
160
+ private
161
+
162
+ def with_new_form_buffer
163
+ form_buffers << ''.html_safe
164
+ return_value = (yield || '').html_safe
165
+ form_buffers.pop
166
+ return_value
167
+ end
168
+
169
+ # Capture the ADD JS
170
+ def js_for_has_many(association, form_block, template)
171
+ assoc_reflection = object.class.reflect_on_association(association)
172
+ assoc_name = assoc_reflection.klass.model_name
173
+ placeholder = "NEW_#{assoc_name.to_s.upcase.split(' ').join('_')}_RECORD"
174
+ opts = {
175
+ :for => [association, assoc_reflection.klass.new],
176
+ :class => "inputs has_many_fields",
177
+ :for_options => { :child_index => placeholder }
178
+ }
179
+ js = with_new_form_buffer{ inputs_for_nested_attributes opts, &form_block }
180
+ js = template.escape_javascript js
181
+
182
+ onclick = "$(this).before('#{js}'.replace(/#{placeholder}/g, new Date().getTime())); return false;"
183
+ text = I18n.t 'active_admin.has_many_new', :model => assoc_name.human
184
+
185
+ template.link_to(text, "#", :onclick => onclick, :class => "button").html_safe
186
+ end
187
+
188
+ end
189
+ end
@@ -0,0 +1,23 @@
1
+ module ActiveAdmin
2
+ module Helpers
3
+ module Collection
4
+ # Works around this issue: https://github.com/rails/rails/issues/7121
5
+ #
6
+ # GROUP BY + COUNT drops SELECT statement. This leads to SQL error when
7
+ # the ORDER statement mentions a column defined in the SELECT statement.
8
+ #
9
+ # We remove the ORDER statement to work around this issue.
10
+ def collection_size(collection=collection)
11
+ size = collection.reorder("").count
12
+ # when GROUP BY is used, AR returns Hash instead of Fixnum for .size
13
+ size = size.size if size.kind_of?(Hash)
14
+
15
+ size
16
+ end
17
+
18
+ def collection_is_empty?(collection=collection)
19
+ collection_size(collection) == 0
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,38 @@
1
+ module ActiveAdmin
2
+
3
+ # Shareable module to give a #display_on?(action) method
4
+ # which returns true or false depending on an options hash.
5
+ #
6
+ # The options hash accepts:
7
+ #
8
+ # :only => :index
9
+ # :only => [:index, :show]
10
+ # :except => :index
11
+ # :except => [:index, :show]
12
+ #
13
+ # call #normalize_display_options! after @options has been set
14
+ # to ensure that the display options are setup correctly
15
+
16
+ module OptionalDisplay
17
+ def display_on?(action, render_context = self)
18
+ return false if @options[:only] && !@options[:only].include?(action.to_sym)
19
+ return false if @options[:except] && @options[:except].include?(action.to_sym)
20
+
21
+ case condition = @options[:if]
22
+ when Symbol, String
23
+ render_context.send condition
24
+ when Proc
25
+ render_context.instance_exec &condition
26
+ else
27
+ true
28
+ end
29
+ end
30
+
31
+ private
32
+
33
+ def normalize_display_options!
34
+ @options[:only] = Array(@options[:only]) if @options[:only]
35
+ @options[:except] = Array(@options[:except]) if @options[:except]
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,23 @@
1
+ module ActiveAdmin
2
+ module ScopeChain
3
+ # Scope an ActiveRecord::Relation chain
4
+ #
5
+ # Example:
6
+ # scope_chain(Scope.new(:published), Article)
7
+ # # => Article.published
8
+ #
9
+ # @param scope The <ActiveAdmin::Scope> we want to scope on
10
+ # @param chain The ActiveRecord::Relation chain or ActiveRecord::Base class to scope
11
+ # @return <ActiveRecord::Relation or ActiveRecord::Base> The scoped relation chain
12
+ #
13
+ def scope_chain(scope, chain)
14
+ if scope.scope_method
15
+ chain.send(scope.scope_method)
16
+ elsif scope.scope_block
17
+ instance_exec chain, &scope.scope_block
18
+ else
19
+ chain
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,108 @@
1
+ module ActiveAdmin
2
+
3
+ # Adds a class method to a class to create settings with default values.
4
+ #
5
+ # Example:
6
+ #
7
+ # class Configuration
8
+ # include ActiveAdmin::Settings
9
+ #
10
+ # setting :site_title, "Default Site Title"
11
+ # end
12
+ #
13
+ # conf = Configuration.new
14
+ # conf.site_title #=> "Default Site Title"
15
+ # conf.site_title = "Override Default"
16
+ # conf.site_title #=> "Override Default"
17
+ #
18
+ module Settings
19
+
20
+ def self.included(base)
21
+ base.extend ClassMethods
22
+ end
23
+
24
+ def read_default_setting(name)
25
+ default_settings[name]
26
+ end
27
+
28
+ private
29
+
30
+ def default_settings
31
+ self.class.default_settings
32
+ end
33
+
34
+ module ClassMethods
35
+
36
+ def setting(name, default)
37
+ default_settings[name] = default
38
+ attr_writer name
39
+
40
+ # Creates a reader that will grab the default if no value has been set.
41
+ class_eval <<-EOC, __FILE__, __LINE__ + 1
42
+ def #{name}
43
+ if instance_variable_defined? :@#{name}
44
+ @#{name}
45
+ else
46
+ read_default_setting(:#{name})
47
+ end
48
+ end
49
+ EOC
50
+ end
51
+
52
+ def deprecated_setting(name, default, message = nil)
53
+ setting(name, default)
54
+
55
+ message ||= "The #{name} setting is deprecated and will be removed."
56
+ ActiveAdmin::Deprecation.deprecate self, name, message
57
+ ActiveAdmin::Deprecation.deprecate self, :"#{name}=", message
58
+ end
59
+
60
+ def default_settings
61
+ @default_settings ||= {}
62
+ end
63
+
64
+ end
65
+
66
+
67
+ # Allows you to define child classes that should receive the same
68
+ # settings, as well as the same default values.
69
+ #
70
+ # Example from the codebase:
71
+ #
72
+ # class Application
73
+ # include Settings
74
+ # include Settings::Inheritance
75
+ #
76
+ # settings_inherited_by :Namespace
77
+ #
78
+ # inheritable_setting :root_to, 'dashboard#index'
79
+ # end
80
+ #
81
+ module Inheritance
82
+
83
+ def self.included(base)
84
+ base.extend ClassMethods
85
+ end
86
+
87
+ module ClassMethods
88
+
89
+ def settings_inherited_by(heir)
90
+ (@setting_heirs ||= []) << heir
91
+ heir.send :include, ActiveAdmin::Settings
92
+ end
93
+
94
+ def inheritable_setting(name, default)
95
+ setting name, default
96
+ @setting_heirs.each{ |c| c.setting name, default }
97
+ end
98
+
99
+ def deprecated_inheritable_setting(name, default)
100
+ deprecated_setting name, default
101
+ @setting_heirs.each{ |c| c.deprecated_setting name, default }
102
+ end
103
+
104
+ end
105
+ end
106
+
107
+ end
108
+ end
@@ -0,0 +1,51 @@
1
+ require 'active_admin/iconic/icons'
2
+
3
+ module ActiveAdmin
4
+ module Iconic
5
+
6
+ # Default color to use for icons
7
+ @@default_color = "#5E6469"
8
+ mattr_accessor :default_color
9
+
10
+ # Default width to use for icons
11
+ @@default_width = 15
12
+ mattr_accessor :default_width
13
+
14
+ # Default height to use for icons
15
+ @@default_height = 15
16
+ mattr_accessor :default_height
17
+
18
+ # Render an icon:
19
+ # Iconic.icon :loop
20
+ def self.icon(name, options = {})
21
+ options = {
22
+ :color => default_color,
23
+ :width => default_width,
24
+ :height => default_height,
25
+ :id => ""
26
+ }.merge(options)
27
+
28
+
29
+ options[:style] = "fill:#{options[:color]};"
30
+ options[:fill] = options.delete(:color)
31
+
32
+ # Convert to strings representations of pixels
33
+ [:width, :height].each do |key|
34
+ options[key] = "#{options[key]}px" unless options[key].is_a?(String)
35
+ end
36
+
37
+ template = ICONS[name.to_sym]
38
+
39
+ if template
40
+ svg = template.dup
41
+ options.each do |key, value|
42
+ svg.gsub!("{#{key}}", value)
43
+ end
44
+ "<span class=\"icon icon_#{name}\">#{svg}</span>".html_safe
45
+ else
46
+ raise "Could not find the icon named #{name}"
47
+ end
48
+ end
49
+
50
+ end
51
+ end
@@ -0,0 +1,142 @@
1
+ module ActiveAdmin
2
+ module Iconic
3
+ ICONS = {
4
+ :arrow_down => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M32,16.016l-5.672-5.664c0,0-3.18,3.18-6.312,6.312V0h-8.023v16.664l-6.32-6.32L0,16.016L16,32 L32,16.016z"/></svg>',
5
+ :arrow_down_alt1 => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><path fill="{fill}" d="M32,16c0-8.835-7.164-16-16-16S0,7.165,0,16c0,8.837,7.164,16,16,16S32,24.837,32,16z M8,16.031h6V8h4v8.031 h5.969L16,24L8,16.031z"/></svg>',
6
+ :arrow_down_alt2 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="arrow_x5F_up_x5F_alt2_x5F_32x32"> <path fill="{fill}"d="M32,16c0-8.836-7.165-16-16-16C7.163,0,0,7.164,0,16s7.163,16,16,16C24.835,32,32,24.836,32,16z M12,22h2V6h4v16h2l-4,4 L12,22z"/></g></svg>',
7
+ :arrow_left => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M15.984,32l5.672-5.672c0,0-3.18-3.18-6.312-6.312H32v-8.023H15.344l6.312-6.32L15.984,0L0,16 L15.984,32z"/></svg>',
8
+ :arrow_left_alt1 => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><path fill="{fill}" d="M16,32.001c8.834,0,16-7.164,16-16c0-8.836-7.165-16-16-16c-8.837,0-16,7.164-16,16 C0,24.837,7.164,32.001,16,32.001z M15.969,8v6H24v4h-8.031v5.969L8,16L15.969,8z"/></svg>',
9
+ :arrow_left_alt2 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="arrow_x5F_left_x5F_alt2_x5F_32x32"> <path fill="{fill}"d="M16,32c8.837,0,16-7.164,16-16S24.837,0,16,0C7.165,0,0,7.164,0,16S7.165,32,16,32z M10,12v2h16v4H10v2l-4-4L10,12z"/></g></svg>',
10
+ :arrow_right => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 31.999" style="enable-background:new 0 0 32 31.999;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M16.016,0l-5.668,5.672c0,0,3.18,3.18,6.312,6.312H0v8.023h16.66l-6.316,6.319l5.672,5.672L32,16 L16.016,0z"/></svg>',
11
+ :arrow_right_alt1 => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><path fill="{fill}" d="M16.001,0.002c-8.834,0-16,7.164-16,16s7.165,16,16,16c8.837,0,16-7.163,16-16S24.838,0.002,16.001,0.002z M16.032,24.003v-6H8.001v-4.001h8.031V8.033l7.969,7.969L16.032,24.003z"/></svg>',
12
+ :arrow_right_alt2 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="arrow_x5F_right_x5F_alt2_x5F_32x32"> <path fill="{fill}"d="M16,0C7.165,0,0,7.164,0,16s7.165,16,16,16c8.837,0,16-7.164,16-16S24.837,0,16,0z M22,20v-2H6v-4h16v-2l4,4L22,20z"/></g></svg>',
13
+ :arrow_up => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32.005" style="enable-background:new 0 0 32 32.005;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M0,15.984l5.672,5.667c0,0,3.18-3.178,6.312-6.315v16.669h8.023V15.336l6.32,6.325L32,15.984L16,0 L0,15.984z"/></svg>',
14
+ :arrow_up_alt1 => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><path fill="{fill}" d="M0.001,16.002c0,8.834,7.164,16,16,16c8.836,0,15.999-7.165,15.999-16c0-8.837-7.163-16-15.999-16 C7.166,0.002,0.001,7.166,0.001,16.002z M24.002,15.971h-6v8.031h-4v-8.031H8.033l7.969-7.969L24.002,15.971z"/></svg>',
15
+ :arrow_up_alt2 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="arrow_x5F_down_x5F_alt2_x5F_32x32"> <path fill="{fill}"d="M0,16c0,8.836,7.163,16,16,16c8.835,0,16-7.164,16-16S24.835,0,16,0C7.163,0,0,7.164,0,16z M20,10h-2v16h-4V10h-2l4-4 L20,10z"/></g></svg>',
16
+ :article => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <polygon style="{style}" points="32,4 0,4 0,0 32,0 32,4 "/> <polygon style="{style}" points="20,12 0,12 0,8 20,8 20,12 "/> <polygon style="{style}" points="32,24 0,24 0,20 32,20 32,24 "/> <polygon style="{style}" points="24,32 0,32 0,28 24,28 24,32 "/> <path fill="{fill}"style="{style}" d="M32,30c0,1.104-0.898,2-2,2c-1.109,0-2.004-0.896-2.004-2s0.895-2,2.004-2 C31.102,28,32,28.896,32,30z"/></g></svg>',
17
+ :at => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="ampersand_x5F_32x32"> <path fill="{fill}" d="M29.844,24C31.214,21.646,32,18.922,32,16c0-8.836-7.164-16-16-16S0,7.164,0,16s7.164,16,16,16 c4.417,0,8.417-1.789,11.312-4.688l-2.833-2.833C22.308,26.656,19.308,28,16,28C9.383,28,4,22.617,4,16S9.383,4,16,4 s12,5.383,12,12c0,1.422-0.273,2.781-0.734,4.047L27.234,20H24V8.042h-8c-4.422,0-8,3.583-8,8c0,4.419,3.578,8,8,8 c1.836,0,3.508-0.644,4.859-1.683C21.586,23.328,22.695,24,24,24H29.844z M20,14.008v2.034c0,2.208-1.797,4-4,4s-4-1.792-4-4 c0-2.206,1.797-4,4-4h4V14.008z"/></g></svg>',
18
+ :battery_charging => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 16" enable-background="new 0 0 32 16" xml:space="preserve"><path fill="{fill}"d="M28,4V2c0-1.099-0.897-2-2-2H2C0.899,0,0,0.901,0,2v4.043h6.391c0.821-2.324,3.02-4,5.629-4V4h3.984v2H12.02v4h4.067v2 H12.02v2.043c-2.609,0-4.808-1.676-5.629-4H0V14c0,1.1,0.899,2,2,2h24c1.103,0,2-0.9,2-2v-2h4V4H28z"/></svg>',
19
+ :battery_empty => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 16" enable-background="new 0 0 32 16" xml:space="preserve"><path fill="{fill}"d="M32,4h-4V2c0-1.099-0.897-2-2-2H2C0.899,0,0,0.901,0,2v12c0,1.099,0.899,2,2,2h24c1.103,0,2-0.901,2-2v-2h4V4z M24,12H4V4 h20V12z"/></svg>',
20
+ :battery_full => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 16" enable-background="new 0 0 32 16" xml:space="preserve"><path fill="{fill}"d="M32,4h-4V2c0-1.099-0.897-2-2-2H2C0.899,0,0,0.901,0,2v12c0,1.102,0.899,2,2,2h24c1.103,0,2-0.898,2-2v-2h4V4z"/></svg>',
21
+ :battery_half => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 16" enable-background="new 0 0 32 16" xml:space="preserve"><path fill="{fill}"d="M32,4h-4V2c0-1.099-0.897-2-2-2H2C0.899,0,0,0.901,0,2v12c0,1.1,0.899,2,2,2h24c1.103,0,2-0.9,2-2v-2h4V4z M24,12h-8V4h8V12 z"/></svg>',
22
+ :beaker => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 16 32" style="enable-background:new 0 0 16 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M14,0H2C0.895,0,0,0.896,0,2v22c0,4.417,3.582,8,8,8s8-3.583,8-8V2C16,0.896,15.105,0,14,0z M10,24 c-1.105,0-2-0.896-2-2s0.895-2,2-2s2,0.896,2,2S11.105,24,10,24z M12,16h-1.945c-0.016-1.104-0.914-2-2.023-2s-2.008,0.896-2.023,2 H4V4h8V16z"/></svg>',
23
+ :beaker_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 16 32" style="enable-background:new 0 0 16 32;" xml:space="preserve"><g> <circle style="{style}" cx="9" cy="9" r="0.969"/> <path fill="{fill}"style="{style}" d="M14,0H2C0.895,0,0,0.896,0,2v22c0,4.417,3.582,8,8,8s8-3.583,8-8V2C16,0.896,15.105,0,14,0z M5.031,20c-0.535,0-0.969-0.433-0.969-0.969s0.434-0.969,0.969-0.969S6,18.495,6,19.031S5.566,20,5.031,20z M10,24 c-1.105,0-2-0.896-2-2s0.895-2,2-2s2,0.896,2,2S11.105,24,10,24z M12,16h-1.945c-0.016-1.104-0.914-2-2.023-2s-2.008,0.896-2.023,2 H4V4h8V16z"/></g></svg>',
24
+ :bolt => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="bolt_x5F_32x32"> <polygon fill="{fill}" points="32,0 8,16 14,20 0,32 24,20 18,16 "/></g></svg>',
25
+ :book => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 28 32" style="enable-background:new 0 0 28 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M4,0C1.792,0,0,1.792,0,4v24c0,2.209,1.792,4,4,4h24V0H4z M24,28H8V4h3.984v8.039l4-4l4.031,4.031V4 H24V28z"/></svg>',
26
+ :book_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 31.969" style="enable-background:new 0 0 32 31.969;" xml:space="preserve"><g> <rect x="11.99" y="7.992" style="{style}" width="7.99" height="4.028"/> <path fill="{fill}"style="{style}" d="M27.975,8.039L32,4.011h-4.025V0H3.996C1.787,0,0,1.789,0,3.995v23.979 c0,2.206,1.787,3.995,3.996,3.995h23.979V12.036h3.994L27.975,8.039z M23.975,27.974H7.99V3.995h15.984V27.974z"/></g></svg>',
27
+ :box => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="box_x5F_32x32"> <g> <rect y="12" fill="{fill}" width="32" height="20"/> <polygon fill="{fill}" points="18,8 32,8 28,0 18,0 "/> <polygon fill="{fill}" points="14,0 4,0 0,8 14,8 "/> </g></g></svg>',
28
+ :calendar => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <polygon style="{style}" points="23.918,4 23.918,0 19.918,0 19.918,4 11.918,4 11.918,0 7.918,0 7.918,4 0,4 0,8 7.918,8 11.918,8 19.918,8 23.918,8 32,8 32,4 "/> <rect x="4" y="20" style="{style}" width="24" height="4"/> <rect x="4" y="12" style="{style}" width="24" height="4"/> <polygon style="{style}" points="24,32 4,32 4,28 28,28 "/></g></svg>',
29
+ :calendar_alt_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M26,4v2.047c0,2.211-1.789,4-4,4s-4-1.789-4-4V4h-4v2.047c0,2.211-1.789,4-4,4s-4-1.789-4-4V4H0v28 h32V4H26z M10,28H6v-4h4V28z M10,20H6v-4h4V20z M18,28h-4v-4h4V28z M18,20.008h-4v-4h4V20.008z M22,28v-4h4L22,28z M26,20h-4v-4h4 V20z"/> <path fill="{fill}"style="{style}" d="M8,6V2c0-1.104,0.895-2,2-2s2,0.896,2,2v4c0,1.104-0.895,2-2,2S8,7.104,8,6z"/> <path fill="{fill}"style="{style}" d="M20,6V2c0-1.104,0.895-2,2-2s2,0.896,2,2v4c0,1.104-0.895,2-2,2S20,7.104,20,6z"/></g></svg>',
30
+ :calendar_alt_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <polygon style="{style}" points="32,32 0,32 0,4 4,4 4,28 28,28 28,4 32,4 32,32 "/> <rect x="6" y="12" style="{style}" width="4" height="4"/> <rect x="14" y="12.008" style="{style}" width="4" height="4"/> <rect x="22" y="12" style="{style}" width="4" height="4"/> <rect x="6" y="20" style="{style}" width="4" height="4"/> <rect x="14" y="20" style="{style}" width="4" height="4"/> <polygon style="{style}" points="22,24 22,20 26,20 "/> <path fill="{fill}"style="{style}" d="M8,6V2c0-1.104,0.895-2,2-2s2,0.896,2,2v4c0,1.104-0.895,2-2,2S8,7.104,8,6z"/> <path fill="{fill}"style="{style}" d="M20,6V2c0-1.104,0.895-2,2-2s2,0.896,2,2v4c0,1.104-0.895,2-2,2S20,7.104,20,6z"/></g></svg>',
31
+ :cd => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <g> <path fill="{fill}"style="{style}" d="M16,0C7.164,0,0,7.164,0,16s7.164,16,16,16s16-7.164,16-16S24.836,0,16,0z M16.031,19.934 c-2.188,0-3.965-1.773-3.965-3.965c0-2.195,1.777-3.969,3.965-3.969C18.227,12,20,13.773,20,15.969 C20,18.16,18.227,19.934,16.031,19.934z"/> </g></g></svg>',
32
+ :chat => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="chat_x5F_32x32"> <path fill="{fill}" d="M24,12V8c0-5.523-4-8-8-8H8C4,0,0,2.125,0,8c0,5.75,4,8,8,8h0.926C8.359,17.099,8,18.406,8,20v4 c0,4.418,3.582,8,8,8c0-2.209,1.797-4,4-4h4c4,0,8-2.25,8-8C32,14.125,28,12,24,12z M8,12c-4,0-4-3.012-4-4c0-1.199,0-4,4-4h8 c1.5,0,4,0.52,4,4v4c0,1.307-0.625,2.471-1.609,3.2C16.931,13.258,14.609,12,12,12H8z M24,24h-4c-2.609,0-4.938,1.258-6.397,3.199 C12.629,26.469,12,25.305,12,24v-4c0-1.831,0.91-2.941,1.816-3.512C15.098,17.156,16,18.457,16,20c2.957,0,5.509-1.621,6.895-4.004 c-0.004,0.001-0.004,0.001-0.004,0.004H24c4,0,4,2.802,4,4C28,20.989,28,24,24,24z M23.719,13.994 c-0.027,0.092-0.059,0.182-0.085,0.271C23.66,14.176,23.696,14.086,23.719,13.994z"/></g></svg>',
33
+ :chat_alt_fill => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="chat_x5F_alt_x5F_fill_x5F_32x32"> <g> <g> <path fill="{fill}" d="M24,12c0,4.418-3.578,8-8,8c0-2.207-1.793-4-4-4H8c-4,0-8-2.25-8-8c0-5.875,4-8,8-8h8c4,0,8,2.479,8,8V12 z"/> </g> <path fill="{fill}" d="M12,12"/> <path fill="{fill}" d="M12,12"/> <g> <g> <path fill="{fill}" d="M25.984,12.213C25.863,17.625,21.438,22,16,22h-2v-2c0-1.104-0.897-2-2-2H8.203 C8.078,18.619,8,19.281,8,20v4c0,4.418,3.582,8,8,8c0-2.209,1.797-4,4-4h4c4,0,8-2.25,8-8C32,15.106,29.219,12.84,25.984,12.213 z"/> </g> </g> </g></g></svg>',
34
+ :chat_alt_stroke => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="chat_x5F_alt_x5F_stroke_x5F_32x32"> <g> <g> <path fill="{fill}" d="M25.978,12.213c-0.024,1.386-0.337,2.695-0.884,3.889C27.978,16.582,28,18.93,28,20c0,0.989,0,4-3.996,4 H20c-2.605,0-4.938,1.258-6.397,3.2C12.634,26.471,12,25.307,12,24v-4c0-0.792,0.141-1.414,0.359-1.928 C12.243,18.051,12.125,18,12,18H8.203c-0.125,0.619-0.199,1.281-0.199,2v4c0,4.418,3.578,8,7.996,8c0-2.209,1.79-4,4-4h4.004 C28,28,32,25.75,32,20C32,15.106,29.219,12.84,25.978,12.213z"/> </g> <path fill="{fill}" d="M16,4c1.493,0,4,0.52,4,4v4c0,1.309-0.632,2.471-1.601,3.2C16.938,13.26,14.609,12,12,12H8.004 C4,12,4,8.989,4,8c0-1.195,0-4,4.004-4H16 M16,0H8.004C4,0,0,2.125,0,8c0,5.75,4,8,8.004,8H12c2.212,0,4,1.793,4,4 c4.422,0,8.004-3.582,8.004-8V8C24.004,2.479,20,0,16,0L16,0z"/> </g></g></svg>',
35
+ :check => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 25.754" style="enable-background:new 0 0 32 25.754;" xml:space="preserve"><g> <polygon style="{style}" points="11.941,25.754 0,13.812 5.695,8.117 11.941,14.363 26.305,0 32,5.695 11.941,25.754 "/></g></svg>',
36
+ :check_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M16,0C7.164,0,0,7.164,0,16s7.164,16,16,16s16-7.164,16-16S24.836,0,16,0z M13.52,23.383L6.16,16.02 l2.828-2.828l4.532,4.535l9.617-9.618l2.828,2.828L13.52,23.383z"/></svg>',
37
+ :clock => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M16,4c6.617,0,12,5.383,12,12s-5.383,12-12,12S4,22.617,4,16S9.383,4,16,4 M16,0 C7.164,0,0,7.164,0,16s7.164,16,16,16s16-7.164,16-16S24.836,0,16,0L16,0z"/> <path fill="{fill}"style="{style}" d="M21.422,18.578L18,15.152V8h-4.023v7.992c0,0.602,0.277,1.122,0.695,1.493l3.922,3.922 L21.422,18.578z"/></g></svg>',
38
+ :cloud => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 20" enable-background="new 0 0 32 20" xml:space="preserve"><path fill="{fill}" d="M24,4c-0.379,0-0.738,0.062-1.103,0.11C21.507,1.648,18.929,0,16,0c-2.988,0-5.566,1.665-6.941,4.101 C8.71,4.054,8.355,4,8,4c-4.41,0-8,3.586-8,8c0,4.414,3.59,8,8,8h16c4.413,0,8-3.586,8-8C32,7.586,28.413,4,24,4z M24,16H8 c-2.207,0-4-1.797-4-4c0-2.195,1.944-3.883,4.007-3.945C8.012,9,8.179,9.922,8.507,10.797l3.743-1.399C12.085,8.953,12,8.484,12,8 c0-2.204,1.793-4,4-4c1.293,0,2.465,0.641,3.199,1.64C17.272,7.101,16,9.395,16,12h4c0-2.204,1.793-4,4-4c2.21,0,4,1.796,4,4 C28,14.203,26.21,16,24,16z"/></svg>',
39
+ :cog => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M32,20v-8h-4.734c-0.141-0.391-0.289-0.771-0.469-1.146l3.344-3.339l-5.656-5.661l-3.344,3.344 C20.777,5.026,20.375,4.933,20,4.792V0h-8v4.792c-0.383,0.141-0.781,0.234-1.145,0.406l-3.34-3.344l-5.66,5.661l3.34,3.339 C5.02,11.229,4.871,11.609,4.734,12H0v8h4.734c0.137,0.391,0.285,0.771,0.461,1.146l-3.34,3.339l5.66,5.661l3.34-3.344 c0.363,0.172,0.762,0.266,1.145,0.406V32h8v-4.792c0.375-0.141,0.777-0.234,1.141-0.406l3.344,3.344l5.656-5.661l-3.344-3.339 c0.18-0.375,0.328-0.755,0.469-1.146H32z M16,20.083c-2.211,0-4-1.791-4-4c0-2.208,1.789-4,4-4c2.207,0,4,1.792,4,4 C20,18.292,18.207,20.083,16,20.083z"/></svg>',
40
+ :cog_alt => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="cog_x5F_alt_x5F_32x32"> <path fill="{fill}" d="M32,17.969v-4l-4.781-1.992c-0.133-0.375-0.273-0.737-0.445-1.094l1.93-4.805L25.875,3.25l-4.763,1.961 c-0.362-0.175-0.734-0.323-1.117-0.461L17.969,0h-4l-1.977,4.734c-0.398,0.141-0.781,0.289-1.161,0.469L6.078,3.294L3.25,6.122 l1.938,4.711C5,11.219,4.847,11.614,4.703,12.021L0,14.031v4l4.706,1.961c0.146,0.406,0.302,0.802,0.489,1.188l-1.903,4.742 L6.12,28.75l4.724-1.945c0.378,0.18,0.766,0.325,1.164,0.461L14.031,32h4l1.979-4.758c0.38-0.141,0.755-0.289,1.114-0.461 l4.797,1.922l2.828-2.828l-1.969-4.773c0.167-0.359,0.305-0.722,0.438-1.094L32,17.969z M15.969,22c-3.312,0-6-2.688-6-6 s2.688-6,6-6s6,2.688,6,6S19.281,22,15.969,22z"/></g></svg>',
41
+ :comment_alt1_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M0,19.992C0,26.626,5.375,32,12.008,32v-4.015c0-2.203,1.789-4,4-4h3.996 C26.625,23.985,32,18.624,32,11.999S26.625,0,20.004,0h-9.996c-5.52,0-9.996,4.47-9.996,9.999v9.993H0z"/></g></svg>',
42
+ :comment_alt1_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M20.004,8c2.203,0,4,1.789,4,3.995c0,2.203-1.797,3.997-4,3.997h-3.996c-3.07,0-5.875,1.164-8,3.062 v-9.06c0-1.104,0.898-1.995,2-1.995H20.004 M20.004,0h-9.996c-5.52,0-9.996,4.477-9.996,9.995v9.997H0C0,26.625,5.375,32,12.008,32 v-4.008c0-2.211,1.789-4,4-4h3.996C26.625,23.992,32,18.617,32,11.995C32,5.37,26.625,0,20.004,0L20.004,0z"/></svg>',
43
+ :comment_alt2_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32.001 24.002" style="enable-background:new 0 0 32.001 24.002;" xml:space="preserve"><g> <g> <path fill="{fill}"style="{style}" d="M29.938,20.002c0,0,2.062-4.001,2.062-8.001C32.001,2,24.005,0,16.005,0 C-6.37,0,0.011,20.002,4.011,24.002c4-4,4-4,9.996-4H29.938z"/> </g></g></svg>',
44
+ :comment_alt2_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" style="enable-background:new 0 0 32 24;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M16,4c11.074,0,12,4.129,12,8c0,1.344-0.359,2.805-0.75,4H14c-4.703,0-6.734,0.195-9,1.758 c-0.938-2.572-1.535-6.046-0.375-8.84C5.975,5.656,9.803,4,16,4 M16,0C-6.369,0,0.012,20,4.006,24c4-4,4-4,9.994-4h15.938 c0,0,2.062-4,2.062-8C32,2,24,0,16,0L16,0z"/></g></svg>',
45
+ :comment_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 28" style="enable-background:new 0 0 32 28;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M0,20c0,4.417,3.586,8,8,8c0-2.211,1.792-4,4-4h8c6.629,0,12-5.375,12-12S26.629,0,20,0H10 C4.477,0,0,4.477,0,10V20z"/></g></svg>',
46
+ :comment_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 28" style="enable-background:new 0 0 32 28;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M20,4c4.414,0,8,3.586,8,8s-3.586,8-8,8h-8c-2.609,0-4.933,1.258-6.394,3.203 C4.633,22.469,4,21.305,4,20V10c0-3.308,2.695-6,6-6H20 M20,0H10C4.477,0,0,4.477,0,10v10c0,4.417,3.586,8,8,8c0-2.211,1.793-4,4-4 h8c6.629,0,12-5.375,12-12S26.629,0,20,0L20,0z"/></svg>',
47
+ :compass => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g> <path fill="{fill}"d="M16,4c6.618,0,12,5.383,12,12s-5.382,12-12,12C9.384,28,4,22.617,4,16S9.384,4,16,4 M16,0C7.165,0,0,7.164,0,16 s7.165,16,16,16c8.837,0,16-7.164,16-16S24.837,0,16,0L16,0z"/> <g> <path fill="{fill}"d="M18.125,13.879c0.797,0.798,1.009,1.93,0.719,2.944L24,8l-8.703,5.138C16.281,12.896,17.359,13.109,18.125,13.879z"/> <path fill="{fill}"d="M13.884,18.121c-0.774-0.771-0.984-1.85-0.743-2.836L8,24l8.832-5.16C15.816,19.133,14.688,18.922,13.884,18.121z"/> </g></g></svg>',
48
+ :cursor => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="cursor_x5F_32x32"> <polygon fill="{fill}" points="32,28 18,14 24,8 0,0 8,23.995 14,17.995 28,32 "/></g></svg>',
49
+ :denied => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M16,0C7.164,0,0,7.164,0,16s7.164,16,16,16s16-7.164,16-16S24.836,0,16,0z M16,4 c2.59,0,4.973,0.844,6.934,2.242L6.238,22.93C4.84,20.969,4,18.586,4,16C4,9.383,9.383,4,16,4z M16,28 c-2.59,0-4.973-0.844-6.934-2.242L25.762,9.07C27.16,11.031,28,13.414,28,16C28,22.617,22.617,28,16,28z"/></svg>',
50
+ :denied_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M16,0C7.164,0,0,7.164,0,16c0,8.836,7.164,16,16,16s16-7.164,16-16C32,7.164,24.836,0,16,0z M16,8 c0.711,0,1.387,0.121,2.043,0.297l-9.742,9.75C8.121,17.391,8,16.71,8,16C8,11.586,11.59,8,16,8z M16,24 c-0.711,0-1.387-0.125-2.043-0.297l9.742-9.75C23.879,14.609,24,15.289,24,16C24,20.414,20.41,24,16,24z"/></svg>',
51
+ :dial => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 31.828" enable-background="new 0 0 32 31.828" xml:space="preserve"><g id="{id}"></g><g id="dial_x5F_32x32"> <g> <path fill="{fill}" d="M16,11.828c-2.21,0-4,1.79-4,4c0,2.208,1.79,4,4,4c2.212,0,4-1.793,4-4C20,13.617,18.212,11.828,16,11.828 z"/> <path fill="{fill}" d="M28.556,6.047c-0.344,0.281-0.766,0.469-1.243,0.469c-1.101,0-2-0.895-2-2 c0-0.488,0.196-0.918,0.484-1.266c-2.219-1.711-4.906-2.864-7.835-3.227C17.859,1.031,17.04,1.828,16,1.828 c-1.038,0-1.871-0.808-1.96-1.828c-2.969,0.382-5.672,1.555-7.911,3.324C6.384,3.66,6.562,4.062,6.562,4.516c0,1.105-0.891,2-2,2 c-0.444,0-0.844-0.176-1.179-0.426C1.297,8.796,0,12.145,0,15.828c0,8.836,7.165,16,16,16c8.837,0,16-7.164,16-16 C32,12.113,30.688,8.746,28.556,6.047z M16,23.828c-4.418,0-8-3.582-8-8c0-2.211,0.895-4.208,2.344-5.657L16,4.515l5.649,5.645 C23.103,11.613,24,13.613,24,15.828C24,20.246,20.415,23.828,16,23.828z"/> </g></g></svg>',
52
+ :document_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M21.609,0H0v32l7.977-6.641L15.992,32L24,25.37L32,32V10.301L21.609,0z M18,14V4l10,10H18z"/></svg>',
53
+ :document_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32.023" style="enable-background:new 0 0 32 32.023;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M22.016,0H0v31.961l8.053-6.582l8.016,6.645l8.016-6.637L32,32.008v-22L22.016,0z M28.021,23.955 l-3.953-3.229c0,0-0.041,0.034-0.104,0.086l-7.896,6.535L8.09,20.734l-4.084,3.221c0,0,0-17.373,0-20.016c2.1,0,7.807,0,12.006,0 v12.01h12.01C28.021,18.682,28.021,23.955,28.021,23.955z M20.016,11.945c0-1.543,0-5.918,0-8.006 c1.615,1.619,6.402,6.404,8.006,8.006C25.975,11.945,21.568,11.945,20.016,11.945z"/></svg>',
54
+ :eject => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <polygon style="{style}" points="0,20 16,0 32,20 "/> <rect y="24" style="{style}" width="31.955" height="8"/></g></svg>',
55
+ :equalizer => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M20,20h-2V2c0-1.105-0.891-2-2-2c-1.102,0-2,0.895-2,2v18h-2v4h2v6c0,1.105,0.898,2,2,2 c1.109,0,2-0.895,2-2v-6h2V20z"/> <path fill="{fill}"style="{style}" d="M32,8h-2V2c0-1.105-0.891-2-2-2c-1.102,0-2,0.895-2,2v6h-2v4h2v18c0,1.105,0.898,2,2,2 c1.109,0,2-0.895,2-2V12h2V8z"/> <path fill="{fill}"style="{style}" d="M8,12H6V2c0-1.105-0.891-2-2-2C2.898,0,2,0.895,2,2v10H0v4h2v14c0,1.105,0.898,2,2,2 c1.109,0,2-0.895,2-2V16h2V12z"/></g></svg>',
56
+ :eyedropper => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="eyedropper_x5F_32x32"> <path fill="{fill}" d="M29.658,13.684c3.123-3.118,3.123-8.18,0-11.297c-1.555-1.559-3.602-2.34-5.643-2.34 c-2.045,0-4.092,0.781-5.649,2.34l-0.592,0.59L14.798,0l-2.82,2.823l2.977,2.974L0,20.761v7.247L3.931,32h7.414l14.907-14.906 l2.875,2.878l2.82-2.82l-2.875-2.878L29.658,13.684z M10.321,27.365c0.047-1.511-0.477-3.033-1.627-4.186 c-1.061-1.06-2.443-1.582-3.834-1.629L17.782,8.628l5.642,5.638L10.321,27.365z"/></g></svg>',
57
+ :first => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <polygon style="{style}" points="32,32 8,16 32,0 "/> <rect y="4" style="{style}" width="8" height="24"/></g></svg>',
58
+ :folder_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g> <path fill="{fill}" d="M32,30c0,1.105-0.891,2-2,2H2c-1.105,0-2-0.895-2-2V12h32V30z"/> <polygon fill="{fill}" points="12,4.003 12,0 0,0 0,8 32,8 32,4.003 "/></g></svg>',
59
+ :folder_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><path fill="{fill}" d="M16,4V0H0v12.004v3.375V28c0,2.211,1.79,4,4,4h24c2.207,0,4-1.789,4-4V16.004v-4V4H16z M12,4L12,4v4h4h12v4 H4V4H12z M28,28H4V16h24v0.004V28z"/></svg>',
60
+ :fork => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 28 32" enable-background="new 0 0 28 32" xml:space="preserve"><g> <path fill="{fill}"d="M20,0v3.875c0,1.602-0.625,3.109-1.755,4.239L6.93,19.367C5.141,21.151,4.156,23.495,4.047,26H0l6,6l6-6H8.042 c0.106-1.438,0.685-2.773,1.708-3.805l11.32-11.25C22.961,9.055,24,6.547,24,3.875V0H20z"/> <path fill="{fill}"d="M23.953,26c-0.109-2.505-1.099-4.849-2.891-6.641l-2.227-2.214L16,19.964l2.242,2.231c1.031,1.028,1.609,2.367,1.711,3.805 H16l6,6l6-6H23.953z"/></g></svg>',
61
+ :fullscreen => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="fullscreen_x5F_32x32"> <g> <polygon fill="{fill}" points="27.414,24.586 22.828,20 20,22.828 24.586,27.414 20,32 32,32 32,20 "/> <polygon fill="{fill}" points="12,0 0,0 0,12 4.586,7.414 9.125,11.953 11.953,9.125 7.414,4.586 "/> <polygon fill="{fill}" points="12,22.828 9.172,20 4.586,24.586 0,20 0,32 12,32 7.414,27.414 "/> <polygon fill="{fill}" points="32,0 20,0 24.586,4.586 20.042,9.125 22.87,11.953 27.414,7.414 32,12 "/> </g></g></svg>',
62
+ :fullscreen_alt => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="fullscreen_x5F_alt_x5F_32x32"> <g> <polygon fill="{fill}" points="29.414,26.586 22.828,20 20,22.828 26.586,29.414 24,32 32,32 32,24 "/> <polygon fill="{fill}" points="2.586,5.414 9.172,12 12,9.172 5.414,2.586 8,0 0,0 0,8 "/> <polygon fill="{fill}" points="26.586,2.586 20,9.172 22.828,12 29.414,5.414 32,8 32,0 24,0 "/> <polygon fill="{fill}" points="12,22.828 9.172,20 2.586,26.586 0,24 0,32 8,32 5.414,29.414 "/> </g></g></svg>',
63
+ :fullscreen_exit => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="fullscreen_x5F_exit_x5F_32x32"> <g> <polygon fill="{fill}" points="24.586,27.414 29.172,32 32,29.172 27.414,24.586 32,20 20,20 20,32 "/> <polygon fill="{fill}" points="0,12 12,12 12,0 7.414,4.586 2.875,0.043 0.047,2.871 4.586,7.414 "/> <polygon fill="{fill}" points="0,29.172 2.828,32 7.414,27.414 12,32 12,20 0,20 4.586,24.586 "/> <polygon fill="{fill}" points="20,12 32,12 27.414,7.414 31.961,2.871 29.133,0.043 24.586,4.586 20,0 "/> </g></g></svg>',
64
+ :fullscreen_exit_alt => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="fullscreen_x5F_exit_x5F_alt_x5F_32x32"> <g> <polygon fill="{fill}" points="22.586,25.414 29.172,32 32,29.172 25.414,22.586 28,20 20,20 20,28 "/> <polygon fill="{fill}" points="6.547,9.371 4,12 11.961,11.957 12,4 9.375,6.543 2.828,0 0,2.828 "/> <polygon fill="{fill}" points="0,29.172 2.828,32 9.414,25.414 12,28 12,20 4,20 6.586,22.586 "/> <polygon fill="{fill}" points="28.031,12 25.438,9.404 32,2.838 29.164,0 22.594,6.566 20,3.971 20,12 "/> </g></g></svg>',
65
+ :headphones => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 28" style="enable-background:new 0 0 32 28;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M30,16h-2v-4c0-6.627-5.375-12-12-12S4,5.373,4,12v4H2c-1.105,0-2,0.895-2,2v8c0,1.105,0.895,2,2,2h6 V16v-4c0-4.411,3.586-8,8-8s8,3.589,8,8v4v12h6c1.104,0,2-0.895,2-2v-8C32,16.895,31.104,16,30,16z"/></svg>',
66
+ :heart_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 28" style="enable-background:new 0 0 32 28;" xml:space="preserve"><g> <g> <path fill="{fill}"style="{style}" d="M16,3.844C14.387,1.578,11.871,0,8.887,0C3.984,0,0,3.992,0,8.891v0.734L16.006,28L32,9.625V8.891 C32,3.992,28.016,0,23.115,0C20.131,0,17.615,1.578,16,3.844z"/> </g></g></svg>',
67
+ :heart_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 28" style="enable-background:new 0 0 32 28;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M23.115,4c2.453,0,4.49,1.82,4.834,4.188L16.006,21.906L4.053,8.188C4.396,5.82,6.428,4,8.887,4 c2.016,0,3.854,2.164,3.854,2.164L16,9.625l3.256-3.461C19.256,6.164,21.1,4,23.115,4 M23.115,0c-2.984,0-5.5,1.578-7.115,3.844 C14.387,1.578,11.871,0,8.887,0C3.984,0,0,3.992,0,8.891v0.734L16.006,28L32,9.625V8.891C32,3.992,28.016,0,23.115,0L23.115,0z"/></g></svg>',
68
+ :home => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="home_x5F_32x32"> <path fill="{fill}" d="M16,0L0,16h4v16h24V16h4L16,0z M24,28h-6v-6h-4v6H8V13.656L16,8l8,5.656V28z"/></g></svg>',
69
+ :image => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <polygon style="{style}" points="8,24 8,16 12,12 16,16 24,8 32,16 32,24 "/> <polygon style="{style}" points="4,28 4,0 0,4 0,28 0,32 4,32 28,32 32,28 "/></g></svg>',
70
+ :info => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 16 32" enable-background="new 0 0 16 32" xml:space="preserve"><g id="{id}"></g><g id="Layer_21"> <g> <path fill="{fill}" d="M2,16c1.104,0,2,0.895,2,2v8c0,1.105-0.896,2-2,2H0v4h16v-4h-1.992c-1.102,0-2-0.895-2-2L12,12H0v4H2z"/> <circle fill="{fill}" cx="8" cy="4" r="4"/> </g></g></svg>',
71
+ :iphone => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24 32" style="enable-background:new 0 0 24 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M16,0H8C3.582,0,0,3.582,0,8v16c0,4.418,3.582,8,8,8h8c4.418,0,8-3.582,8-8V8C24,3.582,20.418,0,16,0 z M12,30.062c-1.138,0-2.062-0.924-2.062-2.062s0.924-2.062,2.062-2.062c1.139,0,2.062,0.924,2.062,2.062S13.139,30.062,12,30.062z M20,24H4V8c0-2.206,1.794-4,4-4h8c2.205,0,4,1.794,4,4V24z"/></svg>',
72
+ :key_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <g> <path fill="{fill}"style="{style}" d="M22,0c-5.523,0-10,4.477-10,10c0,0.623,0.074,1.227,0.184,1.816L0,24v8h12v-4h4v-4h4v-4 l0.184-0.184C20.773,19.926,21.379,20,22,20c5.523,0,10-4.477,10-10S27.523,0,22,0z M22.008,12c-1.105,0-2-0.895-2-2s0.895-2,2-2 s2,0.895,2,2S23.113,12,22.008,12z"/> </g></g></svg>',
73
+ :key_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M22,4c3.309,0,6,2.691,6,6s-2.691,6-6,6c-0.312,0-0.658-0.039-1.088-0.117L18.844,15.5l-1.488,1.488 l-0.184,0.184L16,18.344V20h-4v4H8v4H4v-2.344l11.012-11.012l1.488-1.488l-0.383-2.07C16.038,10.657,16,10.312,16,10 C16,6.691,18.691,4,22,4 M22,0c-5.523,0-10,4.477-10,10c0,0.625,0.074,1.227,0.184,1.816L0,24v8h12v-4h4v-4h4v-4l0.184-0.184 C20.773,19.926,21.377,20,22,20c5.523,0,10-4.477,10-10S27.523,0,22,0L22,0z"/> <circle style="{style}" cx="22.008" cy="10" r="2"/></g></svg>',
74
+ :last => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <polygon style="{style}" points="0,0 24,16 0,32 "/> <rect x="24" y="4" style="{style}" width="8" height="24"/></g></svg>',
75
+ :left_quote => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" enable-background="new 0 0 32 24" xml:space="preserve"><g id="{id}"></g><g id="left_x5F_quote_x5F_32x32"> <g> <path fill="{fill}" d="M32,24V12h-8c0-4.411,3.587-8,8-8V0c-6.616,0-12,5.383-12,12v12H32z"/> <path fill="{fill}" d="M12,24V12H4c0-4.411,3.587-8,8-8V0C5.384,0,0,5.383,0,12v12H12z"/> </g></g></svg>',
76
+ :left_quote_alt => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" enable-background="new 0 0 32 24" xml:space="preserve"><g id="{id}"></g><g id="left_x5F_quote_x5F_alt_x5F_32x32"> <g> <polygon fill="{fill}" points="32,24 32,0 20,12 20,24 "/> <polygon fill="{fill}" points="12,24 12,0 0,12 0,24 "/> </g></g></svg>',
77
+ :lightbulb => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 20.051 32" style="enable-background:new 0 0 20.051 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M10.024,4.007c3.32,0,6.019,2.7,6.019,6.017c0,1.894-0.867,3.636-2.379,4.773 c-2.266,1.707-3.18,3.593-3.496,5.179H9.883c-0.313-1.586-1.23-3.473-3.493-5.179c-1.515-1.137-2.382-2.879-2.382-4.773 C4.008,6.707,6.707,4.007,10.024,4.007 M10.024,0C4.488,0,0,4.488,0,10.024c0,3.28,1.547,6.147,3.977,7.976 c1.121,0.844,2.042,1.93,2.042,3.43v2.555h8.012V21.43c0-1.5,0.922-2.586,2.043-3.43c2.43-1.829,3.977-4.696,3.977-7.976 C20.051,4.488,15.562,0,10.024,0L10.024,0z"/> <rect x="6.02" y="27.992" style="{style}" width="8.012" height="4.008"/></g></svg>',
78
+ :link => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="link_x5F_32x32"> <g> <path fill="{fill}" d="M31.414,0.586c-0.781-0.781-2.047-0.781-2.828,0l-4.071,4.073C22.847,3.553,20.921,3,18.999,3 c-2.559,0-5.116,0.977-7.069,2.93l-6,6c-3.422,3.42-3.844,8.703-1.274,12.584l-4.069,4.072c-0.781,0.781-0.781,2.047,0,2.828 C0.977,31.805,1.487,32,1.999,32c0.516,0,1.024-0.195,1.415-0.586l4.069-4.072C9.155,28.447,11.077,29,12.999,29 c2.562,0,5.118-0.977,7.071-2.93l6-6c3.422-3.419,3.844-8.703,1.272-12.583l4.071-4.073C32.195,2.633,32.195,1.367,31.414,0.586z M24.999,13c0,1.602-0.625,3.109-1.757,4.242l-6,6C16.108,24.375,14.602,25,12.999,25c-0.906,0-1.772-0.221-2.569-0.602 l2.984-2.984c0.781-0.781,0.781-2.047,0-2.828s-2.047-0.781-2.828,0L7.602,21.57C7.218,20.775,6.999,19.908,6.999,19 c0-1.602,0.625-3.109,1.759-4.242l6-6C15.89,7.625,17.398,7,18.999,7c0.906,0,1.774,0.221,2.571,0.602l-3.047,3.047 c-0.781,0.781-0.781,2.047,0,2.828c0.391,0.391,0.901,0.586,1.413,0.586c0.516,0,1.024-0.195,1.415-0.586l3.047-3.047 C24.78,11.225,24.999,12.092,24.999,13z"/> </g></g></svg>',
79
+ :lock_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24.006 32" style="enable-background:new 0 0 24.006 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M14.006,0c-5.508,0-10,4.485-10,10v2H0v14c0,3.309,2.693,6,6,6h12.006c3.307,0,6-2.691,6-6V10 C24.006,4.485,19.516,0,14.006,0z M12,24c-1.104,0-2-0.895-2-2s0.896-2,2-2c1.107,0,2,0.895,2,2S13.107,24,12,24z M20.006,12h-12v-2 c0-3.309,2.695-6,6-6c3.307,0,6,2.691,6,6V12z"/></svg>',
80
+ :lock_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24.008 32" style="enable-background:new 0 0 24.008 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M14.008,0c-5.512,0-10,4.484-10,10v2H0v14c0,3.305,2.695,6,6,6h12.008c3.312,0,6-2.695,6-6V10 C24.008,4.484,19.523,0,14.008,0z M8.008,10c0-3.312,2.695-6,6-6c3.312,0,6,2.688,6,6v2h-12V10z M18.008,28H6c-1.102,0-2-0.898-2-2 V16h16.008v10C20.008,27.102,19.113,28,18.008,28z"/> <path fill="{fill}"style="{style}" d="M14.008,22c0,1.102-0.898,2-2,2c-1.109,0-2-0.898-2-2c0-1.109,0.891-2,2-2 C13.109,20,14.008,20.891,14.008,22z"/></g></svg>',
81
+ :loop => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 31.999 32" style="enable-background:new 0 0 31.999 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M9.804,3.677l-5.803,5.8V3.841H0v11.997h12.001v-4H7.298l5.335-5.333 c3.387-3.391,9.307-3.391,12.701,0l2.828-2.828C23.261-1.229,14.708-1.222,9.804,3.677z"/> <path fill="{fill}"style="{style}" d="M19.999,16.033v4h4.703l-5.336,5.338c-3.389,3.395-9.307,3.395-12.701,0l-2.829,2.824 C6.287,30.648,9.55,32,13.021,32c3.469,0,6.725-1.352,9.174-3.805l5.805-5.803v5.639h4V16.033H19.999z"/></g></svg>',
82
+ :loop_alt1 => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" enable-background="new 0 0 32 24" xml:space="preserve"><g> <path fill="{fill}"d="M26,12l-6,6h4c0,1.102-0.897,2-2,2H10c-1.101,0-2-0.898-2-2v-2H4v2c0,3.308,2.691,6,6,6h12c3.312,0,6-2.692,6-6h4L26,12z" /> <path fill="{fill}"d="M22,0H10C6.691,0,4,2.692,4,6v0.062H0L6,12l6-5.938H8V6c0-1.102,0.899-2,2-2h12c1.103,0,2,0.898,2,2v2h4V6 C28,2.692,25.312,0,22,0z"/></g></svg>',
83
+ :loop_alt2 => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 28" enable-background="new 0 0 32 28" xml:space="preserve"><g> <path fill="{fill}"d="M19.946,20l6.007-8L32,20h-4v2c0,3.308-2.688,6-6,6H10c-3.309,0-6-2.692-6-6v-2h4v2c0,1.102,0.899,2,2,2h12 c1.103,0,2-0.898,2-2v-2H19.946z"/> <path fill="{fill}"d="M12.056,8l-6.009,8L0,8h4V6c0-3.308,2.691-6,6-6h12c3.312,0,6,2.692,6,6v2h-4V6c0-1.102-0.897-2-2-2H10 C8.899,4,8,4.898,8,6v2H12.056z"/></g></svg>',
84
+ :loop_alt3 => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" enable-background="new 0 0 32 24" xml:space="preserve"><g> <path fill="{fill}"d="M28,12v2c0,1.102-0.897,2-2,2H12v-4l-8,6l8,6v-4h14c3.312,0,6-2.695,6-6v-2H28z"/> <path fill="{fill}"d="M4,10c0-1.104,0.899-2,2-2h14v4l7.993-6L20,0v4H6c-3.309,0-6,2.688-6,6v2h4V10z"/></g></svg>',
85
+ :loop_alt4 => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" enable-background="new 0 0 32 24" xml:space="preserve"><g> <path fill="{fill}"d="M28,14c0,1.102-0.899,2-2,2H7.991v-4L0,18l7.991,6v-4H26c3.309,0,6-2.695,6-6H28z"/> <path fill="{fill}"d="M6,8h18v4l8-6l-8-6v4H6c-3.306,0-6,2.688-6,6h4C4,8.896,4.897,8,6,8z"/></g></svg>',
86
+ :magnifying_glass => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M20.135,0C13.594,0,8.273,5.32,8.273,11.864c0,1.565,0.32,3.05,0.867,4.422L0,25.43L6.572,32 l9.146-9.148c1.367,0.555,2.854,0.875,4.416,0.875c6.537,0,11.865-5.32,11.865-11.862C32,5.32,26.672,0,20.135,0z M6.572,26.352 c-0.432-0.438-0.494-0.492-0.922-0.922c1.271-1.269,3.828-3.836,5.686-5.688c0.289,0.328,0.596,0.633,0.914,0.922 C10.4,22.516,7.844,25.078,6.572,26.352z M20.135,19.729c-4.338,0-7.869-3.526-7.869-7.865c0-4.338,3.531-7.869,7.869-7.869 c4.334,0,7.865,3.531,7.865,7.869C28,16.203,24.469,19.729,20.135,19.729z"/></svg>',
87
+ :magnifying_glass_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 31.992 32" style="enable-background:new 0 0 31.992 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M20.127,0C13.594,0,8.268,5.32,8.268,11.864c0,1.565,0.326,3.05,0.873,4.417L0,25.427L6.57,32 l9.148-9.151c1.361,0.553,2.846,0.875,4.408,0.875c6.545,0,11.865-5.322,11.865-11.859C31.992,5.32,26.672,0,20.127,0z M20.127,19.727c-4.33,0-7.861-3.531-7.861-7.862c0-4.338,3.531-7.869,7.861-7.869c4.342,0,7.873,3.531,7.873,7.869 C28,16.195,24.469,19.727,20.127,19.727z"/></g></svg>',
88
+ :mail => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" style="enable-background:new 0 0 32 24;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M0,0v24h32V0H0z M24.859,4l-7.445,7.445c-0.781,0.781-2.047,0.781-2.828,0L7.141,4H24.859z M4,20 V6.516l7.758,7.758c1.172,1.172,2.703,1.758,4.242,1.758s3.07-0.586,4.242-1.758L28,6.516V20H4z"/></svg>',
89
+ :mail_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" enable-background="new 0 0 32 24" xml:space="preserve"><g> <polygon fill="{fill}" points="16.078,11.457 32,3.918 32,0 0,0 0,3.903 "/> <polygon fill="{fill}" points="16.087,15.879 0,8.322 0,24 32,24 32,8.344 "/></g></svg>',
90
+ :map_pin_fill => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 20 32" enable-background="new 0 0 20 32" xml:space="preserve"><g id="{id}"></g><g id="map_x5F_pin_x5F_fill_x5F_32x32"> <g> <g> <path fill="{fill}" d="M17.07,2.93c-3.906-3.906-10.234-3.906-14.141,0c-3.906,3.904-3.906,10.237,0,14.141 C2.93,17.07,10,24,10,32c0-8,7.07-14.93,7.07-14.93C20.977,13.167,20.977,6.833,17.07,2.93z M10,14.005c-2.211,0-4-1.789-4-4 s1.789-4,4-4s4,1.789,4,4S12.211,14.005,10,14.005z"/> </g> </g></g></svg>',
91
+ :map_pin_stroke => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 20 32" enable-background="new 0 0 20 32" xml:space="preserve"><g id="{id}"></g><g id="map_x5F_pin_x5F_stroke_x5F_32x32"> <g> <path fill="{fill}" d="M10,4c1.602,0,3.109,0.625,4.242,1.76C15.375,6.891,16,8.398,16,10s-0.625,3.109-1.734,4.213 c-0.164,0.166-2.234,2.224-4.266,5.441c-2.023-3.211-4.086-5.261-4.242-5.415C4.625,13.109,4,11.602,4,10s0.625-3.109,1.758-4.242 S8.398,4,10,4 M10,0C7.438,0,4.883,0.977,2.93,2.93c-3.906,3.904-3.906,10.237,0,14.141C2.93,17.07,10,24,10,32 c0-8,7.07-14.93,7.07-14.93c3.906-3.904,3.906-10.237,0-14.141C15.117,0.977,12.558,0,10,0L10,0z"/> <path fill="{fill}" d="M12,10c0,1.105-0.896,2-2,2c-1.109,0-2-0.895-2-2s0.891-2,2-2C11.104,8,12,8.895,12,10z"/> </g></g></svg>',
92
+ :minus => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 8" style="enable-background:new 0 0 32 8;" xml:space="preserve"><rect style="{style}" width="32" height="8"/></svg>',
93
+ :minus_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><path fill="{fill}" d="M16,0C7.165,0,0,7.164,0,16s7.165,16,16,16c8.837,0,16-7.164,16-16S24.837,0,16,0z M24,18H8v-4h16V18z"/></svg>',
94
+ :moon_fill => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="moon_x5F_fill_x5F_32x32"> <g> <path fill="{fill}" d="M24.633,22.184c-8.188,0-14.82-6.637-14.82-14.82c0-2.695,0.773-5.188,2.031-7.363 C5.016,1.969,0,8.188,0,15.645C0,24.676,7.32,32,16.352,32c7.456,0,13.68-5.023,15.648-11.844 C29.82,21.41,27.328,22.184,24.633,22.184z"/> </g></g></svg>',
95
+ :moon_stroke => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="moon_x5F_stroke_x5F_32x32"> <path fill="{fill}" d="M5.891,9.148c0.852,8.959,8,16.109,16.961,16.953C20.938,27.311,18.698,28,16.352,28 C9.539,28,4,22.459,4,15.646C4,13.3,4.688,11.059,5.891,9.148 M11.844,0C5.016,1.969,0,8.19,0,15.646C0,24.678,7.32,32,16.352,32 c7.456,0,13.68-5.021,15.648-11.844c-2.18,1.256-4.672,2.029-7.367,2.029c-8.188,0-14.82-6.636-14.82-14.82 C9.812,4.67,10.586,2.178,11.844,0L11.844,0z"/></g></svg>',
96
+ :move => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="move_x5F_32x32"> <g> <polygon fill="{fill}" points="18,20 18,26 22,26 16,32 10,26 14,26 14,20 "/> <polygon fill="{fill}" points="14,12 14,6 10,6 16,0 22,6 18,6 18,12 "/> <polygon fill="{fill}" points="12,18 6,18 6,22 0,16 6,10 6,14 12,14 "/> <polygon fill="{fill}" points="20,14 26,14 26,10 32,16 26,22 26,18 20,18 "/> </g></g></svg>',
97
+ :move_alt1 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="move_x5F_alt1_x5F_32x32"> <g> <polygon fill="{fill}" points="16,22 18,20 18,26 22,26 16,32 10,26 14,26 14,20 "/> <polygon fill="{fill}" points="16,10.062 14,12 14,6 10,6 16,0 22,6 18,6 18,12 "/> <polygon fill="{fill}" points="10,16 12,18 6,18 6,22 0,16 6,10 6,14 12,14 "/> <polygon fill="{fill}" points="21.938,16 20,14 26,14 26,10 32,16 26,22 26,18 20,18 "/> </g></g></svg>',
98
+ :move_alt2 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="move_x5F_alt2_x5F_32x32"> <path fill="{fill}"fill="5E6469" d="M16,0C7.165,0,0,7.164,0,16s7.165,16,16,16c8.837,0,16-7.164,16-16S24.837,0,16,0z M22,20v-2h-4v4h2l-4,4l-4-4h2v-4h-4v2 l-4-4l4-4v2h4v-4h-2l4-4l4,4h-2v4h4v-2l4,4L22,20z"/></g></svg>',
99
+ :move_horizontal => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 12" enable-background="new 0 0 32 12" xml:space="preserve"><g id="Layer_1_1_"></g><g id="move_x5F_horizontal_x5F_12x32"> <g> <polygon fill="{fill}" points="12,8 6,8 6,12 0,6 6,0 6,4 12,4 "/> <polygon fill="{fill}" points="20,4 26,4 26,0 32,6 26,12 26,8 20,8 "/> </g></g></svg>',
100
+ :move_horizontal_alt1 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 12" enable-background="new 0 0 32 12" xml:space="preserve"><g id="{id}"></g><g id="move_x5F_horizontal_x5F_alt1_x5F_12x32"> <g> <polygon fill="{fill}" points="10,6 12,8 6,8 6,12 0,6 6,0 6,4 12,4 "/> <polygon fill="{fill}" points="21.938,6 20,4 26,4 26,0 32,6 26,12 26,8 20,8 "/> </g></g></svg>',
101
+ :move_horizontal_alt2 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="move_x5F_horizontal_x5F_alt2_x5F_32x32"> <path fill="{fill}" d="M32,16c0-8.836-7.163-16-16-16C7.165,0,0,7.164,0,16s7.165,16,16,16C24.837,32,32,24.836,32,16z M10,18v2 l-4-4l4-4v2h12v-2l4,4l-4,4v-2H10z"/></g></svg>',
102
+ :move_vertical => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 12 32" enable-background="new 0 0 12 32" xml:space="preserve"><g id="{id}"></g><g id="move_x5F_vertical_x5F_12x32"> <g> <polygon fill="{fill}" points="8,20 8,26 12,26 6,32 0,26 4,26 4,20 "/> <polygon fill="{fill}" points="4,12 4,6 0,6 6,0 12,6 8,6 8,12 "/> </g></g></svg>',
103
+ :move_vertical_alt1 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 12 32" enable-background="new 0 0 12 32" xml:space="preserve"><g id="{id}"></g><g id="move_x5F_vertical_x5F_alt1_x5F_12x32"> <g> <polygon fill="{fill}" points="6,22 8,20 8,26 12,26 6,32 0,26 4,26 4,20 "/> <polygon fill="{fill}" points="6,10.062 4,12 4,6 0,6 6,0 12,6 8,6 8,12 "/> </g></g></svg>',
104
+ :move_vertical_alt2 => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="move_x5F_vertical_x5F_alt2_x5F_32x32"> <path fill="{fill}" d="M16,0C7.165,0,0,7.164,0,16s7.165,16,16,16c8.837,0,16-7.164,16-16S24.837,0,16,0z M18,22h2l-4,4l-4-4h2V10 h-2l4-4l4,4h-2V22z"/></g></svg>',
105
+ :movie => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><path fill="{fill}"d="M27.977,8h-3.95L28,4.016L24.073,0h-5.565l3.987,3.984L18.409,8h-4.722l4.058-3.984L13.734,0H8.078l3.984,3.984L7.977,8 H3.969l4.062-3.984L4.016,0H0v32h32V0h-3.922L32,4L27.977,8z M28,27.958H4v-4h24V27.958z M28,20H4v-4h24V20z"/></svg>',
106
+ :new_window => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M32,0H8v7.998c-2.906,0-8,0-8,0.002v24h24v-8h8V0z M20,28H4V16h4v8h12C20,25.791,20,27.998,20,28z M28,20H12V8h16V20z"/></svg>',
107
+ :pause => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24 32" style="enable-background:new 0 0 24 32;" xml:space="preserve"><g> <rect style="{style}" width="8" height="32"/> <rect x="16" style="{style}" width="8" height="32"/></g></svg>',
108
+ :pen => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32.004" style="enable-background:new 0 0 32 32.004;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M29.656,2.344C28.1,0.781,26.053,0,24,0c-2.047,0-4.094,0.781-5.656,2.344L0.031,20.657L0,32.004 h11.312l18.344-18.347C32.781,10.535,32.781,5.468,29.656,2.344z M9.656,28.001H8v-4H4.021l0.006-1.681L21.172,5.172l0,0 l5.656,5.656v0L9.656,28.001z"/></svg>',
109
+ :pen_alt_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32.002" style="enable-background:new 0 0 32 32.002;" xml:space="preserve"><g> <g> <path fill="{fill}"style="{style}" d="M29.656,2.344c-3.119-3.125-8.191-3.125-11.312,0L0.031,20.656L0,32.002h11.312l18.344-18.346 C32.781,10.534,32.781,5.467,29.656,2.344z M9.609,28.002H3.953v-5.689c1.562-1.562,4.094-1.562,5.656,0 C11.172,23.877,11.172,26.439,9.609,28.002z M26.756,10.828L21.1,5.172c1.562-1.562,4.094-1.562,5.656,0 S28.318,9.266,26.756,10.828z"/> </g></g></svg>',
110
+ :pen_alt_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32.002" style="enable-background:new 0 0 32 32.002;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M29.656,2.344C28.094,0.781,26.047,0,24,0s-4.094,0.781-5.656,2.344L0.031,20.656L0,32.002h11.312 l18.344-18.346C32.781,10.534,32.781,5.466,29.656,2.344z M9.656,28H9.609c1.562-1.562,1.562-4.125,0-5.688 c-1.494-1.496-3.859-1.517-5.426-0.149L21.137,5.211l5.656,5.655L9.656,28z"/></svg>',
111
+ :pin => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="pin_x5F_32x32"> <path fill="{fill}" d="M32,8c0-4.417-3.585-8-8-8c-2.984,0-5.562,1.659-6.938,4.086c0-0.002,0.004-0.004,0.004-0.005 c-0.363-0.036-0.723-0.112-1.098-0.112c-6.625,0-12,5.371-12,12c0,2.527,0.79,4.865,2.125,6.799L0,32l9.29-6.064 c1.913,1.283,4.21,2.033,6.679,2.033c6.629,0,12-5.371,12-12c0-0.346-0.069-0.669-0.101-1.008C30.321,13.594,32,11.005,32,8z M15.969,23.969c-4.413,0-8-3.588-8-8c0-4.412,3.587-8,8-8c0.016,0,0.024,0.004,0.031,0.004c0-0.008,0.004-0.014,0.004-0.02 C16.004,7.969,16,7.984,16,8c0,0.695,0.118,1.355,0.281,1.998l-3.172,3.174c-1.562,1.562-1.562,4.094,0,5.656s4.094,1.562,5.656,0 l3.141-3.141c0.66,0.18,1.344,0.305,2.062,0.309C23.953,20.396,20.375,23.969,15.969,23.969z M24,12c-2.203,0-4-1.794-4-4 s1.797-4,4-4s4,1.794,4,4S26.203,12,24,12z"/></g></svg>',
112
+ :play => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24 32" style="enable-background:new 0 0 24 32;" xml:space="preserve"><polygon style="{style}" points="0,0 24,16 0,32 "/></svg>',
113
+ :play_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M16,0C7.164,0,0,7.164,0,16s7.164,16,16,16s16-7.164,16-16S24.836,0,16,0z M10,24V8l16.008,8L10,24z" /></svg>',
114
+ :plus => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><polygon style="{style}" points="32,12 20,12 20,0 12,0 12,12 0,12 0,20 12,20 12,32 20,32 20,20 32,20 "/></svg>',
115
+ :plus_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><path fill="{fill}" d="M16,0C7.165,0,0,7.164,0,16s7.165,16,16,16c8.837,0,16-7.164,16-16S24.837,0,16,0z M24,18h-6v6h-4v-6H8v-4h6 V8h4v6h6V18z"/></svg>',
116
+ :read_more => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <polygon style="{style}" points="32,4 0,4 0,0 32,0 32,4 "/> <polygon style="{style}" points="20,12 0,12 0,8 20,8 20,12 "/> <polygon style="{style}" points="32,20.086 0,20.086 0,16.086 32,16.086 32,20.086 "/> <circle style="{style}" cx="2" cy="30" r="2"/> <path fill="{fill}"style="{style}" d="M12,30c0,1.104-0.898,2-2,2c-1.109,0-2.004-0.896-2.004-2S8.891,28,10,28C11.102,28,12,28.896,12,30 z"/> <circle style="{style}" cx="18" cy="30" r="2"/></g></svg>',
117
+ :reload => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24 28" style="enable-background:new 0 0 24 28;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M20,16c0,4.41-3.586,8-8,8s-8-3.59-8-8s3.586-8,8-8l2.359,0.027l-1.164,1.164l2.828,2.828L22.035,6 l-6.012-6l-2.828,2.828L14.375,4H12C5.375,4,0,9.371,0,16s5.375,12,12,12s12-5.371,12-12H20z"/></g></svg>',
118
+ :reload_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24 28" style="enable-background:new 0 0 24 28;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M20,16c0,4.414-3.586,8-8,8s-8-3.586-8-8s3.586-8,8-8l4.023,0.043v3.977L22.035,6l-6.012-6v4H12 C5.375,4,0,9.375,0,16s5.375,12,12,12s12-5.375,12-12H20z"/></g></svg>',
119
+ :right_quote => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" enable-background="new 0 0 32 24" xml:space="preserve"><g id="{id}"></g><g id="right_x5F_quote_x5F_32x32"> <g> <path fill="{fill}" d="M0,0v12h8c0,4.411-3.585,8-8,8v4c6.618,0,12-5.383,12-12V0H0z"/> <path fill="{fill}" d="M20,0v12h8c0,4.411-3.585,8-8,8v4c6.618,0,12-5.383,12-12V0H20z"/> </g></g></svg>',
120
+ :right_quote_alt => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" enable-background="new 0 0 32 24" xml:space="preserve"><g id="{id}"></g><g id="right_x5F_quote_x5F_alt_x5F_32x32"> <g> <polygon fill="{fill}" points="0,0 0,24 12,12 12,0 "/> <polygon fill="{fill}" points="20,0 20,24 32,12 32,0 "/> </g></g></svg>',
121
+ :rss => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <circle style="{style}" cx="4.001" cy="28" r="4.001"/> <g> <path fill="{fill}"style="{style}" d="M6.023,20.004c3.309,0,6,2.691,6,6.004h4.001C16.025,20.492,11.538,16,6.023,16V20.004z"/> </g> <g> <path fill="{fill}"style="{style}" d="M5.996,12c7.719,0,14.002,6.285,14.002,14.007h4C23.998,16.078,15.923,8,5.996,8V12z"/> </g> <g> <path fill="{fill}"style="{style}" d="M5.996,4C18.129,4,28,13.871,28,26.008h4C32,11.665,20.334,0,5.996,0V4z"/> </g></g></svg>',
122
+ :rss_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g> <path fill="{fill}"d="M32,32h-4.569C27.431,16.875,15.125,4.573,0,4.573V0C17.641,0,32,14.355,32,32L32,32z"/> <path fill="{fill}"d="M22.859,32h-4.574c0-10.082-8.207-18.285-18.285-18.285V9.143C12.603,9.143,22.859,19.398,22.859,32L22.859,32z"/> <path fill="{fill}"d="M13.719,32H9.141c0-5.043-4.094-9.143-9.141-9.143v-4.572C7.562,18.285,13.719,24.438,13.719,32L13.719,32z"/> <path fill="{fill}"d="M4.571,32c0-2.523-2.04-4.57-4.571-4.57V32H4.571z"/></g></svg>',
123
+ :spin => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 28 32" enable-background="new 0 0 28 32" xml:space="preserve"><g id="{id}"></g><g id="reload_x5F_alt2_x5F_28x32"> <g> <path fill="{fill}"d="M23.883,6.086l-2.82,2.831C22.953,10.808,24,13.323,24,16c0,5.516-4.484,10-10,10v-2l-4,4l4,4v-2c7.719,0,14-6.281,14-14 C28,12.255,26.539,8.734,23.883,6.086z"/> <path fill="{fill}"d="M18,4l-4-4v2C6.281,2,0,8.281,0,16c0,3.745,1.461,7.266,4.117,9.914l2.82-2.831C5.047,21.192,4,18.677,4,16 C4,10.484,8.484,6,14,6v2L18,4z"/> </g></g></svg>',
124
+ :spin_alt => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="reload_x5F_alt3_x5F_32x32"> <g> <path fill="{fill}"d="M4.688,27.32C1.664,24.297,0,20.281,0,16C0,7.18,7.172,0,16,0l2,2l-2,2C9.383,4,4,9.383,4,16 c0,3.211,1.25,6.227,3.516,8.492l-2.453,0.32L4.688,27.32L4.688,27.32z"/> <path fill="{fill}"d="M16,32l-2-1.992L16,28c6.617,0,12-5.383,12-12c0-3.203-1.25-6.219-3.523-8.489l2.461-0.323l0.367-2.505 C30.328,7.708,32,11.727,32,16C32,24.82,24.82,32,16,32L16,32z"/> </g></g></svg>',
125
+ :star => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="star_x5F_32x32"> <g> <polygon fill="{fill}" points="22.136,19.625 32,12 20,12 16,0 12,12 0,12 9.875,19.594 6,32 16.016,24.32 26.008,32 "/> </g></g></svg>',
126
+ :stop => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><rect style="{style}" width="32" height="32"/></svg>',
127
+ :sun => '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"><g id="{id}"></g><g id="sun_x5F_32x32"> <g> <path fill="{fill}" d="M24,16c0,4.417-3.585,8-8,8c-4.422,0-8-3.583-8-8s3.578-8,8-8C20.415,8,24,11.583,24,16z"/> <path fill="{fill}" d="M16,3.312c1.384,0,2.691,0.276,3.938,0.688H20l-4-4l-4,4h0.056C13.306,3.589,14.613,3.312,16,3.312z"/> <path fill="{fill}" d="M16,28.688c-1.387,0-2.694-0.276-3.944-0.688H12l4,4l4-4h-0.062C18.691,28.411,17.384,28.688,16,28.688z" /> <path fill="{fill}" d="M28.688,16c0,1.383-0.281,2.695-0.688,3.942V20l4-4l-4-4v0.058C28.406,13.305,28.688,14.617,28.688,16z"/> <path fill="{fill}" d="M3.312,16c0-1.383,0.274-2.695,0.688-3.942V12l-4,4l4,4v-0.058C3.587,18.695,3.312,17.383,3.312,16z"/> <path fill="{fill}" d="M24.969,24.969c-0.976,0.984-2.101,1.711-3.272,2.305l-0.04,0.039h5.656v-5.656l-0.043,0.042 C26.681,22.87,25.953,23.992,24.969,24.969z"/> <path fill="{fill}" d="M7.031,7.031c0.978-0.984,2.094-1.711,3.266-2.305l0.047-0.039H4.688v5.656l0.04-0.042 C5.321,9.13,6.047,8.008,7.031,7.031z"/> <path fill="{fill}" d="M7.031,24.969c-0.984-0.977-1.71-2.099-2.304-3.271l-0.04-0.042v5.656h5.656l-0.047-0.039 C9.125,26.68,8.009,25.953,7.031,24.969z"/> <path fill="{fill}" d="M24.969,7.031c0.984,0.977,1.712,2.099,2.301,3.271l0.043,0.042V4.688h-5.656l0.04,0.039 C22.868,5.32,23.993,6.047,24.969,7.031z"/> </g></g></svg>',
128
+ :tag_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M13.277,0H0v13.277L18.719,32V18.723H32L13.277,0z M7.312,11.121c-2.102,0-3.805-1.703-3.805-3.805 s1.703-3.805,3.805-3.805s3.805,1.703,3.805,3.805S9.414,11.121,7.312,11.121z"/></svg>',
129
+ :tag_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M11.699,8.613c0,1.703-1.383,3.086-3.082,3.086c-1.703,0-3.086-1.383-3.086-3.086 c0-1.699,1.383-3.078,3.086-3.078C10.316,5.535,11.699,6.914,11.699,8.613z"/> <g> <path fill="{fill}"style="{style}" d="M0,0v13.273L18.727,32c0,0,0-10.793,0-13.27c2.477,0,13.273,0,13.273,0L13.273,0H0z M11.797,3.562 c0.773,0.77,7.879,7.883,11.602,11.605c-3.102,0-8.234,0-8.234,0s0,5.133,0,8.227C11.441,19.676,4.336,12.566,3.562,11.801 c0-1.055,0-5.961,0-8.238C5.84,3.562,10.742,3.562,11.797,3.562z"/> </g></g></svg>',
130
+ :trash_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M28,4h-4c0-2.211-1.789-4-4-4h-8C9.789,0,8,1.789,8,4H4H0v4h4v18c0,3.312,2.688,6,6,6h12 c3.312,0,6-2.688,6-6V8h4V4H28z M12,24c-1.105,0-2-0.896-2-2s0.895-2,2-2s2,0.896,2,2S13.105,24,12,24z M12,16c-1.105,0-2-0.896-2-2 s0.895-2,2-2s2,0.896,2,2S13.105,16,12,16z M20,24c-1.105,0-2-0.896-2-2s0.895-2,2-2s2,0.896,2,2S21.105,24,20,24z M20,16 c-1.105,0-2-0.896-2-2s0.895-2,2-2s2,0.896,2,2S21.105,16,20,16z"/></svg>',
131
+ :trash_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M32,4h-4h-4c0-2.211-1.789-4-4-4h-8C9.789,0,8,1.789,8,4H4H0v4h4v18c0,3.312,2.688,6,6,6h12 c3.312,0,6-2.688,6-6V8h4V4z M24,26c0,1.102-0.898,2-2,2H10c-1.102,0-2-0.898-2-2V8h16V26z"/> <circle style="{style}" cx="12" cy="22" r="2"/> <circle style="{style}" cx="12" cy="14" r="2"/> <circle style="{style}" cx="20" cy="22" r="2"/> <circle style="{style}" cx="20" cy="14" r="2"/></g></svg>',
132
+ :undo => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 31.985" style="enable-background:new 0 0 32 31.985;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M28.156,3.72c-4.957-4.958-13.604-4.961-18.557,0L4,9.32V4.001H0v12h12v-4H6.975l5.453-5.453 c3.447-3.445,9.453-3.445,12.9,0.007C27.053,8.274,28,10.563,28,13.001s-0.947,4.727-2.672,6.453l-3.016,3.008l2.828,2.828 l3.016-3.008C30.631,19.805,32,16.508,32,13.001C32,9.493,30.631,6.196,28.156,3.72z"/> <rect x="16.449" y="27.157" transform="matrix(0.7071 0.7071 -0.7071 0.7071 26.0209 -4.5056)" style="{style}" width="4" height="4"/></g></svg>',
133
+ :unlock_fill => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24.008 32" style="enable-background:new 0 0 24.008 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M14.008,0c-5.516,0-10,4.487-10,10h4c0-3.309,2.688-6,6-6c3.305,0,6,2.691,6,6v2H0v14 c0,3.308,2.695,6,6,6h12.008c3.305,0,6-2.692,6-6V10C24.008,4.487,19.518,0,14.008,0z M12,24c-1.102,0-2-0.896-2-2 c0-1.105,0.898-2,2-2c1.109,0,2,0.895,2,2C14,23.104,13.109,24,12,24z"/></svg>',
134
+ :unlock_stroke => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24.008 32" style="enable-background:new 0 0 24.008 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M14.008,0c-5.516,0-10,4.489-10,10h4c0-3.305,2.691-6,6-6s6,2.695,6,6v2H0v14c0,3.312,2.691,6,6,6 h12.008c3.309,0,6-2.688,6-6V10C24.008,4.489,19.523,0,14.008,0z M18.008,28H6c-1.102,0-2-0.896-2-2V16h16.008v10 C20.008,27.104,19.109,28,18.008,28z"/> <path fill="{fill}"style="{style}" d="M14.004,22c0,1.109-0.895,2-2,2s-2-0.891-2-2c0-1.102,0.895-2,2-2S14.004,20.898,14.004,22z"/></g></svg>',
135
+ :user => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 24 32" style="enable-background:new 0 0 24 32;" xml:space="preserve"><g> <path fill="{fill}"style="{style}" d="M12,16C5.375,16,0,21.372,0,28c0,2.208,1.789,4,4,4h16c2.211,0,4-1.792,4-4 C24,21.372,18.625,16,12,16z"/> <circle style="{style}" cx="12" cy="6" r="6"/></g></svg>',
136
+ :volume => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" style="enable-background:new 0 0 32 24;" xml:space="preserve"><g> <g> <path fill="{fill}"style="{style}" d="M8,20c-4.416,0-8-3.579-8-8s3.584-8,8-8V20z"/> </g> <g> <polygon style="{style}" points="12,4 20,0 20,24 12,20 "/> </g> <path fill="{fill}"style="{style}" d="M24.006,19.999v-4c0.328,0,0.666-0.046,1-0.125C26.762,15.423,28,13.829,28,12 s-1.238-3.422-3.01-3.874c-0.318-0.078-0.656-0.118-0.984-0.118v-4c0.656,0,1.312,0.085,1.953,0.241C29.521,5.155,32,8.336,32,12 c0,3.671-2.479,6.858-6.025,7.751C25.309,19.914,24.652,19.999,24.006,19.999L24.006,19.999z"/></g></svg>',
137
+ :volume_mute => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 24" style="enable-background:new 0 0 32 24;" xml:space="preserve"><g> <g> <path fill="{fill}"style="{style}" d="M8,20c-4.418,0-8-3.583-8-8s3.582-8,8-8V20z"/> </g> <g> <polygon style="{style}" points="12,4 20,0 20,24 12,20 "/> </g> <polygon style="{style}" points="32,14 24,14 24,10 32,10 32,14 "/></g></svg>',
138
+ :x => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 28 28" style="enable-background:new 0 0 28 28;" xml:space="preserve"><g> <polygon style="{style}" points="28,22.398 19.594,14 28,5.602 22.398,0 14,8.402 5.598,0 0,5.602 8.398,14 0,22.398 5.598,28 14,19.598 22.398,28 "/></g></svg>',
139
+ :x_alt => '<svg version="1.1" id="{id}" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="{width}" height="{height}" viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"><path fill="{fill}"style="{style}" d="M16,0C7.164,0,0,7.164,0,16s7.164,16,16,16s16-7.164,16-16S24.836,0,16,0z M23.914,21.086 l-2.828,2.828L16,18.828l-5.086,5.086l-2.828-2.828L13.172,16l-5.086-5.086l2.828-2.828L16,13.172l5.086-5.086l2.828,2.828 L18.828,16L23.914,21.086z"/></svg>',
140
+ }
141
+ end
142
+ end