railsstrap 3.3.4 → 4.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (714) hide show
  1. checksums.yaml +5 -5
  2. data/lib/generators/railsstrap/install/install_generator.rb +18 -25
  3. data/lib/generators/railsstrap/install/templates/application.css +1 -2
  4. data/lib/generators/railsstrap/install/templates/application.js +2 -5
  5. data/lib/generators/railsstrap/install/templates/bootstrap.js +6 -6
  6. data/lib/generators/railsstrap/layout/layout_generator.rb +4 -2
  7. data/lib/generators/railsstrap/layout/templates/layout.html.erb +69 -72
  8. data/lib/generators/railsstrap/layout/templates/layout.html.haml +2 -2
  9. data/lib/generators/railsstrap/layout/templates/layout.html.slim +14 -14
  10. data/lib/generators/railsstrap/partial/partial_generator.rb +4 -2
  11. data/lib/generators/railsstrap/partial/templates/_login.html.erb +1 -1
  12. data/lib/generators/railsstrap/scaffold/scaffold_generator.rb +103 -0
  13. data/lib/generators/railsstrap/scaffold/templates/_form.html.erb +21 -0
  14. data/lib/generators/railsstrap/{themed → scaffold}/templates/_form.html.haml +3 -4
  15. data/lib/generators/railsstrap/scaffold/templates/_form.html.slim +15 -0
  16. data/lib/generators/railsstrap/scaffold/templates/edit.html.erb +3 -0
  17. data/lib/generators/railsstrap/scaffold/templates/edit.html.haml +3 -0
  18. data/lib/generators/railsstrap/scaffold/templates/edit.html.slim +2 -0
  19. data/lib/generators/railsstrap/scaffold/templates/index.html.erb +43 -0
  20. data/lib/generators/railsstrap/scaffold/templates/index.html.haml +25 -0
  21. data/lib/generators/railsstrap/scaffold/templates/index.html.slim +26 -0
  22. data/lib/generators/railsstrap/scaffold/templates/new.html.erb +5 -0
  23. data/lib/generators/railsstrap/scaffold/templates/new.html.haml +4 -0
  24. data/lib/generators/railsstrap/scaffold/templates/new.html.slim +4 -0
  25. data/lib/generators/railsstrap/scaffold/templates/show.html.erb +22 -0
  26. data/lib/generators/railsstrap/scaffold/templates/show.html.haml +15 -0
  27. data/lib/generators/railsstrap/scaffold/templates/show.html.slim +16 -0
  28. data/lib/generators/railsstrap/scaffold/templates/simple_form/_form.html.erb +14 -0
  29. data/lib/generators/railsstrap/scaffold/templates/simple_form/_form.html.haml +11 -0
  30. data/lib/generators/railsstrap/scaffold/templates/simple_form/_form.html.slim +12 -0
  31. data/lib/railsstrap.rb +13 -2
  32. data/lib/railsstrap/classes/alert_box.rb +62 -0
  33. data/lib/railsstrap/classes/aside.rb +67 -0
  34. data/lib/railsstrap/classes/badge.rb +38 -0
  35. data/lib/railsstrap/classes/base.rb +149 -0
  36. data/lib/railsstrap/classes/button.rb +68 -0
  37. data/lib/railsstrap/classes/button_group.rb +66 -0
  38. data/lib/railsstrap/classes/button_to.rb +33 -0
  39. data/lib/railsstrap/classes/card.rb +74 -0
  40. data/lib/railsstrap/classes/card_group.rb +22 -0
  41. data/lib/railsstrap/classes/cdn.rb +93 -0
  42. data/lib/railsstrap/classes/dropdown.rb +56 -0
  43. data/lib/railsstrap/classes/icon.rb +40 -0
  44. data/lib/railsstrap/classes/link_to.rb +26 -0
  45. data/lib/railsstrap/classes/modal.rb +68 -0
  46. data/lib/railsstrap/classes/nav.rb +46 -0
  47. data/lib/railsstrap/classes/navbar.rb +72 -0
  48. data/lib/railsstrap/classes/progress_bar.rb +89 -0
  49. data/lib/railsstrap/classes/stack.rb +19 -0
  50. data/lib/railsstrap/classes/vertical.rb +29 -0
  51. data/lib/railsstrap/core_ext/engine.rb +61 -0
  52. data/lib/railsstrap/core_ext/rails/base_helper.rb +21 -0
  53. data/lib/railsstrap/core_ext/rails/form/base_helper.rb +150 -0
  54. data/lib/railsstrap/core_ext/rails/form/check_box_helper.rb +35 -0
  55. data/lib/railsstrap/core_ext/rails/form/field_helper.rb +15 -0
  56. data/lib/railsstrap/core_ext/rails/form/fields_for_helper.rb +23 -0
  57. data/lib/railsstrap/core_ext/rails/form/fieldset_helper.rb +16 -0
  58. data/lib/railsstrap/core_ext/rails/form/file_field_helper.rb +15 -0
  59. data/lib/railsstrap/core_ext/rails/form/legend_helper.rb +17 -0
  60. data/lib/railsstrap/core_ext/rails/form/radio_button_helper.rb +19 -0
  61. data/lib/railsstrap/core_ext/rails/form/select_helper.rb +16 -0
  62. data/lib/railsstrap/core_ext/rails/form/static_control_helper.rb +43 -0
  63. data/lib/railsstrap/core_ext/rails/form/submit_helper.rb +23 -0
  64. data/lib/railsstrap/core_ext/rails/form_builder.rb +46 -0
  65. data/lib/railsstrap/core_ext/rails/form_for_helper.rb +46 -0
  66. data/lib/railsstrap/helpers/alert_box_helper.rb +41 -0
  67. data/lib/railsstrap/helpers/aside_helper.rb +57 -0
  68. data/lib/railsstrap/helpers/badge_helper.rb +41 -0
  69. data/{app/helpers/railsstrap → lib/railsstrap/helpers}/breadcrumbs.rb +0 -0
  70. data/{app/helpers/railsstrap → lib/railsstrap/helpers}/breadcrumbs_helper.rb +2 -3
  71. data/lib/railsstrap/helpers/button_group_helper.rb +34 -0
  72. data/lib/railsstrap/helpers/button_helper.rb +40 -0
  73. data/lib/railsstrap/helpers/button_to_helper.rb +65 -0
  74. data/lib/railsstrap/helpers/card_group_helper.rb +28 -0
  75. data/lib/railsstrap/helpers/card_helper.rb +56 -0
  76. data/lib/railsstrap/helpers/cdn_helper.rb +93 -0
  77. data/lib/railsstrap/helpers/date_picker_helper.rb +78 -0
  78. data/lib/railsstrap/helpers/dropdown_helper.rb +49 -0
  79. data/{app/helpers/railsstrap/bootstrap_flash_helper.rb → lib/railsstrap/helpers/flash_helper.rb} +12 -12
  80. data/lib/railsstrap/helpers/form_errors.rb +36 -0
  81. data/lib/railsstrap/helpers/glyphicon_helper.rb +21 -0
  82. data/lib/railsstrap/helpers/horizontal_helper.rb +36 -0
  83. data/lib/railsstrap/helpers/icon_helper.rb +26 -0
  84. data/lib/railsstrap/helpers/link_to_helper.rb +61 -0
  85. data/lib/railsstrap/helpers/modal_helper.rb +55 -0
  86. data/lib/railsstrap/helpers/nav_helper.rb +34 -0
  87. data/lib/railsstrap/helpers/navbar_helper.rb +46 -0
  88. data/lib/railsstrap/helpers/progress_bar_helper.rb +55 -0
  89. data/lib/railsstrap/helpers/vertical_helper.rb +34 -0
  90. data/lib/railsstrap/version.rb +3 -0
  91. data/lib/railsstrap/views/railsstrap/_aside.html.erb +14 -0
  92. data/lib/railsstrap/views/railsstrap/_dismiss_button.html.erb +4 -0
  93. data/lib/railsstrap/views/railsstrap/_dropdown.html.erb +9 -0
  94. data/lib/railsstrap/views/railsstrap/_dropdown_split.html.erb +10 -0
  95. data/lib/railsstrap/views/railsstrap/_modal.html.erb +14 -0
  96. data/lib/railsstrap/views/railsstrap/_navbar.html.erb +5 -0
  97. data/spec/padrino/button_to_helper.rb +35 -0
  98. data/spec/padrino/link_to_helper.rb +12 -0
  99. data/spec/padrino_spec.rb +29 -0
  100. data/spec/rails/button_to_helper.rb +31 -0
  101. data/spec/rails/form/check_box_helper_spec.rb +112 -0
  102. data/spec/rails/form/field_helper_spec.rb +138 -0
  103. data/spec/rails/form/fields_for_helper_spec.rb +65 -0
  104. data/spec/rails/form/fieldset_helper_spec.rb +32 -0
  105. data/spec/rails/form/file_field_helper_spec.rb +74 -0
  106. data/spec/rails/form/legend_helper_spec.rb +35 -0
  107. data/spec/rails/form/radio_button_helper_spec.rb +89 -0
  108. data/spec/rails/form/select_helper_spec.rb +88 -0
  109. data/spec/rails/form/static_control_helper_spec.rb +67 -0
  110. data/spec/rails/form/submit_helper_spec.rb +30 -0
  111. data/spec/rails/form_for_helper_spec.rb +46 -0
  112. data/spec/rails/link_to_helper.rb +12 -0
  113. data/spec/rails_helper.rb +24 -0
  114. data/spec/rails_spec.rb +33 -0
  115. data/spec/shared/alert_box_helper.rb +74 -0
  116. data/spec/shared/aside_helper.rb +104 -0
  117. data/spec/shared/badge_helper.rb +62 -0
  118. data/spec/shared/button_group_helper.rb +29 -0
  119. data/spec/shared/button_helper.rb +52 -0
  120. data/spec/shared/button_to_helper.rb +50 -0
  121. data/spec/shared/card_group_helper.rb +33 -0
  122. data/spec/shared/card_helper.rb +84 -0
  123. data/spec/shared/cdn_helper.rb +39 -0
  124. data/spec/shared/dropdown_helper.rb +112 -0
  125. data/spec/shared/glyphicon_helper.rb +21 -0
  126. data/spec/shared/horizontal_helper.rb +37 -0
  127. data/spec/shared/icon_helper.rb +31 -0
  128. data/spec/shared/link_to_helper.rb +84 -0
  129. data/spec/shared/modal_helper.rb +96 -0
  130. data/spec/shared/nav_helper.rb +49 -0
  131. data/spec/shared/navbar_helper.rb +60 -0
  132. data/spec/shared/progress_bar_helper.rb +103 -0
  133. data/spec/shared/vertical_helper.rb +37 -0
  134. data/spec/spec_helper.rb +17 -20
  135. data/spec/support/matchers.rb +47 -0
  136. data/spec/support/padrino.rb +33 -0
  137. data/spec/support/rails.rb +27 -0
  138. data/vendor/assets/javascripts/railsstrap.min.js +1 -0
  139. data/vendor/assets/javascripts/railsstrap.min.js.gz +0 -0
  140. data/vendor/assets/stylesheets/_alert.scss +51 -0
  141. data/vendor/assets/stylesheets/_badge.scss +47 -0
  142. data/vendor/assets/stylesheets/_breadcrumb.scss +38 -0
  143. data/vendor/assets/stylesheets/_button-group.scss +166 -0
  144. data/vendor/assets/stylesheets/_buttons.scss +143 -0
  145. data/vendor/assets/stylesheets/_card.scss +270 -0
  146. data/vendor/assets/stylesheets/_carousel.scss +191 -0
  147. data/vendor/assets/stylesheets/_close.scss +34 -0
  148. data/vendor/assets/stylesheets/_code.scss +56 -0
  149. data/vendor/assets/stylesheets/_custom-forms.scss +297 -0
  150. data/vendor/assets/stylesheets/_dropdown.scss +131 -0
  151. data/vendor/assets/stylesheets/_forms.scss +333 -0
  152. data/vendor/assets/stylesheets/_functions.scss +86 -0
  153. data/vendor/assets/stylesheets/_grid.scss +52 -0
  154. data/vendor/assets/stylesheets/_images.scss +42 -0
  155. data/vendor/assets/stylesheets/_input-group.scss +159 -0
  156. data/vendor/assets/stylesheets/_jumbotron.scss +16 -0
  157. data/vendor/assets/stylesheets/_list-group.scss +115 -0
  158. data/vendor/assets/stylesheets/_media.scss +8 -0
  159. data/vendor/assets/stylesheets/_mixins.scss +43 -0
  160. data/vendor/assets/stylesheets/_modal.scss +168 -0
  161. data/vendor/assets/stylesheets/_nav.scss +118 -0
  162. data/vendor/assets/stylesheets/_navbar.scss +311 -0
  163. data/vendor/assets/stylesheets/_pagination.scss +77 -0
  164. data/vendor/assets/stylesheets/_popover.scss +183 -0
  165. data/vendor/assets/stylesheets/_print.scss +124 -0
  166. data/vendor/assets/stylesheets/_progress.scss +33 -0
  167. data/vendor/assets/stylesheets/_reboot.scss +482 -0
  168. data/vendor/assets/stylesheets/_root.scss +19 -0
  169. data/vendor/assets/stylesheets/_tables.scss +180 -0
  170. data/vendor/assets/stylesheets/_tooltip.scss +115 -0
  171. data/vendor/assets/stylesheets/_transitions.scss +36 -0
  172. data/vendor/assets/stylesheets/_type.scss +125 -0
  173. data/vendor/assets/stylesheets/_utilities.scss +14 -0
  174. data/vendor/assets/stylesheets/_variables.scss +898 -0
  175. data/vendor/assets/stylesheets/alert/{alert.less → alert.scss} +31 -15
  176. data/vendor/assets/stylesheets/animate/bounce/{bounce.less → bounce.scss} +0 -0
  177. data/vendor/assets/stylesheets/animate/bounce/{bounceIn.less → bounceIn.scss} +0 -0
  178. data/vendor/assets/stylesheets/animate/bounce/{bounceInDown.less → bounceInDown.scss} +0 -0
  179. data/vendor/assets/stylesheets/animate/bounce/{bounceInLeft.less → bounceInLeft.scss} +0 -0
  180. data/vendor/assets/stylesheets/animate/bounce/{bounceInRight.less → bounceInRight.scss} +0 -0
  181. data/vendor/assets/stylesheets/animate/bounce/{bounceInUp.less → bounceInUp.scss} +0 -0
  182. data/vendor/assets/stylesheets/animate/bounce/{bounceOut.less → bounceOut.scss} +0 -0
  183. data/vendor/assets/stylesheets/animate/bounce/{bounceOutDown.less → bounceOutDown.scss} +0 -0
  184. data/vendor/assets/stylesheets/animate/bounce/{bounceOutLeft.less → bounceOutLeft.scss} +0 -0
  185. data/vendor/assets/stylesheets/animate/bounce/{bounceOutRight.less → bounceOutRight.scss} +0 -0
  186. data/vendor/assets/stylesheets/animate/bounce/{bounceOutUp.less → bounceOutUp.scss} +0 -0
  187. data/vendor/assets/stylesheets/animate/fade/{fadeIn.less → fadeIn.scss} +0 -0
  188. data/vendor/assets/stylesheets/animate/fade/{fadeInDown.less → fadeInDown.scss} +0 -0
  189. data/vendor/assets/stylesheets/animate/fade/{fadeInDownBig.less → fadeInDownBig.scss} +0 -0
  190. data/vendor/assets/stylesheets/animate/fade/{fadeInLeft.less → fadeInLeft.scss} +0 -0
  191. data/vendor/assets/stylesheets/animate/fade/{fadeInLeftBig.less → fadeInLeftBig.scss} +0 -0
  192. data/vendor/assets/stylesheets/animate/fade/{fadeInRight.less → fadeInRight.scss} +0 -0
  193. data/vendor/assets/stylesheets/animate/fade/{fadeInRightBig.less → fadeInRightBig.scss} +0 -0
  194. data/vendor/assets/stylesheets/animate/fade/{fadeInUp.less → fadeInUp.scss} +0 -0
  195. data/vendor/assets/stylesheets/animate/fade/{fadeInUpBig.less → fadeInUpBig.scss} +0 -0
  196. data/vendor/assets/stylesheets/animate/fade/{fadeOut.less → fadeOut.scss} +0 -0
  197. data/vendor/assets/stylesheets/animate/fade/{fadeOutDown.less → fadeOutDown.scss} +0 -0
  198. data/vendor/assets/stylesheets/animate/fade/{fadeOutDownBig.less → fadeOutDownBig.scss} +0 -0
  199. data/vendor/assets/stylesheets/animate/fade/{fadeOutLeft.less → fadeOutLeft.scss} +0 -0
  200. data/vendor/assets/stylesheets/animate/fade/{fadeOutLeftBig.less → fadeOutLeftBig.scss} +0 -0
  201. data/vendor/assets/stylesheets/animate/fade/{fadeOutRight.less → fadeOutRight.scss} +0 -0
  202. data/vendor/assets/stylesheets/animate/fade/{fadeOutRightBig.less → fadeOutRightBig.scss} +0 -0
  203. data/vendor/assets/stylesheets/animate/fade/{fadeOutUp.less → fadeOutUp.scss} +0 -0
  204. data/vendor/assets/stylesheets/animate/fade/{fadeOutUpBig.less → fadeOutUpBig.scss} +0 -0
  205. data/vendor/assets/stylesheets/animate/{flash.less → flash.scss} +0 -0
  206. data/vendor/assets/stylesheets/animate/flip/{flip.less → flip.scss} +0 -0
  207. data/vendor/assets/stylesheets/animate/flip/{flipInX.less → flipInX.scss} +0 -0
  208. data/vendor/assets/stylesheets/animate/flip/{flipOutX.less → flipOutX.scss} +0 -0
  209. data/vendor/assets/stylesheets/animate/flip/{flipOutY.less → flipOutY.scss} +0 -0
  210. data/vendor/assets/stylesheets/animate/flip/{flipinY.less → flipinY.scss} +0 -0
  211. data/vendor/assets/stylesheets/animate/{hinge.less → hinge.scss} +0 -0
  212. data/vendor/assets/stylesheets/animate/{lightSpeedIn.less → lightSpeedIn.scss} +0 -0
  213. data/vendor/assets/stylesheets/animate/{lightSpeedOut.less → lightSpeedOut.scss} +0 -0
  214. data/vendor/assets/stylesheets/animate/{pulse.less → pulse.scss} +0 -0
  215. data/vendor/assets/stylesheets/animate/roll/{rollIn.less → rollIn.scss} +0 -0
  216. data/vendor/assets/stylesheets/animate/roll/{rollOut.less → rollOut.scss} +0 -0
  217. data/vendor/assets/stylesheets/animate/rotate/{rotateIn.less → rotateIn.scss} +0 -0
  218. data/vendor/assets/stylesheets/animate/rotate/{rotateInDownLeft.less → rotateInDownLeft.scss} +0 -0
  219. data/vendor/assets/stylesheets/animate/rotate/{rotateInDownRight.less → rotateInDownRight.scss} +0 -0
  220. data/vendor/assets/stylesheets/animate/rotate/{rotateInUpLeft.less → rotateInUpLeft.scss} +0 -0
  221. data/vendor/assets/stylesheets/animate/rotate/{rotateInUpRight.less → rotateInUpRight.scss} +0 -0
  222. data/vendor/assets/stylesheets/animate/rotate/{rotateOut.less → rotateOut.scss} +0 -0
  223. data/vendor/assets/stylesheets/animate/rotate/{rotateOutDownLeft.less → rotateOutDownLeft.scss} +0 -0
  224. data/vendor/assets/stylesheets/animate/rotate/{rotateOutDownRight.less → rotateOutDownRight.scss} +0 -0
  225. data/vendor/assets/stylesheets/animate/rotate/{rotateOutUpLeft.less → rotateOutUpLeft.scss} +0 -0
  226. data/vendor/assets/stylesheets/animate/rotate/{rotateOutUpRight.less → rotateOutUpRight.scss} +0 -0
  227. data/vendor/assets/stylesheets/animate/{rubberBand.less → rubberBand.scss} +0 -0
  228. data/vendor/assets/stylesheets/animate/{shake.less → shake.scss} +0 -0
  229. data/vendor/assets/stylesheets/animate/slide/{slideInDown.less → slideInDown.scss} +0 -0
  230. data/vendor/assets/stylesheets/animate/slide/{slideInLeft.less → slideInLeft.scss} +0 -0
  231. data/vendor/assets/stylesheets/animate/slide/{slideInRight.less → slideInRight.scss} +0 -0
  232. data/vendor/assets/stylesheets/animate/slide/{slideInUp.less → slideInUp.scss} +0 -0
  233. data/vendor/assets/stylesheets/animate/slide/{slideOutDown.less → slideOutDown.scss} +0 -0
  234. data/vendor/assets/stylesheets/animate/slide/{slideOutLeft.less → slideOutLeft.scss} +0 -0
  235. data/vendor/assets/stylesheets/animate/slide/{slideOutRight.less → slideOutRight.scss} +0 -0
  236. data/vendor/assets/stylesheets/animate/slide/{slideOutUp.less → slideOutUp.scss} +0 -0
  237. data/vendor/assets/stylesheets/animate/{swing.less → swing.scss} +0 -0
  238. data/vendor/assets/stylesheets/animate/{tada.less → tada.scss} +0 -0
  239. data/vendor/assets/stylesheets/animate/{wobble.less → wobble.scss} +0 -0
  240. data/vendor/assets/stylesheets/animate/zoom/{zoomIn.less → zoomIn.scss} +0 -0
  241. data/vendor/assets/stylesheets/animate/zoom/{zoomInDown.less → zoomInDown.scss} +0 -0
  242. data/vendor/assets/stylesheets/animate/zoom/{zoomInLeft.less → zoomInLeft.scss} +0 -0
  243. data/vendor/assets/stylesheets/animate/zoom/{zoomInRight.less → zoomInRight.scss} +0 -0
  244. data/vendor/assets/stylesheets/animate/zoom/{zoomInUp.less → zoomInUp.scss} +0 -0
  245. data/vendor/assets/stylesheets/animate/zoom/{zoomOut.less → zoomOut.scss} +0 -0
  246. data/vendor/assets/stylesheets/animate/zoom/{zoomOutDown.less → zoomOutDown.scss} +0 -0
  247. data/vendor/assets/stylesheets/animate/zoom/{zoomOutLeft.less → zoomOutLeft.scss} +0 -0
  248. data/vendor/assets/stylesheets/animate/zoom/{zoomOutRight.less → zoomOutRight.scss} +0 -0
  249. data/vendor/assets/stylesheets/animate/zoom/{zoomOutUp.less → zoomOutUp.scss} +0 -0
  250. data/vendor/assets/stylesheets/aside/aside.scss +121 -0
  251. data/vendor/assets/stylesheets/{bootstrap-additions.less → bootstrap-additions.scss} +0 -2
  252. data/vendor/assets/stylesheets/bootstrap-grid.scss +32 -0
  253. data/vendor/assets/stylesheets/bootstrap-reboot.scss +12 -0
  254. data/vendor/assets/stylesheets/bootstrap.scss +42 -0
  255. data/vendor/assets/stylesheets/callout/{callout.less → callout.scss} +0 -0
  256. data/vendor/assets/stylesheets/datepicker/{datepicker.less → datepicker.scss} +1 -2
  257. data/vendor/assets/stylesheets/fontawesome.scss +11 -0
  258. data/vendor/assets/stylesheets/mixins/_alert.scss +13 -0
  259. data/vendor/assets/stylesheets/mixins/_animated.scss +16 -0
  260. data/vendor/assets/stylesheets/mixins/_background-variant.scss +21 -0
  261. data/vendor/assets/stylesheets/mixins/_badge.scss +12 -0
  262. data/vendor/assets/stylesheets/mixins/_border-radius.scss +35 -0
  263. data/vendor/assets/stylesheets/mixins/_box-shadow.scss +5 -0
  264. data/vendor/assets/stylesheets/mixins/_breakpoints.scss +123 -0
  265. data/vendor/assets/stylesheets/mixins/_buttons.scss +109 -0
  266. data/vendor/assets/stylesheets/mixins/_caret.scss +65 -0
  267. data/vendor/assets/stylesheets/mixins/_clearfix.scss +7 -0
  268. data/vendor/assets/stylesheets/mixins/_float.scss +11 -0
  269. data/vendor/assets/stylesheets/mixins/_forms.scss +137 -0
  270. data/vendor/assets/stylesheets/mixins/_gradients.scss +45 -0
  271. data/vendor/assets/stylesheets/mixins/_grid-framework.scss +67 -0
  272. data/vendor/assets/stylesheets/mixins/_grid.scss +52 -0
  273. data/vendor/assets/stylesheets/mixins/_hover.scss +39 -0
  274. data/vendor/assets/stylesheets/mixins/_image.scss +36 -0
  275. data/vendor/assets/stylesheets/mixins/_list-group.scss +21 -0
  276. data/vendor/assets/stylesheets/mixins/_lists.scss +7 -0
  277. data/vendor/assets/stylesheets/mixins/_nav-divider.scss +10 -0
  278. data/vendor/assets/stylesheets/mixins/_navbar-align.scss +10 -0
  279. data/vendor/assets/stylesheets/mixins/_pagination.scss +22 -0
  280. data/vendor/assets/stylesheets/mixins/_reset-text.scss +17 -0
  281. data/vendor/assets/{bower_components/bootstrap/less/mixins/resize.less → stylesheets/mixins/_resize.scss} +2 -2
  282. data/vendor/assets/stylesheets/mixins/_screen-reader.scss +35 -0
  283. data/vendor/assets/stylesheets/mixins/_size.scss +6 -0
  284. data/vendor/assets/stylesheets/mixins/_table-row.scss +30 -0
  285. data/vendor/assets/stylesheets/mixins/_text-emphasis.scss +14 -0
  286. data/vendor/assets/stylesheets/mixins/_text-hide.scss +9 -0
  287. data/vendor/assets/{bower_components/bootstrap/less/mixins/text-overflow.less → stylesheets/mixins/_text-truncate.scss} +2 -2
  288. data/vendor/assets/stylesheets/mixins/_transition.scss +9 -0
  289. data/vendor/assets/stylesheets/mixins/_visibility.scss +7 -0
  290. data/vendor/assets/stylesheets/modal/{modal.less → modal.scss} +0 -0
  291. data/vendor/assets/stylesheets/popover/popover.scss +34 -0
  292. data/vendor/assets/stylesheets/railsstrap.min.css +8923 -0
  293. data/vendor/assets/stylesheets/railsstrap.min.css.gz +0 -0
  294. data/vendor/assets/stylesheets/railsstrap.scss +78 -0
  295. data/vendor/assets/stylesheets/timepicker/{timepicker.less → timepicker.scss} +0 -0
  296. data/vendor/assets/stylesheets/tooltip/tooltip.scss +60 -0
  297. data/vendor/assets/stylesheets/utilities/_align.scss +8 -0
  298. data/vendor/assets/stylesheets/utilities/_background.scss +19 -0
  299. data/vendor/assets/stylesheets/utilities/_borders.scss +59 -0
  300. data/vendor/assets/stylesheets/utilities/_clearfix.scss +3 -0
  301. data/vendor/assets/stylesheets/utilities/_display.scss +38 -0
  302. data/vendor/assets/{bower_components/bootstrap/less/responsive-embed.less → stylesheets/utilities/_embed.scss} +26 -9
  303. data/vendor/assets/stylesheets/utilities/_flex.scss +46 -0
  304. data/vendor/assets/stylesheets/utilities/_float.scss +9 -0
  305. data/vendor/assets/stylesheets/utilities/_position.scss +36 -0
  306. data/vendor/assets/stylesheets/utilities/_screenreaders.scss +11 -0
  307. data/vendor/assets/stylesheets/utilities/_sizing.scss +12 -0
  308. data/vendor/assets/stylesheets/utilities/_spacing.scss +51 -0
  309. data/vendor/assets/stylesheets/utilities/_text.scss +52 -0
  310. data/vendor/assets/stylesheets/utilities/_visibility.scss +11 -0
  311. metadata +425 -546
  312. data/.bowerrc +0 -3
  313. data/README.md +0 -93
  314. data/Rakefile +0 -25
  315. data/app/helpers/railsstrap/aside_helper.rb +0 -59
  316. data/app/helpers/railsstrap/badge_label_helper.rb +0 -18
  317. data/app/helpers/railsstrap/date_picker_helper.rb +0 -92
  318. data/app/helpers/railsstrap/form_errors_helper.rb +0 -28
  319. data/app/helpers/railsstrap/glyph_helper.rb +0 -22
  320. data/app/helpers/railsstrap/icon_helper.rb +0 -22
  321. data/app/helpers/railsstrap/modal_helper.rb +0 -59
  322. data/app/helpers/railsstrap/navbar_helper.rb +0 -210
  323. data/app/views/railsstrap/_breadcrumbs.html.erb +0 -14
  324. data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.css +0 -9
  325. data/lib/generators/railsstrap/install/templates/bootstrap_and_overrides.less +0 -42
  326. data/lib/generators/railsstrap/themed/templates/_form.html.erb +0 -36
  327. data/lib/generators/railsstrap/themed/templates/_form.html.slim +0 -13
  328. data/lib/generators/railsstrap/themed/templates/edit.html.erb +0 -5
  329. data/lib/generators/railsstrap/themed/templates/edit.html.haml +0 -4
  330. data/lib/generators/railsstrap/themed/templates/edit.html.slim +0 -4
  331. data/lib/generators/railsstrap/themed/templates/index.html.erb +0 -40
  332. data/lib/generators/railsstrap/themed/templates/index.html.haml +0 -25
  333. data/lib/generators/railsstrap/themed/templates/index.html.slim +0 -26
  334. data/lib/generators/railsstrap/themed/templates/new.html.erb +0 -5
  335. data/lib/generators/railsstrap/themed/templates/new.html.haml +0 -4
  336. data/lib/generators/railsstrap/themed/templates/new.html.slim +0 -4
  337. data/lib/generators/railsstrap/themed/templates/show.html.erb +0 -21
  338. data/lib/generators/railsstrap/themed/templates/show.html.haml +0 -15
  339. data/lib/generators/railsstrap/themed/templates/show.html.slim +0 -16
  340. data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.erb +0 -14
  341. data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.haml +0 -11
  342. data/lib/generators/railsstrap/themed/templates/simple_form/_form.html.slim +0 -12
  343. data/lib/generators/railsstrap/themed/themed_generator.rb +0 -148
  344. data/lib/railsstrap/bootstrap.rb +0 -2
  345. data/lib/railsstrap/constants.rb +0 -6
  346. data/lib/railsstrap/engine.rb +0 -46
  347. data/spec/lib/railsstrap/aside_helper_spec.rb +0 -140
  348. data/spec/lib/railsstrap/badge_label_helper_spec.rb +0 -29
  349. data/spec/lib/railsstrap/bootstrap_flash_helper_spec.rb +0 -130
  350. data/spec/lib/railsstrap/breadcrumbs_spec.rb +0 -75
  351. data/spec/lib/railsstrap/datepicker_helper_spec.rb +0 -59
  352. data/spec/lib/railsstrap/form_errors_helper_spec.rb +0 -147
  353. data/spec/lib/railsstrap/glyph_helper_spec.rb +0 -24
  354. data/spec/lib/railsstrap/icon_helper_spec.rb +0 -24
  355. data/spec/lib/railsstrap/modal_helper_spec.rb +0 -140
  356. data/spec/lib/railsstrap/navbar_helper_spec.rb +0 -373
  357. data/spec/lib/railsstrap/uri_state_spec.rb +0 -49
  358. data/vendor/assets/bower_components/bootstrap/Gruntfile.js +0 -511
  359. data/vendor/assets/bower_components/bootstrap/LICENSE +0 -21
  360. data/vendor/assets/bower_components/bootstrap/README.md +0 -134
  361. data/vendor/assets/bower_components/bootstrap/bower.json +0 -39
  362. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +0 -476
  363. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +0 -1
  364. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +0 -5
  365. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css +0 -6584
  366. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +0 -1
  367. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +0 -5
  368. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  369. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +0 -288
  370. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  371. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  372. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  373. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +0 -2317
  374. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +0 -7
  375. data/vendor/assets/bower_components/bootstrap/dist/js/npm.js +0 -13
  376. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  377. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +0 -288
  378. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  379. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  380. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  381. data/vendor/assets/bower_components/bootstrap/grunt/bs-commonjs-generator.js +0 -23
  382. data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +0 -41
  383. data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +0 -238
  384. data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +0 -46
  385. data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +0 -46
  386. data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +0 -82
  387. data/vendor/assets/bower_components/bootstrap/js/affix.js +0 -162
  388. data/vendor/assets/bower_components/bootstrap/js/alert.js +0 -94
  389. data/vendor/assets/bower_components/bootstrap/js/button.js +0 -116
  390. data/vendor/assets/bower_components/bootstrap/js/carousel.js +0 -237
  391. data/vendor/assets/bower_components/bootstrap/js/collapse.js +0 -211
  392. data/vendor/assets/bower_components/bootstrap/js/dropdown.js +0 -161
  393. data/vendor/assets/bower_components/bootstrap/js/modal.js +0 -339
  394. data/vendor/assets/bower_components/bootstrap/js/popover.js +0 -108
  395. data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +0 -172
  396. data/vendor/assets/bower_components/bootstrap/js/tab.js +0 -153
  397. data/vendor/assets/bower_components/bootstrap/js/tooltip.js +0 -476
  398. data/vendor/assets/bower_components/bootstrap/js/transition.js +0 -59
  399. data/vendor/assets/bower_components/bootstrap/less/alerts.less +0 -73
  400. data/vendor/assets/bower_components/bootstrap/less/badges.less +0 -66
  401. data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +0 -50
  402. data/vendor/assets/bower_components/bootstrap/less/breadcrumbs.less +0 -26
  403. data/vendor/assets/bower_components/bootstrap/less/button-groups.less +0 -243
  404. data/vendor/assets/bower_components/bootstrap/less/buttons.less +0 -160
  405. data/vendor/assets/bower_components/bootstrap/less/carousel.less +0 -269
  406. data/vendor/assets/bower_components/bootstrap/less/close.less +0 -34
  407. data/vendor/assets/bower_components/bootstrap/less/code.less +0 -69
  408. data/vendor/assets/bower_components/bootstrap/less/component-animations.less +0 -33
  409. data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +0 -214
  410. data/vendor/assets/bower_components/bootstrap/less/forms.less +0 -574
  411. data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +0 -305
  412. data/vendor/assets/bower_components/bootstrap/less/grid.less +0 -84
  413. data/vendor/assets/bower_components/bootstrap/less/input-groups.less +0 -166
  414. data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +0 -50
  415. data/vendor/assets/bower_components/bootstrap/less/labels.less +0 -64
  416. data/vendor/assets/bower_components/bootstrap/less/list-group.less +0 -124
  417. data/vendor/assets/bower_components/bootstrap/less/media.less +0 -61
  418. data/vendor/assets/bower_components/bootstrap/less/mixins.less +0 -39
  419. data/vendor/assets/bower_components/bootstrap/less/mixins/alerts.less +0 -14
  420. data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +0 -8
  421. data/vendor/assets/bower_components/bootstrap/less/mixins/border-radius.less +0 -18
  422. data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +0 -52
  423. data/vendor/assets/bower_components/bootstrap/less/mixins/center-block.less +0 -7
  424. data/vendor/assets/bower_components/bootstrap/less/mixins/clearfix.less +0 -22
  425. data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +0 -85
  426. data/vendor/assets/bower_components/bootstrap/less/mixins/gradients.less +0 -59
  427. data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +0 -91
  428. data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +0 -122
  429. data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +0 -21
  430. data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +0 -33
  431. data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +0 -12
  432. data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +0 -29
  433. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-divider.less +0 -10
  434. data/vendor/assets/bower_components/bootstrap/less/mixins/nav-vertical-align.less +0 -9
  435. data/vendor/assets/bower_components/bootstrap/less/mixins/opacity.less +0 -8
  436. data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +0 -23
  437. data/vendor/assets/bower_components/bootstrap/less/mixins/panels.less +0 -24
  438. data/vendor/assets/bower_components/bootstrap/less/mixins/progress-bar.less +0 -10
  439. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-filter.less +0 -8
  440. data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +0 -15
  441. data/vendor/assets/bower_components/bootstrap/less/mixins/size.less +0 -10
  442. data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +0 -9
  443. data/vendor/assets/bower_components/bootstrap/less/mixins/table-row.less +0 -28
  444. data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +0 -8
  445. data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +0 -227
  446. data/vendor/assets/bower_components/bootstrap/less/modals.less +0 -150
  447. data/vendor/assets/bower_components/bootstrap/less/navbar.less +0 -660
  448. data/vendor/assets/bower_components/bootstrap/less/navs.less +0 -242
  449. data/vendor/assets/bower_components/bootstrap/less/normalize.less +0 -427
  450. data/vendor/assets/bower_components/bootstrap/less/pager.less +0 -54
  451. data/vendor/assets/bower_components/bootstrap/less/pagination.less +0 -88
  452. data/vendor/assets/bower_components/bootstrap/less/panels.less +0 -265
  453. data/vendor/assets/bower_components/bootstrap/less/popovers.less +0 -135
  454. data/vendor/assets/bower_components/bootstrap/less/print.less +0 -107
  455. data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +0 -87
  456. data/vendor/assets/bower_components/bootstrap/less/responsive-utilities.less +0 -194
  457. data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +0 -162
  458. data/vendor/assets/bower_components/bootstrap/less/tables.less +0 -234
  459. data/vendor/assets/bower_components/bootstrap/less/theme.less +0 -273
  460. data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +0 -36
  461. data/vendor/assets/bower_components/bootstrap/less/tooltip.less +0 -102
  462. data/vendor/assets/bower_components/bootstrap/less/type.less +0 -302
  463. data/vendor/assets/bower_components/bootstrap/less/utilities.less +0 -55
  464. data/vendor/assets/bower_components/bootstrap/less/variables.less +0 -861
  465. data/vendor/assets/bower_components/bootstrap/less/wells.less +0 -29
  466. data/vendor/assets/bower_components/bootstrap/package.js +0 -22
  467. data/vendor/assets/bower_components/bootstrap/package.json +0 -93
  468. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md +0 -32
  469. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js +0 -155
  470. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE +0 -21
  471. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/README.md +0 -17
  472. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/bower.json +0 -35
  473. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css +0 -238
  474. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css +0 -5
  475. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js +0 -1
  476. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/component.json +0 -10
  477. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/composer.json +0 -30
  478. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/package.json +0 -35
  479. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js +0 -1384
  480. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less +0 -5
  481. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker.less +0 -294
  482. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec +0 -30
  483. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec +0 -30
  484. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe +0 -0
  485. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 +0 -2
  486. data/vendor/assets/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js +0 -88
  487. data/vendor/assets/bower_components/fontawesome/bower.json +0 -23
  488. data/vendor/assets/bower_components/fontawesome/css/font-awesome.css +0 -1801
  489. data/vendor/assets/bower_components/fontawesome/css/font-awesome.css.map +0 -7
  490. data/vendor/assets/bower_components/fontawesome/css/font-awesome.min.css +0 -4
  491. data/vendor/assets/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
  492. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
  493. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.svg +0 -565
  494. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
  495. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
  496. data/vendor/assets/bower_components/fontawesome/fonts/fontawesome-webfont.woff2 +0 -0
  497. data/vendor/assets/bower_components/fontawesome/less/animated.less +0 -34
  498. data/vendor/assets/bower_components/fontawesome/less/bordered-pulled.less +0 -16
  499. data/vendor/assets/bower_components/fontawesome/less/core.less +0 -13
  500. data/vendor/assets/bower_components/fontawesome/less/fixed-width.less +0 -6
  501. data/vendor/assets/bower_components/fontawesome/less/font-awesome.less +0 -17
  502. data/vendor/assets/bower_components/fontawesome/less/icons.less +0 -596
  503. data/vendor/assets/bower_components/fontawesome/less/larger.less +0 -13
  504. data/vendor/assets/bower_components/fontawesome/less/list.less +0 -19
  505. data/vendor/assets/bower_components/fontawesome/less/mixins.less +0 -27
  506. data/vendor/assets/bower_components/fontawesome/less/path.less +0 -15
  507. data/vendor/assets/bower_components/fontawesome/less/rotated-flipped.less +0 -20
  508. data/vendor/assets/bower_components/fontawesome/less/stacked.less +0 -20
  509. data/vendor/assets/bower_components/fontawesome/less/variables.less +0 -606
  510. data/vendor/assets/bower_components/fontawesome/scss/_animated.scss +0 -34
  511. data/vendor/assets/bower_components/fontawesome/scss/_bordered-pulled.scss +0 -16
  512. data/vendor/assets/bower_components/fontawesome/scss/_core.scss +0 -13
  513. data/vendor/assets/bower_components/fontawesome/scss/_fixed-width.scss +0 -6
  514. data/vendor/assets/bower_components/fontawesome/scss/_icons.scss +0 -596
  515. data/vendor/assets/bower_components/fontawesome/scss/_larger.scss +0 -13
  516. data/vendor/assets/bower_components/fontawesome/scss/_list.scss +0 -19
  517. data/vendor/assets/bower_components/fontawesome/scss/_mixins.scss +0 -27
  518. data/vendor/assets/bower_components/fontawesome/scss/_path.scss +0 -15
  519. data/vendor/assets/bower_components/fontawesome/scss/_rotated-flipped.scss +0 -20
  520. data/vendor/assets/bower_components/fontawesome/scss/_stacked.scss +0 -20
  521. data/vendor/assets/bower_components/fontawesome/scss/_variables.scss +0 -606
  522. data/vendor/assets/bower_components/fontawesome/scss/font-awesome.scss +0 -17
  523. data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
  524. data/vendor/assets/bower_components/jquery/bower.json +0 -27
  525. data/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9205
  526. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
  527. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
  528. data/vendor/assets/bower_components/jquery/src/ajax.js +0 -786
  529. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
  530. data/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
  531. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  532. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
  533. data/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
  534. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  535. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  536. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -136
  537. data/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
  538. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -141
  539. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
  540. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -94
  541. data/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
  542. data/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -161
  543. data/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
  544. data/vendor/assets/bower_components/jquery/src/core.js +0 -497
  545. data/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
  546. data/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
  547. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
  548. data/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
  549. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  550. data/vendor/assets/bower_components/jquery/src/css.js +0 -450
  551. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -22
  552. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
  553. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  554. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  555. data/vendor/assets/bower_components/jquery/src/css/support.js +0 -96
  556. data/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
  557. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  558. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -12
  559. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
  560. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
  561. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  562. data/vendor/assets/bower_components/jquery/src/data.js +0 -178
  563. data/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
  564. data/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
  565. data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
  566. data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
  567. data/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
  568. data/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
  569. data/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
  570. data/vendor/assets/bower_components/jquery/src/effects.js +0 -648
  571. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
  572. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  573. data/vendor/assets/bower_components/jquery/src/event.js +0 -868
  574. data/vendor/assets/bower_components/jquery/src/event/ajax.js +0 -13
  575. data/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
  576. data/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
  577. data/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
  578. data/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
  579. data/vendor/assets/bower_components/jquery/src/intro.js +0 -44
  580. data/vendor/assets/bower_components/jquery/src/jquery.js +0 -37
  581. data/vendor/assets/bower_components/jquery/src/manipulation.js +0 -580
  582. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  583. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -32
  584. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  585. data/vendor/assets/bower_components/jquery/src/offset.js +0 -207
  586. data/vendor/assets/bower_components/jquery/src/outro.js +0 -1
  587. data/vendor/assets/bower_components/jquery/src/queue.js +0 -142
  588. data/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
  589. data/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
  590. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
  591. data/vendor/assets/bower_components/jquery/src/selector.js +0 -1
  592. data/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
  593. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2067
  594. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  595. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  596. data/vendor/assets/bower_components/jquery/src/traversing.js +0 -199
  597. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
  598. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  599. data/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
  600. data/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
  601. data/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
  602. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
  603. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
  604. data/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
  605. data/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
  606. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
  607. data/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
  608. data/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
  609. data/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
  610. data/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
  611. data/vendor/assets/bower_components/jquery/src/wrap.js +0 -79
  612. data/vendor/assets/bower_components/moment/CHANGELOG.md +0 -402
  613. data/vendor/assets/bower_components/moment/LICENSE +0 -22
  614. data/vendor/assets/bower_components/moment/README.md +0 -39
  615. data/vendor/assets/bower_components/moment/benchmarks/clone.js +0 -10
  616. data/vendor/assets/bower_components/moment/bower.json +0 -20
  617. data/vendor/assets/bower_components/moment/locale/af.js +0 -67
  618. data/vendor/assets/bower_components/moment/locale/ar-ma.js +0 -57
  619. data/vendor/assets/bower_components/moment/locale/ar-sa.js +0 -97
  620. data/vendor/assets/bower_components/moment/locale/ar.js +0 -130
  621. data/vendor/assets/bower_components/moment/locale/az.js +0 -103
  622. data/vendor/assets/bower_components/moment/locale/be.js +0 -152
  623. data/vendor/assets/bower_components/moment/locale/bg.js +0 -88
  624. data/vendor/assets/bower_components/moment/locale/bn.js +0 -107
  625. data/vendor/assets/bower_components/moment/locale/bo.js +0 -104
  626. data/vendor/assets/bower_components/moment/locale/br.js +0 -109
  627. data/vendor/assets/bower_components/moment/locale/bs.js +0 -140
  628. data/vendor/assets/bower_components/moment/locale/ca.js +0 -77
  629. data/vendor/assets/bower_components/moment/locale/cs.js +0 -157
  630. data/vendor/assets/bower_components/moment/locale/cv.js +0 -61
  631. data/vendor/assets/bower_components/moment/locale/cy.js +0 -79
  632. data/vendor/assets/bower_components/moment/locale/da.js +0 -58
  633. data/vendor/assets/bower_components/moment/locale/de-at.js +0 -74
  634. data/vendor/assets/bower_components/moment/locale/de.js +0 -73
  635. data/vendor/assets/bower_components/moment/locale/el.js +0 -94
  636. data/vendor/assets/bower_components/moment/locale/en-au.js +0 -64
  637. data/vendor/assets/bower_components/moment/locale/en-ca.js +0 -61
  638. data/vendor/assets/bower_components/moment/locale/en-gb.js +0 -65
  639. data/vendor/assets/bower_components/moment/locale/eo.js +0 -67
  640. data/vendor/assets/bower_components/moment/locale/es.js +0 -77
  641. data/vendor/assets/bower_components/moment/locale/et.js +0 -78
  642. data/vendor/assets/bower_components/moment/locale/eu.js +0 -62
  643. data/vendor/assets/bower_components/moment/locale/fa.js +0 -99
  644. data/vendor/assets/bower_components/moment/locale/fi.js +0 -107
  645. data/vendor/assets/bower_components/moment/locale/fo.js +0 -58
  646. data/vendor/assets/bower_components/moment/locale/fr-ca.js +0 -56
  647. data/vendor/assets/bower_components/moment/locale/fr.js +0 -60
  648. data/vendor/assets/bower_components/moment/locale/gl.js +0 -73
  649. data/vendor/assets/bower_components/moment/locale/he.js +0 -78
  650. data/vendor/assets/bower_components/moment/locale/hi.js +0 -106
  651. data/vendor/assets/bower_components/moment/locale/hr.js +0 -141
  652. data/vendor/assets/bower_components/moment/locale/hu.js +0 -107
  653. data/vendor/assets/bower_components/moment/locale/hy-am.js +0 -114
  654. data/vendor/assets/bower_components/moment/locale/id.js +0 -68
  655. data/vendor/assets/bower_components/moment/locale/is.js +0 -126
  656. data/vendor/assets/bower_components/moment/locale/it.js +0 -68
  657. data/vendor/assets/bower_components/moment/locale/ja.js +0 -59
  658. data/vendor/assets/bower_components/moment/locale/ka.js +0 -109
  659. data/vendor/assets/bower_components/moment/locale/km.js +0 -56
  660. data/vendor/assets/bower_components/moment/locale/ko.js +0 -65
  661. data/vendor/assets/bower_components/moment/locale/lb.js +0 -139
  662. data/vendor/assets/bower_components/moment/locale/lt.js +0 -120
  663. data/vendor/assets/bower_components/moment/locale/lv.js +0 -79
  664. data/vendor/assets/bower_components/moment/locale/mk.js +0 -88
  665. data/vendor/assets/bower_components/moment/locale/ml.js +0 -65
  666. data/vendor/assets/bower_components/moment/locale/mr.js +0 -105
  667. data/vendor/assets/bower_components/moment/locale/ms-my.js +0 -67
  668. data/vendor/assets/bower_components/moment/locale/my.js +0 -89
  669. data/vendor/assets/bower_components/moment/locale/nb.js +0 -59
  670. data/vendor/assets/bower_components/moment/locale/ne.js +0 -106
  671. data/vendor/assets/bower_components/moment/locale/nl.js +0 -69
  672. data/vendor/assets/bower_components/moment/locale/nn.js +0 -58
  673. data/vendor/assets/bower_components/moment/locale/pl.js +0 -100
  674. data/vendor/assets/bower_components/moment/locale/pt-br.js +0 -58
  675. data/vendor/assets/bower_components/moment/locale/pt.js +0 -62
  676. data/vendor/assets/bower_components/moment/locale/ro.js +0 -73
  677. data/vendor/assets/bower_components/moment/locale/ru.js +0 -176
  678. data/vendor/assets/bower_components/moment/locale/sk.js +0 -158
  679. data/vendor/assets/bower_components/moment/locale/sl.js +0 -146
  680. data/vendor/assets/bower_components/moment/locale/sq.js +0 -63
  681. data/vendor/assets/bower_components/moment/locale/sr-cyrl.js +0 -107
  682. data/vendor/assets/bower_components/moment/locale/sr.js +0 -107
  683. data/vendor/assets/bower_components/moment/locale/sv.js +0 -65
  684. data/vendor/assets/bower_components/moment/locale/ta.js +0 -114
  685. data/vendor/assets/bower_components/moment/locale/th.js +0 -59
  686. data/vendor/assets/bower_components/moment/locale/tl-ph.js +0 -60
  687. data/vendor/assets/bower_components/moment/locale/tr.js +0 -94
  688. data/vendor/assets/bower_components/moment/locale/tzm-latn.js +0 -56
  689. data/vendor/assets/bower_components/moment/locale/tzm.js +0 -56
  690. data/vendor/assets/bower_components/moment/locale/uk.js +0 -159
  691. data/vendor/assets/bower_components/moment/locale/uz.js +0 -56
  692. data/vendor/assets/bower_components/moment/locale/vi.js +0 -64
  693. data/vendor/assets/bower_components/moment/locale/zh-cn.js +0 -110
  694. data/vendor/assets/bower_components/moment/locale/zh-tw.js +0 -86
  695. data/vendor/assets/bower_components/moment/min/locales.js +0 -7001
  696. data/vendor/assets/bower_components/moment/min/locales.min.js +0 -4
  697. data/vendor/assets/bower_components/moment/min/moment-with-locales.js +0 -9394
  698. data/vendor/assets/bower_components/moment/min/moment-with-locales.min.js +0 -10
  699. data/vendor/assets/bower_components/moment/min/moment.min.js +0 -7
  700. data/vendor/assets/bower_components/moment/moment.js +0 -2936
  701. data/vendor/assets/bower_components/moment/scripts/npm_prepublish.sh +0 -43
  702. data/vendor/assets/javascripts/datepicker/datepicker.js +0 -3
  703. data/vendor/assets/stylesheets/animate/animate.less +0 -31
  704. data/vendor/assets/stylesheets/aside/aside.less +0 -73
  705. data/vendor/assets/stylesheets/bootstrap.less +0 -2
  706. data/vendor/assets/stylesheets/datepicker/datepicker.js +0 -0
  707. data/vendor/assets/stylesheets/dist/bootstrap-additions.css +0 -518
  708. data/vendor/assets/stylesheets/dist/railsstrap.css +0 -3653
  709. data/vendor/assets/stylesheets/fontawesome-local.less +0 -15
  710. data/vendor/assets/stylesheets/fontawesome.less +0 -2
  711. data/vendor/assets/stylesheets/glyphicons.less +0 -12
  712. data/vendor/assets/stylesheets/popover/popover.less +0 -36
  713. data/vendor/assets/stylesheets/railsstrap.less +0 -78
  714. data/vendor/assets/stylesheets/tooltip/tooltip.less +0 -95
@@ -1,10 +0,0 @@
1
- //! moment.js
2
- //! version : 2.8.4
3
- //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
4
- //! license : MIT
5
- //! momentjs.com
6
- (function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function c(a,b){return zb.call(a,b)}function d(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function e(a){tb.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function f(a,b){var c=!0;return m(function(){return c&&(e(a),c=!1),b.apply(this,arguments)},b)}function g(a,b){qc[a]||(e(b),qc[a]=!0)}function h(a,b){return function(c){return p(a.call(this,c),b)}}function i(a,b){return function(c){return this.localeData().ordinal(a.call(this,c),b)}}function j(){}function k(a,b){b!==!1&&F(a),n(this,a),this._d=new Date(+a._d)}function l(a){var b=y(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=tb.localeData(),this._bubble()}function m(a,b){for(var d in b)c(b,d)&&(a[d]=b[d]);return c(b,"toString")&&(a.toString=b.toString),c(b,"valueOf")&&(a.valueOf=b.valueOf),a}function n(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=b._pf),"undefined"!=typeof b._locale&&(a._locale=b._locale),Ib.length>0)for(c in Ib)d=Ib[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function o(a){return 0>a?Math.ceil(a):Math.floor(a)}function p(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function q(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function r(a,b){var c;return b=K(b,a),a.isBefore(b)?c=q(a,b):(c=q(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function s(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(g(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=tb.duration(c,d),t(this,e,a),this}}function t(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&nb(a,"Date",mb(a,"Date")+f*c),g&&lb(a,mb(a,"Month")+g*c),d&&tb.updateOffset(a,f||g)}function u(a){return"[object Array]"===Object.prototype.toString.call(a)}function v(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function w(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&A(a[d])!==A(b[d]))&&g++;return g+f}function x(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=jc[a]||kc[b]||b}return a}function y(a){var b,d,e={};for(d in a)c(a,d)&&(b=x(d),b&&(e[b]=a[d]));return e}function z(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}tb[b]=function(e,f){var g,h,i=tb._locale[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=tb().utc().set(d,a);return i.call(tb._locale,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function A(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function B(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function C(a,b,c){return hb(tb([a,11,31+b-c]),b,c).week}function D(a){return E(a)?366:365}function E(a){return a%4===0&&a%100!==0||a%400===0}function F(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[Bb]<0||a._a[Bb]>11?Bb:a._a[Cb]<1||a._a[Cb]>B(a._a[Ab],a._a[Bb])?Cb:a._a[Db]<0||a._a[Db]>24||24===a._a[Db]&&(0!==a._a[Eb]||0!==a._a[Fb]||0!==a._a[Gb])?Db:a._a[Eb]<0||a._a[Eb]>59?Eb:a._a[Fb]<0||a._a[Fb]>59?Fb:a._a[Gb]<0||a._a[Gb]>999?Gb:-1,a._pf._overflowDayOfYear&&(Ab>b||b>Cb)&&(b=Cb),a._pf.overflow=b)}function G(b){return null==b._isValid&&(b._isValid=!isNaN(b._d.getTime())&&b._pf.overflow<0&&!b._pf.empty&&!b._pf.invalidMonth&&!b._pf.nullInput&&!b._pf.invalidFormat&&!b._pf.userInvalidated,b._strict&&(b._isValid=b._isValid&&0===b._pf.charsLeftOver&&0===b._pf.unusedTokens.length&&b._pf.bigHour===a)),b._isValid}function H(a){return a?a.toLowerCase().replace("_","-"):a}function I(a){for(var b,c,d,e,f=0;f<a.length;){for(e=H(a[f]).split("-"),b=e.length,c=H(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=J(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&w(e,c,!0)>=b-1)break;b--}f++}return null}function J(a){var b=null;if(!Hb[a]&&Jb)try{b=tb.locale(),require("./locale/"+a),tb.locale(b)}catch(c){}return Hb[a]}function K(a,b){var c,d;return b._isUTC?(c=b.clone(),d=(tb.isMoment(a)||v(a)?+a:+tb(a))-+c,c._d.setTime(+c._d+d),tb.updateOffset(c,!1),c):tb(a).local()}function L(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function M(a){var b,c,d=a.match(Nb);for(b=0,c=d.length;c>b;b++)d[b]=pc[d[b]]?pc[d[b]]:L(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function N(a,b){return a.isValid()?(b=O(b,a.localeData()),lc[b]||(lc[b]=M(b)),lc[b](a)):a.localeData().invalidDate()}function O(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Ob.lastIndex=0;d>=0&&Ob.test(a);)a=a.replace(Ob,c),Ob.lastIndex=0,d-=1;return a}function P(a,b){var c,d=b._strict;switch(a){case"Q":return Zb;case"DDDD":return _b;case"YYYY":case"GGGG":case"gggg":return d?ac:Rb;case"Y":case"G":case"g":return cc;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?bc:Sb;case"S":if(d)return Zb;case"SS":if(d)return $b;case"SSS":if(d)return _b;case"DDD":return Qb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ub;case"a":case"A":return b._locale._meridiemParse;case"x":return Xb;case"X":return Yb;case"Z":case"ZZ":return Vb;case"T":return Wb;case"SSSS":return Tb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?$b:Pb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Pb;case"Do":return d?b._locale._ordinalParse:b._locale._ordinalParseLenient;default:return c=new RegExp(Y(X(a.replace("\\","")),"i"))}}function Q(a){a=a||"";var b=a.match(Vb)||[],c=b[b.length-1]||[],d=(c+"").match(hc)||["-",0,0],e=+(60*d[1])+A(d[2]);return"+"===d[0]?-e:e}function R(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[Bb]=3*(A(b)-1));break;case"M":case"MM":null!=b&&(e[Bb]=A(b)-1);break;case"MMM":case"MMMM":d=c._locale.monthsParse(b,a,c._strict),null!=d?e[Bb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[Cb]=A(b));break;case"Do":null!=b&&(e[Cb]=A(parseInt(b.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=A(b));break;case"YY":e[Ab]=tb.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[Ab]=A(b);break;case"a":case"A":c._isPm=c._locale.isPM(b);break;case"h":case"hh":c._pf.bigHour=!0;case"H":case"HH":e[Db]=A(b);break;case"m":case"mm":e[Eb]=A(b);break;case"s":case"ss":e[Fb]=A(b);break;case"S":case"SS":case"SSS":case"SSSS":e[Gb]=A(1e3*("0."+b));break;case"x":c._d=new Date(A(b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=Q(b);break;case"dd":case"ddd":case"dddd":d=c._locale.weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":a=a.substr(0,1);case"gggg":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=A(b));break;case"gg":case"GG":c._w=c._w||{},c._w[a]=tb.parseTwoDigitYear(b)}}function S(a){var c,d,e,f,g,h,i;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[Ab],hb(tb(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(g=a._locale._week.dow,h=a._locale._week.doy,d=b(c.gg,a._a[Ab],hb(tb(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=ib(d,e,f,h,g),a._a[Ab]=i.year,a._dayOfYear=i.dayOfYear}function T(a){var c,d,e,f,g=[];if(!a._d){for(e=V(a),a._w&&null==a._a[Cb]&&null==a._a[Bb]&&S(a),a._dayOfYear&&(f=b(a._a[Ab],e[Ab]),a._dayOfYear>D(f)&&(a._pf._overflowDayOfYear=!0),d=db(f,0,a._dayOfYear),a._a[Bb]=d.getUTCMonth(),a._a[Cb]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];24===a._a[Db]&&0===a._a[Eb]&&0===a._a[Fb]&&0===a._a[Gb]&&(a._nextDay=!0,a._a[Db]=0),a._d=(a._useUTC?db:cb).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm),a._nextDay&&(a._a[Db]=24)}}function U(a){var b;a._d||(b=y(a._i),a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],T(a))}function V(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function W(b){if(b._f===tb.ISO_8601)return void $(b);b._a=[],b._pf.empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=O(b._f,b._locale).match(Nb)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(P(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&b._pf.unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),pc[f]?(d?b._pf.empty=!1:b._pf.unusedTokens.push(f),R(f,d,b)):b._strict&&!d&&b._pf.unusedTokens.push(f);b._pf.charsLeftOver=i-j,h.length>0&&b._pf.unusedInput.push(h),b._pf.bigHour===!0&&b._a[Db]<=12&&(b._pf.bigHour=a),b._isPm&&b._a[Db]<12&&(b._a[Db]+=12),b._isPm===!1&&12===b._a[Db]&&(b._a[Db]=0),T(b),F(b)}function X(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function Y(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(a){var b,c,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;f<a._f.length;f++)g=0,b=n({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._pf=d(),b._f=a._f[f],W(b),G(b)&&(g+=b._pf.charsLeftOver,g+=10*b._pf.unusedTokens.length,b._pf.score=g,(null==e||e>g)&&(e=g,c=b));m(a,c||b)}function $(a){var b,c,d=a._i,e=dc.exec(d);if(e){for(a._pf.iso=!0,b=0,c=fc.length;c>b;b++)if(fc[b][1].exec(d)){a._f=fc[b][0]+(e[6]||" ");break}for(b=0,c=gc.length;c>b;b++)if(gc[b][1].exec(d)){a._f+=gc[b][0];break}d.match(Vb)&&(a._f+="Z"),W(a)}else a._isValid=!1}function _(a){$(a),a._isValid===!1&&(delete a._isValid,tb.createFromInputFallback(a))}function ab(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function bb(b){var c,d=b._i;d===a?b._d=new Date:v(d)?b._d=new Date(+d):null!==(c=Kb.exec(d))?b._d=new Date(+c[1]):"string"==typeof d?_(b):u(d)?(b._a=ab(d.slice(0),function(a){return parseInt(a,10)}),T(b)):"object"==typeof d?U(b):"number"==typeof d?b._d=new Date(d):tb.createFromInputFallback(b)}function cb(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function db(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function eb(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function fb(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function gb(a,b,c){var d=tb.duration(a).abs(),e=yb(d.as("s")),f=yb(d.as("m")),g=yb(d.as("h")),h=yb(d.as("d")),i=yb(d.as("M")),j=yb(d.as("y")),k=e<mc.s&&["s",e]||1===f&&["m"]||f<mc.m&&["mm",f]||1===g&&["h"]||g<mc.h&&["hh",g]||1===h&&["d"]||h<mc.d&&["dd",h]||1===i&&["M"]||i<mc.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,fb.apply({},k)}function hb(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=tb(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ib(a,b,c,d,e){var f,g,h=db(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:D(a-1)+g}}function jb(b){var c,d=b._i,e=b._f;return b._locale=b._locale||tb.localeData(b._l),null===d||e===a&&""===d?tb.invalid({nullInput:!0}):("string"==typeof d&&(b._i=d=b._locale.preparse(d)),tb.isMoment(d)?new k(d,!0):(e?u(e)?Z(b):W(b):bb(b),c=new k(b),c._nextDay&&(c.add(1,"d"),c._nextDay=a),c))}function kb(a,b){var c,d;if(1===b.length&&u(b[0])&&(b=b[0]),!b.length)return tb();for(c=b[0],d=1;d<b.length;++d)b[d][a](c)&&(c=b[d]);return c}function lb(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),B(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function mb(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function nb(a,b,c){return"Month"===b?lb(a,c):a._d["set"+(a._isUTC?"UTC":"")+b](c)}function ob(a,b){return function(c){return null!=c?(nb(this,a,c),tb.updateOffset(this,b),this):mb(this,a)}}function pb(a){return 400*a/146097}function qb(a){return 146097*a/400}function rb(a){tb.duration.fn[a]=function(){return this._data[a]}}function sb(a){"undefined"==typeof ender&&(ub=xb.moment,xb.moment=a?f("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",tb):tb)}for(var tb,ub,vb,wb="2.8.4",xb="undefined"!=typeof global?global:this,yb=Math.round,zb=Object.prototype.hasOwnProperty,Ab=0,Bb=1,Cb=2,Db=3,Eb=4,Fb=5,Gb=6,Hb={},Ib=[],Jb="undefined"!=typeof module&&module&&module.exports,Kb=/^\/?Date\((\-?\d+)/i,Lb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Mb=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,Nb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Ob=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pb=/\d\d?/,Qb=/\d{1,3}/,Rb=/\d{1,4}/,Sb=/[+\-]?\d{1,6}/,Tb=/\d+/,Ub=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Vb=/Z|[\+\-]\d\d:?\d\d/gi,Wb=/T/i,Xb=/[\+\-]?\d+/,Yb=/[\+\-]?\d+(\.\d{1,3})?/,Zb=/\d/,$b=/\d\d/,_b=/\d{3}/,ac=/\d{4}/,bc=/[+-]?\d{6}/,cc=/[+-]?\d+/,dc=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ec="YYYY-MM-DDTHH:mm:ssZ",fc=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],gc=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],hc=/([\+\-]|\d\d)/gi,ic=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),jc={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},kc={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},lc={},mc={s:45,m:45,h:22,d:26,M:11},nc="DDD w W M D d".split(" "),oc="M D H h m s w W".split(" "),pc={M:function(){return this.month()+1},MMM:function(a){return this.localeData().monthsShort(this,a)},MMMM:function(a){return this.localeData().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.localeData().weekdaysMin(this,a)},ddd:function(a){return this.localeData().weekdaysShort(this,a)},dddd:function(a){return this.localeData().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return p(this.year()%100,2)},YYYY:function(){return p(this.year(),4)},YYYYY:function(){return p(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+p(Math.abs(a),6)},gg:function(){return p(this.weekYear()%100,2)},gggg:function(){return p(this.weekYear(),4)},ggggg:function(){return p(this.weekYear(),5)},GG:function(){return p(this.isoWeekYear()%100,2)},GGGG:function(){return p(this.isoWeekYear(),4)},GGGGG:function(){return p(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return A(this.milliseconds()/100)},SS:function(){return p(A(this.milliseconds()/10),2)},SSS:function(){return p(this.milliseconds(),3)},SSSS:function(){return p(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+":"+p(A(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+p(A(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},qc={},rc=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];nc.length;)vb=nc.pop(),pc[vb+"o"]=i(pc[vb],vb);for(;oc.length;)vb=oc.pop(),pc[vb+vb]=h(pc[vb],2);pc.DDDD=h(pc.DDD,3),m(j.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=tb.utc([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=tb([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.apply(b,[c]):d},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",_ordinalParse:/\d{1,2}/,preparse:function(a){return a},postformat:function(a){return a},week:function(a){return hb(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),tb=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=c,g._l=e,g._strict=f,g._isUTC=!1,g._pf=d(),jb(g)},tb.suppressDeprecationWarnings=!1,tb.createFromInputFallback=f("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),tb.min=function(){var a=[].slice.call(arguments,0);return kb("isBefore",a)},tb.max=function(){var a=[].slice.call(arguments,0);return kb("isAfter",a)},tb.utc=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=c,g._strict=f,g._pf=d(),jb(g).utc()},tb.unix=function(a){return tb(1e3*a)},tb.duration=function(a,b){var d,e,f,g,h=a,i=null;return tb.isDuration(a)?h={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(h={},b?h[b]=a:h.milliseconds=a):(i=Lb.exec(a))?(d="-"===i[1]?-1:1,h={y:0,d:A(i[Cb])*d,h:A(i[Db])*d,m:A(i[Eb])*d,s:A(i[Fb])*d,ms:A(i[Gb])*d}):(i=Mb.exec(a))?(d="-"===i[1]?-1:1,f=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*d},h={y:f(i[2]),M:f(i[3]),d:f(i[4]),h:f(i[5]),m:f(i[6]),s:f(i[7]),w:f(i[8])}):"object"==typeof h&&("from"in h||"to"in h)&&(g=r(tb(h.from),tb(h.to)),h={},h.ms=g.milliseconds,h.M=g.months),e=new l(h),tb.isDuration(a)&&c(a,"_locale")&&(e._locale=a._locale),e},tb.version=wb,tb.defaultFormat=ec,tb.ISO_8601=function(){},tb.momentProperties=Ib,tb.updateOffset=function(){},tb.relativeTimeThreshold=function(b,c){return mc[b]===a?!1:c===a?mc[b]:(mc[b]=c,!0)},tb.lang=f("moment.lang is deprecated. Use moment.locale instead.",function(a,b){return tb.locale(a,b)}),tb.locale=function(a,b){var c;return a&&(c="undefined"!=typeof b?tb.defineLocale(a,b):tb.localeData(a),c&&(tb.duration._locale=tb._locale=c)),tb._locale._abbr},tb.defineLocale=function(a,b){return null!==b?(b.abbr=a,Hb[a]||(Hb[a]=new j),Hb[a].set(b),tb.locale(a),Hb[a]):(delete Hb[a],null)},tb.langData=f("moment.langData is deprecated. Use moment.localeData instead.",function(a){return tb.localeData(a)}),tb.localeData=function(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return tb._locale;if(!u(a)){if(b=J(a))return b;a=[a]}return I(a)},tb.isMoment=function(a){return a instanceof k||null!=a&&c(a,"_isAMomentObject")},tb.isDuration=function(a){return a instanceof l};for(vb=rc.length-1;vb>=0;--vb)z(rc[vb]);tb.normalizeUnits=function(a){return x(a)},tb.invalid=function(a){var b=tb.utc(0/0);return null!=a?m(b._pf,a):b._pf.userInvalidated=!0,b},tb.parseZone=function(){return tb.apply(null,arguments).parseZone()},tb.parseTwoDigitYear=function(a){return A(a)+(A(a)>68?1900:2e3)},m(tb.fn=k.prototype,{clone:function(){return tb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=tb(this).utc();return 0<a.year()&&a.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():N(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):N(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return G(this)},isDSTShifted:function(){return this._a?this.isValid()&&w(this._a,(this._isUTC?tb.utc(this._a):tb(this._a)).toArray())>0:!1},parsingFlags:function(){return m({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(a){return this.zone(0,a)},local:function(a){return this._isUTC&&(this.zone(0,a),this._isUTC=!1,a&&this.add(this._dateTzOffset(),"m")),this},format:function(a){var b=N(this,a||tb.defaultFormat);return this.localeData().postformat(b)},add:s(1,"add"),subtract:s(-1,"subtract"),diff:function(a,b,c){var d,e,f,g=K(a,this),h=6e4*(this.zone()-g.zone());return b=x(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+g.daysInMonth()),e=12*(this.year()-g.year())+(this.month()-g.month()),f=this-tb(this).startOf("month")-(g-tb(g).startOf("month")),f-=6e4*(this.zone()-tb(this).startOf("month").zone()-(g.zone()-tb(g).startOf("month").zone())),e+=f/d,"year"===b&&(e/=12)):(d=this-g,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-h)/864e5:"week"===b?(d-h)/6048e5:d),c?e:o(e)},from:function(a,b){return tb.duration({to:this,from:a}).locale(this.locale()).humanize(!b)},fromNow:function(a){return this.from(tb(),a)},calendar:function(a){var b=a||tb(),c=K(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this,tb(b)))},isLeapYear:function(){return E(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=eb(a,this.localeData()),this.add(a-b,"d")):b},month:ob("Month",!0),startOf:function(a){switch(a=x(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(b){return b=x(b),b===a||"millisecond"===b?this:this.startOf(b).add(1,"isoWeek"===b?"week":b).subtract(1,"ms")},isAfter:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+this>+a):(c=tb.isMoment(a)?+a:+tb(a),c<+this.clone().startOf(b))},isBefore:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+a>+this):(c=tb.isMoment(a)?+a:+tb(a),+this.clone().endOf(b)<c)},isSame:function(a,b){var c;return b=x(b||"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+this===+a):(c=+tb(a),+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))},min:f("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),this>a?this:a}),max:f("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c,d=this._offset||0;return null==a?this._isUTC?d:this._dateTzOffset():("string"==typeof a&&(a=Q(a)),Math.abs(a)<16&&(a=60*a),!this._isUTC&&b&&(c=this._dateTzOffset()),this._offset=a,this._isUTC=!0,null!=c&&this.subtract(c,"m"),d!==a&&(!b||this._changeInProgress?t(this,tb.duration(d-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,tb.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?tb(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return B(this.year(),this.month())},dayOfYear:function(a){var b=yb((tb(this).startOf("day")-tb(this).startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=hb(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")},isoWeekYear:function(a){var b=hb(this,1,4).year;return null==a?b:this.add(a-b,"y")},week:function(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")},isoWeek:function(a){var b=hb(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")},weekday:function(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return C(this.year(),1,4)},weeksInYear:function(){var a=this.localeData()._week;return C(this.year(),a.dow,a.doy)},get:function(a){return a=x(a),this[a]()},set:function(a,b){return a=x(a),"function"==typeof this[a]&&this[a](b),this},locale:function(b){var c;return b===a?this._locale._abbr:(c=tb.localeData(b),null!=c&&(this._locale=c),this)},lang:f("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(b){return b===a?this.localeData():this.locale(b)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),tb.fn.millisecond=tb.fn.milliseconds=ob("Milliseconds",!1),tb.fn.second=tb.fn.seconds=ob("Seconds",!1),tb.fn.minute=tb.fn.minutes=ob("Minutes",!1),tb.fn.hour=tb.fn.hours=ob("Hours",!0),tb.fn.date=ob("Date",!0),tb.fn.dates=f("dates accessor is deprecated. Use date instead.",ob("Date",!0)),tb.fn.year=ob("FullYear",!0),tb.fn.years=f("years accessor is deprecated. Use year instead.",ob("FullYear",!0)),tb.fn.days=tb.fn.day,tb.fn.months=tb.fn.month,tb.fn.weeks=tb.fn.week,tb.fn.isoWeeks=tb.fn.isoWeek,tb.fn.quarters=tb.fn.quarter,tb.fn.toJSON=tb.fn.toISOString,m(tb.duration.fn=l.prototype,{_bubble:function(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;g.milliseconds=d%1e3,a=o(d/1e3),g.seconds=a%60,b=o(a/60),g.minutes=b%60,c=o(b/60),g.hours=c%24,e+=o(c/24),h=o(pb(e)),e-=o(qb(h)),f+=o(e/30),e%=30,h+=o(f/12),f%=12,g.days=e,g.months=f,g.years=h},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return o(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*A(this._months/12)},humanize:function(a){var b=gb(this,!a,this.localeData());return a&&(b=this.localeData().pastFuture(+this,b)),this.localeData().postformat(b)},add:function(a,b){var c=tb.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=tb.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=x(a),this[a.toLowerCase()+"s"]()},as:function(a){var b,c;if(a=x(a),"month"===a||"year"===a)return b=this._days+this._milliseconds/864e5,c=this._months+12*pb(b),"month"===a?c:c/12;switch(b=this._days+Math.round(qb(this._months/12)),a){case"week":return b/7+this._milliseconds/6048e5;case"day":return b+this._milliseconds/864e5;case"hour":return 24*b+this._milliseconds/36e5;case"minute":return 24*b*60+this._milliseconds/6e4;case"second":return 24*b*60*60+this._milliseconds/1e3;
7
- case"millisecond":return Math.floor(24*b*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+a)}},lang:tb.fn.lang,locale:tb.fn.locale,toIsoString:f("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"},localeData:function(){return this._locale}}),tb.duration.fn.toString=tb.duration.fn.toISOString;for(vb in ic)c(ic,vb)&&rb(vb.toLowerCase());tb.duration.fn.asMilliseconds=function(){return this.as("ms")},tb.duration.fn.asSeconds=function(){return this.as("s")},tb.duration.fn.asMinutes=function(){return this.as("m")},tb.duration.fn.asHours=function(){return this.as("h")},tb.duration.fn.asDays=function(){return this.as("d")},tb.duration.fn.asWeeks=function(){return this.as("weeks")},tb.duration.fn.asMonths=function(){return this.as("M")},tb.duration.fn.asYears=function(){return this.as("y")},tb.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===A(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),function(a){a(tb)}(function(a){return a.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiem:function(a,b,c){return 12>a?c?"vm":"VM":c?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){var b={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};return a.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},meridiem:function(a){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){var b={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},d=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},e={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},f=function(a){return function(b,c){var f=d(b),g=e[a][d(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},g=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"];return a.defineLocale("ar",{months:g,monthsShort:g,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},meridiem:function(a){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:f("s"),m:f("m"),mm:f("m"),h:f("h"),hh:f("h"),d:f("d"),dd:f("d"),M:f("M"),MM:f("M"),y:f("y"),yy:f("y")},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){var b={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};return a.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiem:function(a){return 4>a?"gecə":12>a?"səhər":17>a?"gündüz":"axşam"},ordinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(a){if(0===a)return a+"-ıncı";var c=a%10,d=a%100-c,e=a>=100?100:null;return a+(b[c]||b[d]||b[e])},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(a,c,d){var e={mm:c?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:c?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===d?c?"хвіліна":"хвіліну":"h"===d?c?"гадзіна":"гадзіну":a+" "+b(e[d],+a)}function d(a,b){var c={nominative:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_"),accusative:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function e(a,b){var c={nominative:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),accusative:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_")},d=/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]}return a.defineLocale("be",{months:d,monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:e,weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., LT",LLLL:"dddd, D MMMM YYYY г., LT"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:c,mm:c,h:c,hh:c,d:"дзень",dd:c,M:"месяц",MM:c,y:"год",yy:c},meridiem:function(a){return 4>a?"ночы":12>a?"раніцы":17>a?"дня":"вечара"},ordinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a%10!==2&&a%10!==3||a%100===12||a%100===13?a+"-ы":a+"-і";case"D":return a+"-га";default:return a}},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},c={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};return a.defineLocale("bn",{months:"জানুয়ারী_ফেবুয়ারী_মার্চ_এপ্রিল_মে_জুন_জুলাই_অগাস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপর_মে_জুন_জুল_অগ_সেপ্ট_অক্টো_নভ_ডিসেম্".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পত্তিবার_শুক্রুবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পত্তি_শুক্রু_শনি".split("_"),weekdaysMin:"রব_সম_মঙ্গ_বু_ব্রিহ_শু_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কএক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(a){return a.replace(/[১২৩৪৫৬৭৮৯০]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"রাত":10>a?"শকাল":17>a?"দুপুর":20>a?"বিকেল":"রাত"},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(a){var b={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},c={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};return a.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(a){return a.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"མཚན་མོ":10>a?"ཞོགས་ཀས":17>a?"ཉིན་གུང":20>a?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(b){function c(a,b,c){var d={mm:"munutenn",MM:"miz",dd:"devezh"};return a+" "+f(d[c],a)}function d(a){switch(e(a)){case 1:case 3:case 4:case 5:case 9:return a+" bloaz";default:return a+" vloaz"}}function e(a){return a>9?e(a%10):a}function f(a,b){return 2===b?g(a):a}function g(b){var c={m:"v",b:"v",d:"z"};return c[b.charAt(0)]===a?b:c[b.charAt(0)]+b.substring(1)}return b.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY LT",LLLL:"dddd, D [a viz] MMMM YYYY LT"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:c,h:"un eur",hh:"%d eur",d:"un devezh",dd:c,M:"ur miz",MM:c,y:"ur bloaz",yy:d},ordinalParse:/\d{1,2}(añ|vet)/,ordinal:function(a){var b=1===a?"añ":"vet";return a+b},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}return a.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:b,mm:b,h:b,hh:b,d:"dan",dd:b,M:"mjesec",MM:b,y:"godinu",yy:b},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return("w"===b||"W"===b)&&(c="a"),a+c},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a){return a>1&&5>a&&1!==~~(a/10)}function c(a,c,d,e){var f=a+" ";switch(d){case"s":return c||e?"pár sekund":"pár sekundami";case"m":return c?"minuta":e?"minutu":"minutou";case"mm":return c||e?f+(b(a)?"minuty":"minut"):f+"minutami";break;case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(b(a)?"hodiny":"hodin"):f+"hodinami";break;case"d":return c||e?"den":"dnem";case"dd":return c||e?f+(b(a)?"dny":"dní"):f+"dny";break;case"M":return c||e?"měsíc":"měsícem";case"MM":return c||e?f+(b(a)?"měsíce":"měsíců"):f+"měsíci";break;case"y":return c||e?"rok":"rokem";case"yy":return c||e?f+(b(a)?"roky":"let"):f+"lety"}}var d="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),e="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");return a.defineLocale("cs",{months:d,monthsShort:e,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(d,e),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("cv",{months:"кăрлач_нарăс_пуш_ака_май_çĕртме_утă_çурла_авăн_юпа_чӳк_раштав".split("_"),monthsShort:"кăр_нар_пуш_ака_май_çĕр_утă_çур_ав_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кĕçнерникун_эрнекун_шăматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кĕç_эрн_шăм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кç_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD-MM-YYYY",LL:"YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ]",LLL:"YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT",LLLL:"dddd, YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ĕнер] LT [сехетре]",nextWeek:"[Çитес] dddd LT [сехетре]",lastWeek:"[Иртнĕ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(a){var b=/сехет$/i.exec(a)?"рен":/çул$/i.exec(a)?"тан":"ран";return a+b},past:"%s каялла",s:"пĕр-ик çеккунт",m:"пĕр минут",mm:"%d минут",h:"пĕр сехет",hh:"%d сехет",d:"пĕр кун",dd:"%d кун",M:"пĕр уйăх",MM:"%d уйăх",y:"пĕр çул",yy:"%d çул"},ordinalParse:/\d{1,2}-мĕш/,ordinal:"%d-мĕш",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},ordinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(a){var b=a,c="",d=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return b>20?c=40===b||50===b||60===b||80===b||100===b?"fed":"ain":b>0&&(c=d[b]),a+c},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd [d.] D. MMMM YYYY LT"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I går kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?d[c][0]:d[c][1]}return a.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT [Uhr]",sameElse:"L",nextDay:"[Morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[Gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:b,mm:"%d Minuten",h:b,hh:"%d Stunden",d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?d[c][0]:d[c][1]}return a.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT [Uhr]",sameElse:"L",nextDay:"[Morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[Gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:b,mm:"%d Minuten",h:b,hh:"%d Stunden",d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ΜΜ":c?"πμ":"ΠΜ"},isPM:function(a){return"μ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return"function"==typeof c&&(c=c.apply(b)),c.replace("{}",d%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"D MMMM, YYYY",LLL:"D MMMM, YYYY LT",LLLL:"dddd, D MMMM, YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}})}),function(a){a(tb)}(function(a){return a.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Ĵa_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY LT",LLLL:"dddd, [la] D[-an de] MMMM, YYYY LT"},meridiem:function(a,b,c){return a>11?c?"p.t.m.":"P.T.M.":c?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})
8
- }),function(a){a(tb)}(function(a){var b="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),c="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");return a.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,d){return/-MMM-/.test(d)?c[a.month()]:b[a.month()]},weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mi_Ju_Vi_Sá".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c,d){var e={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[a+" minuti",a+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[a+" tunni",a+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[a+" kuu",a+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[a+" aasta",a+" aastat"]};return b?e[c][2]?e[c][2]:e[c][1]:d?e[c][0]:e[c][1]}return a.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:b,m:b,mm:b,h:b,hh:b,d:b,dd:"%d päeva",M:b,MM:b,y:b,yy:b},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] LT",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] LT",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] LT",llll:"ddd, YYYY[ko] MMM D[a] LT"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},c={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return a.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},meridiem:function(a){return 12>a?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]}).replace(/,/g,"،")},ordinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){function b(a,b,d,e){var f="";switch(d){case"s":return e?"muutaman sekunnin":"muutama sekunti";case"m":return e?"minuutin":"minuutti";case"mm":f=e?"minuutin":"minuuttia";break;case"h":return e?"tunnin":"tunti";case"hh":f=e?"tunnin":"tuntia";break;case"d":return e?"päivän":"päivä";case"dd":f=e?"päivän":"päivää";break;case"M":return e?"kuukauden":"kuukausi";case"MM":f=e?"kuukauden":"kuukautta";break;case"y":return e?"vuoden":"vuosi";case"yy":f=e?"vuoden":"vuotta"}return f=c(a,e)+" "+f}function c(a,b){return 10>a?b?e[a]:d[a]:a}var d="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),e=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",d[7],d[8],d[9]];return a.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] LT",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] LT",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] LT",llll:"ddd, Do MMM YYYY, [klo] LT"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:b,m:b,mm:b,h:b,hh:b,d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D. MMMM, YYYY LT"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")}})}),function(a){a(tb)}(function(a){return a.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"),weekdays:"Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"),weekdaysShort:"Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(a){return"uns segundos"===a?"nuns segundos":"en "+a},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY LT",LLLL:"dddd, D [ב]MMMM YYYY LT",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(a){return 2===a?"שעתיים":a+" שעות"},d:"יום",dd:function(a){return 2===a?"יומיים":a+" ימים"},M:"חודש",MM:function(a){return 2===a?"חודשיים":a+" חודשים"},y:"שנה",yy:function(a){return 2===a?"שנתיים":a+" שנים"}}})}),function(a){a(tb)}(function(a){var b={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return a.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"रात":10>a?"सुबह":17>a?"दोपहर":20>a?"शाम":"रात"},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}return a.defineLocale("hr",{months:"sječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_"),monthsShort:"sje._vel._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:b,mm:b,h:b,hh:b,d:"dan",dd:b,M:"mjesec",MM:b,y:"godinu",yy:b},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function c(a){return(a?"":"[múlt] ")+"["+d[this.day()]+"] LT[-kor]"}var d="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");return a.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D., LT",LLLL:"YYYY. MMMM D., dddd LT"},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return c.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return c.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:b,m:b,mm:b,h:b,hh:b,d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a,b){var c={nominative:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_"),accusative:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function c(a){var b="հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_");return b[a.month()]}function d(a){var b="կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_");return b[a.day()]}return a.defineLocale("hy-am",{months:b,monthsShort:c,weekdays:d,weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., LT",LLLL:"dddd, D MMMM YYYY թ., LT"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiem:function(a){return 4>a?"գիշերվա":12>a?"առավոտվա":17>a?"ցերեկվա":"երեկոյան"},ordinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(a,b){switch(b){case"DDD":case"w":case"W":case"DDDo":return 1===a?a+"-ին":a+"-րդ";default:return a}},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"LT.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(a){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a){return a%100===11?!0:a%10===1?!1:!0}function c(a,c,d,e){var f=a+" ";switch(d){case"s":return c||e?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return c?"mínúta":"mínútu";case"mm":return b(a)?f+(c||e?"mínútur":"mínútum"):c?f+"mínúta":f+"mínútu";case"hh":return b(a)?f+(c||e?"klukkustundir":"klukkustundum"):f+"klukkustund";case"d":return c?"dagur":e?"dag":"degi";case"dd":return b(a)?c?f+"dagar":f+(e?"daga":"dögum"):c?f+"dagur":f+(e?"dag":"degi");case"M":return c?"mánuður":e?"mánuð":"mánuði";case"MM":return b(a)?c?f+"mánuðir":f+(e?"mánuði":"mánuðum"):c?f+"mánuður":f+(e?"mánuð":"mánuði");case"y":return c||e?"ár":"ári";case"yy":return b(a)?f+(c||e?"ár":"árum"):f+(c||e?"ár":"ári")}}return a.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd, D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:c,m:c,mm:c,h:"klukkustund",hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"D_L_Ma_Me_G_V_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"LTs秒",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日LT",LLLL:"YYYY年M月D日LT dddd"},meridiem:function(a){return 12>a?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})}),function(a){a(tb)}(function(a){function b(a,b){var c={nominative:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),accusative:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},d=/D[oD] *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function c(a,b){var c={nominative:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),accusative:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_")},d=/(წინა|შემდეგ)/.test(b)?"accusative":"nominative";return c[d][a.day()]}return a.defineLocale("ka",{months:b,monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:c,weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(a){return/(წამი|წუთი|საათი|წელი)/.test(a)?a.replace(/ი$/,"ში"):a+"ში"},past:function(a){return/(წამი|წუთი|საათი|დღე|თვე)/.test(a)?a.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(a)?a.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},ordinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(a){return 0===a?a:1===a?a+"-ლი":20>a||100>=a&&a%20===0||a%100===0?"მე-"+a:a+"-ე"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("km",{months:"មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[ថ្ងៃនៈ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h시 m분",LTS:"A h시 m분 s초",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 LT",LLLL:"YYYY년 MMMM D일 dddd LT"},meridiem:function(a){return 12>a?"오전":"오후"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇초",ss:"%d초",m:"일분",mm:"%d분",h:"한시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한달",MM:"%d달",y:"일년",yy:"%d년"},ordinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/(오전|오후)/,isPM:function(a){return"오후"===a}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return b?d[c][0]:d[c][1]}function c(a){var b=a.substr(0,a.indexOf(" "));return e(b)?"a "+a:"an "+a}function d(a){var b=a.substr(0,a.indexOf(" "));return e(b)?"viru "+a:"virun "+a}function e(a){if(a=parseInt(a,10),isNaN(a))return!1;if(0>a)return!0;if(10>a)return a>=4&&7>=a?!0:!1;if(100>a){var b=a%10,c=a/10;return e(0===b?c:b)}if(1e4>a){for(;a>=10;)a/=10;return e(a)}return a/=1e3,e(a)}return a.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:c,past:d,s:"e puer Sekonnen",m:b,mm:"%d Minutten",h:b,hh:"%d Stonnen",d:b,dd:"%d Deeg",M:b,MM:"%d Méint",y:b,yy:"%d Joer"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c,d){return b?"kelios sekundės":d?"kelių sekundžių":"kelias sekundes"}function c(a,b,c,d){return b?e(c)[0]:d?e(c)[1]:e(c)[2]}function d(a){return a%10===0||a>10&&20>a}function e(a){return h[a].split("_")}function f(a,b,f,g){var h=a+" ";return 1===a?h+c(a,b,f[0],g):b?h+(d(a)?e(f)[1]:e(f)[0]):g?h+e(f)[1]:h+(d(a)?e(f)[1]:e(f)[2])}function g(a,b){var c=-1===b.indexOf("dddd HH:mm"),d=i[a.day()];return c?d:d.substring(0,d.length-2)+"į"}var h={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"},i="sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_");return a.defineLocale("lt",{months:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:g,weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], LT [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, LT [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], LT [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, LT [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:b,m:c,mm:f,h:c,hh:f,d:c,dd:f,M:c,MM:f,y:c,yy:f},ordinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d=a.split("_");return c?b%10===1&&11!==b?d[2]:d[3]:b%10===1&&11!==b?d[0]:d[1]}function c(a,c,e){return a+" "+b(d[e],a,c)}var d={mm:"minūti_minūtes_minūte_minūtes",hh:"stundu_stundas_stunda_stundas",dd:"dienu_dienas_diena_dienas",MM:"mēnesi_mēnešus_mēnesis_mēneši",yy:"gadu_gadus_gads_gadi"};return a.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, LT",LLLL:"YYYY. [gada] D. MMMM, dddd, LT"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"%s vēlāk",past:"%s agrāk",s:"dažas sekundes",m:"minūti",mm:c,h:"stundu",hh:c,d:"dienu",dd:c,M:"mēnesi",MM:c,y:"gadu",yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Во изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Во изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"
9
- },week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiem:function(a){return 4>a?"രാത്രി":12>a?"രാവിലെ":17>a?"ഉച്ച കഴിഞ്ഞ്":20>a?"വൈകുന്നേരം":"രാത്രി"}})}),function(a){a(tb)}(function(a){var b={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return a.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%s नंतर",past:"%s पूर्वी",s:"सेकंद",m:"एक मिनिट",mm:"%d मिनिटे",h:"एक तास",hh:"%d तास",d:"एक दिवस",dd:"%d दिवस",M:"एक महिना",MM:"%d महिने",y:"एक वर्ष",yy:"%d वर्षे"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"रात्री":10>a?"सकाळी":17>a?"दुपारी":20>a?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(a){return a.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"LT.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(a){return 11>a?"pagi":15>a?"tengahari":19>a?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},c={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};return a.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_င်္ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_င်္ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(a){return a.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tirs_ons_tors_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"H.mm",LTS:"LT.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){var b={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return a.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आइ._सो._मङ्_बु._बि._शु._श.".split("_"),longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 3>a?"राती":10>a?"बिहान":15>a?"दिउँसो":18>a?"बेलुका":20>a?"साँझ":"राती"},calendar:{sameDay:"[आज] LT",nextDay:"[भोली] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडी",s:"केही समय",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),c="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_");return a.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,d){return/-MMM-/.test(d)?c[a.month()]:b[a.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function c(a,c,d){var e=a+" ";switch(d){case"m":return c?"minuta":"minutę";case"mm":return e+(b(a)?"minuty":"minut");case"h":return c?"godzina":"godzinę";case"hh":return e+(b(a)?"godziny":"godzin");case"MM":return e+(b(a)?"miesiące":"miesięcy");case"yy":return e+(b(a)?"lata":"lat")}}var d="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),e="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");return a.defineLocale("pl",{months:function(a,b){return/D MMMM/.test(b)?e[a.month()]:d[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"N_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:c,mm:c,h:c,hh:c,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:c,y:"rok",yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] LT",LLLL:"dddd, D [de] MMMM [de] YYYY [às] LT"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº"})}),function(a){a(tb)}(function(a){return a.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}return a.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:b,h:"o oră",hh:b,d:"o zi",dd:b,M:"o lună",MM:b,y:"un an",yy:b},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(a,c,d){var e={mm:c?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===d?c?"минута":"минуту":a+" "+b(e[d],+a)}function d(a,b){var c={nominative:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),accusative:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function e(a,b){var c={nominative:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),accusative:"янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function f(a,b){var c={nominative:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),accusative:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_")},d=/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]}return a.defineLocale("ru",{months:d,monthsShort:e,weekdays:f,weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[й|я]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., LT",LLLL:"dddd, D MMMM YYYY г., LT"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(){return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT"},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:c,mm:c,h:"час",hh:c,d:"день",dd:c,M:"месяц",MM:c,y:"год",yy:c},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(a){return/^(дня|вечера)$/.test(a)},meridiem:function(a){return 4>a?"ночи":12>a?"утра":17>a?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-я";default:return a}},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a){return a>1&&5>a}function c(a,c,d,e){var f=a+" ";switch(d){case"s":return c||e?"pár sekúnd":"pár sekundami";case"m":return c?"minúta":e?"minútu":"minútou";case"mm":return c||e?f+(b(a)?"minúty":"minút"):f+"minútami";break;case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(b(a)?"hodiny":"hodín"):f+"hodinami";break;case"d":return c||e?"deň":"dňom";case"dd":return c||e?f+(b(a)?"dni":"dní"):f+"dňami";break;case"M":return c||e?"mesiac":"mesiacom";case"MM":return c||e?f+(b(a)?"mesiace":"mesiacov"):f+"mesiacmi";break;case"y":return c||e?"rok":"rokom";case"yy":return c||e?f+(b(a)?"roky":"rokov"):f+"rokmi"}}var d="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),e="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");return a.defineLocale("sk",{months:d,monthsShort:e,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(d,e),weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d=a+" ";switch(c){case"m":return b?"ena minuta":"eno minuto";case"mm":return d+=1===a?"minuta":2===a?"minuti":3===a||4===a?"minute":"minut";case"h":return b?"ena ura":"eno uro";case"hh":return d+=1===a?"ura":2===a?"uri":3===a||4===a?"ure":"ur";case"dd":return d+=1===a?"dan":"dni";case"MM":return d+=1===a?"mesec":2===a?"meseca":3===a||4===a?"mesece":"mesecev";case"yy":return d+=1===a?"leto":2===a?"leti":3===a||4===a?"leta":"let"}}return a.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[prejšnja] dddd [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"%s nazaj",s:"nekaj sekund",m:b,mm:b,h:b,hh:b,d:"en dan",dd:b,M:"en mesec",MM:b,y:"eno leto",yy:b},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),meridiem:function(a){return 12>a?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){var b={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,c,d){var e=b.words[d];return 1===d.length?c?e[0]:e[1]:a+" "+b.correctGrammaticalCase(a,e)}};return a.defineLocale("sr-cyrl",{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],monthsShort:["јан.","феб.","мар.","апр.","мај","јун","јул","авг.","сеп.","окт.","нов.","дец."],weekdays:["недеља","понедељак","уторак","среда","четвртак","петак","субота"],weekdaysShort:["нед.","пон.","уто.","сре.","чет.","пет.","суб."],weekdaysMin:["не","по","ут","ср","че","пе","су"],longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var a=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:b.translate,mm:b.translate,h:b.translate,hh:b.translate,d:"дан",dd:b.translate,M:"месец",MM:b.translate,y:"годину",yy:b.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,c,d){var e=b.words[d];return 1===d.length?c?e[0]:e[1]:a+" "+b.correctGrammaticalCase(a,e)}};return a.defineLocale("sr",{months:["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar"],monthsShort:["jan.","feb.","mar.","apr.","maj","jun","jul","avg.","sep.","okt.","nov.","dec."],weekdays:["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],weekdaysShort:["ned.","pon.","uto.","sre.","čet.","pet.","sub."],weekdaysMin:["ne","po","ut","sr","če","pe","su"],longDateFormat:{LT:"H:mm",LTS:"LT:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:b.translate,mm:b.translate,h:b.translate,hh:b.translate,d:"dan",dd:b.translate,M:"mesec",MM:b.translate,y:"godinu",yy:b.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"dddd LT",lastWeek:"[Förra] dddd[en] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":3===b?"e":"e";return a+c},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},ordinalParse:/\d{1,2}வது/,ordinal:function(a){return a+"வது"},meridiem:function(a){return a>=6&&10>=a?" காலை":a>=10&&14>=a?" நண்பகல்":a>=14&&18>=a?" எற்பாடு":a>=18&&20>=a?" மாலை":a>=20&&24>=a?" இரவு":a>=0&&6>=a?" வைகறை":void 0},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(a){return a.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา".split("_"),weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),longDateFormat:{LT:"H นาฬิกา m นาที",LTS:"LT s วินาที",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา LT",LLLL:"วันddddที่ D MMMM YYYY เวลา LT"},meridiem:function(a){return 12>a?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}),function(a){a(tb)}(function(a){return a.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM DD, YYYY LT"},calendar:{sameDay:"[Ngayon sa] LT",nextDay:"[Bukas sa] LT",nextWeek:"dddd [sa] LT",lastDay:"[Kahapon sa] LT",lastWeek:"dddd [huling linggo] LT",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){var b={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};return a.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(a){if(0===a)return a+"'ıncı";var c=a%10,d=a%100-c,e=a>=100?100:null;return a+(b[c]||b[d]||b[e])},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){return a.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})
10
- }),function(a){a(tb)}(function(a){function b(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(a,c,d){var e={mm:"хвилина_хвилини_хвилин",hh:"година_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===d?c?"хвилина":"хвилину":"h"===d?c?"година":"годину":a+" "+b(e[d],+a)}function d(a,b){var c={nominative:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_"),accusative:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_")},d=/D[oD]? *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function e(a,b){var c={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function f(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}return a.defineLocale("uk",{months:d,monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:e,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., LT",LLLL:"dddd, D MMMM YYYY р., LT"},calendar:{sameDay:f("[Сьогодні "),nextDay:f("[Завтра "),lastDay:f("[Вчора "),nextWeek:f("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return f("[Минулої] dddd [").call(this);case 1:case 2:case 4:return f("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:c,mm:c,h:"годину",hh:c,d:"день",dd:c,M:"місяць",MM:c,y:"рік",yy:c},meridiem:function(a){return 4>a?"ночі":12>a?"ранку":17>a?"дня":"вечора"},ordinalParse:/\d{1,2}-(й|го)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("uz",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"D MMMM YYYY, dddd LT"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),longDateFormat:{LT:"HH:mm",LTS:"LT:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY LT",LLLL:"dddd, D MMMM [năm] YYYY LT",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm",LTS:"Ah点m分s秒",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日LT",LLLL:"YYYY年MMMD日ddddLT",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日LT",llll:"YYYY年MMMD日ddddLT"},meridiem:function(a,b){var c=100*a+b;return 600>c?"凌晨":900>c?"早上":1130>c?"上午":1230>c?"中午":1800>c?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var b,c;return b=a().startOf("week"),c=this.unix()-b.unix()>=604800?"[下]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},lastWeek:function(){var b,c;return b=a().startOf("week"),c=this.unix()<b.unix()?"[上]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},sameElse:"LL"},ordinalParse:/\d{1,2}(日|月|周)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1分钟",mm:"%d分钟",h:"1小时",hh:"%d小时",d:"1天",dd:"%d天",M:"1个月",MM:"%d个月",y:"1年",yy:"%d年"},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah點mm",LTS:"Ah點m分s秒",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日LT",LLLL:"YYYY年MMMD日ddddLT",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日LT",llll:"YYYY年MMMD日ddddLT"},meridiem:function(a,b){var c=100*a+b;return 900>c?"早上":1130>c?"上午":1230>c?"中午":1800>c?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(日|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"一分鐘",mm:"%d分鐘",h:"一小時",hh:"%d小時",d:"一天",dd:"%d天",M:"一個月",MM:"%d個月",y:"一年",yy:"%d年"}})}),tb.locale("en"),Jb?module.exports=tb:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(xb.moment=ub),tb}),sb(!0)):sb()}).call(this);
@@ -1,7 +0,0 @@
1
- //! moment.js
2
- //! version : 2.8.4
3
- //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
4
- //! license : MIT
5
- //! momentjs.com
6
- (function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function c(a,b){return zb.call(a,b)}function d(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function e(a){tb.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function f(a,b){var c=!0;return m(function(){return c&&(e(a),c=!1),b.apply(this,arguments)},b)}function g(a,b){qc[a]||(e(b),qc[a]=!0)}function h(a,b){return function(c){return p(a.call(this,c),b)}}function i(a,b){return function(c){return this.localeData().ordinal(a.call(this,c),b)}}function j(){}function k(a,b){b!==!1&&F(a),n(this,a),this._d=new Date(+a._d)}function l(a){var b=y(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=tb.localeData(),this._bubble()}function m(a,b){for(var d in b)c(b,d)&&(a[d]=b[d]);return c(b,"toString")&&(a.toString=b.toString),c(b,"valueOf")&&(a.valueOf=b.valueOf),a}function n(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=b._pf),"undefined"!=typeof b._locale&&(a._locale=b._locale),Ib.length>0)for(c in Ib)d=Ib[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function o(a){return 0>a?Math.ceil(a):Math.floor(a)}function p(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function q(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function r(a,b){var c;return b=K(b,a),a.isBefore(b)?c=q(a,b):(c=q(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function s(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(g(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=tb.duration(c,d),t(this,e,a),this}}function t(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&nb(a,"Date",mb(a,"Date")+f*c),g&&lb(a,mb(a,"Month")+g*c),d&&tb.updateOffset(a,f||g)}function u(a){return"[object Array]"===Object.prototype.toString.call(a)}function v(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function w(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&A(a[d])!==A(b[d]))&&g++;return g+f}function x(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=jc[a]||kc[b]||b}return a}function y(a){var b,d,e={};for(d in a)c(a,d)&&(b=x(d),b&&(e[b]=a[d]));return e}function z(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}tb[b]=function(e,f){var g,h,i=tb._locale[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=tb().utc().set(d,a);return i.call(tb._locale,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function A(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function B(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function C(a,b,c){return hb(tb([a,11,31+b-c]),b,c).week}function D(a){return E(a)?366:365}function E(a){return a%4===0&&a%100!==0||a%400===0}function F(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[Bb]<0||a._a[Bb]>11?Bb:a._a[Cb]<1||a._a[Cb]>B(a._a[Ab],a._a[Bb])?Cb:a._a[Db]<0||a._a[Db]>24||24===a._a[Db]&&(0!==a._a[Eb]||0!==a._a[Fb]||0!==a._a[Gb])?Db:a._a[Eb]<0||a._a[Eb]>59?Eb:a._a[Fb]<0||a._a[Fb]>59?Fb:a._a[Gb]<0||a._a[Gb]>999?Gb:-1,a._pf._overflowDayOfYear&&(Ab>b||b>Cb)&&(b=Cb),a._pf.overflow=b)}function G(b){return null==b._isValid&&(b._isValid=!isNaN(b._d.getTime())&&b._pf.overflow<0&&!b._pf.empty&&!b._pf.invalidMonth&&!b._pf.nullInput&&!b._pf.invalidFormat&&!b._pf.userInvalidated,b._strict&&(b._isValid=b._isValid&&0===b._pf.charsLeftOver&&0===b._pf.unusedTokens.length&&b._pf.bigHour===a)),b._isValid}function H(a){return a?a.toLowerCase().replace("_","-"):a}function I(a){for(var b,c,d,e,f=0;f<a.length;){for(e=H(a[f]).split("-"),b=e.length,c=H(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=J(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&w(e,c,!0)>=b-1)break;b--}f++}return null}function J(a){var b=null;if(!Hb[a]&&Jb)try{b=tb.locale(),require("./locale/"+a),tb.locale(b)}catch(c){}return Hb[a]}function K(a,b){var c,d;return b._isUTC?(c=b.clone(),d=(tb.isMoment(a)||v(a)?+a:+tb(a))-+c,c._d.setTime(+c._d+d),tb.updateOffset(c,!1),c):tb(a).local()}function L(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function M(a){var b,c,d=a.match(Nb);for(b=0,c=d.length;c>b;b++)d[b]=pc[d[b]]?pc[d[b]]:L(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function N(a,b){return a.isValid()?(b=O(b,a.localeData()),lc[b]||(lc[b]=M(b)),lc[b](a)):a.localeData().invalidDate()}function O(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Ob.lastIndex=0;d>=0&&Ob.test(a);)a=a.replace(Ob,c),Ob.lastIndex=0,d-=1;return a}function P(a,b){var c,d=b._strict;switch(a){case"Q":return Zb;case"DDDD":return _b;case"YYYY":case"GGGG":case"gggg":return d?ac:Rb;case"Y":case"G":case"g":return cc;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?bc:Sb;case"S":if(d)return Zb;case"SS":if(d)return $b;case"SSS":if(d)return _b;case"DDD":return Qb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ub;case"a":case"A":return b._locale._meridiemParse;case"x":return Xb;case"X":return Yb;case"Z":case"ZZ":return Vb;case"T":return Wb;case"SSSS":return Tb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?$b:Pb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Pb;case"Do":return d?b._locale._ordinalParse:b._locale._ordinalParseLenient;default:return c=new RegExp(Y(X(a.replace("\\","")),"i"))}}function Q(a){a=a||"";var b=a.match(Vb)||[],c=b[b.length-1]||[],d=(c+"").match(hc)||["-",0,0],e=+(60*d[1])+A(d[2]);return"+"===d[0]?-e:e}function R(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[Bb]=3*(A(b)-1));break;case"M":case"MM":null!=b&&(e[Bb]=A(b)-1);break;case"MMM":case"MMMM":d=c._locale.monthsParse(b,a,c._strict),null!=d?e[Bb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[Cb]=A(b));break;case"Do":null!=b&&(e[Cb]=A(parseInt(b.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=A(b));break;case"YY":e[Ab]=tb.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[Ab]=A(b);break;case"a":case"A":c._isPm=c._locale.isPM(b);break;case"h":case"hh":c._pf.bigHour=!0;case"H":case"HH":e[Db]=A(b);break;case"m":case"mm":e[Eb]=A(b);break;case"s":case"ss":e[Fb]=A(b);break;case"S":case"SS":case"SSS":case"SSSS":e[Gb]=A(1e3*("0."+b));break;case"x":c._d=new Date(A(b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=Q(b);break;case"dd":case"ddd":case"dddd":d=c._locale.weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":a=a.substr(0,1);case"gggg":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=A(b));break;case"gg":case"GG":c._w=c._w||{},c._w[a]=tb.parseTwoDigitYear(b)}}function S(a){var c,d,e,f,g,h,i;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[Ab],hb(tb(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(g=a._locale._week.dow,h=a._locale._week.doy,d=b(c.gg,a._a[Ab],hb(tb(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=ib(d,e,f,h,g),a._a[Ab]=i.year,a._dayOfYear=i.dayOfYear}function T(a){var c,d,e,f,g=[];if(!a._d){for(e=V(a),a._w&&null==a._a[Cb]&&null==a._a[Bb]&&S(a),a._dayOfYear&&(f=b(a._a[Ab],e[Ab]),a._dayOfYear>D(f)&&(a._pf._overflowDayOfYear=!0),d=db(f,0,a._dayOfYear),a._a[Bb]=d.getUTCMonth(),a._a[Cb]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];24===a._a[Db]&&0===a._a[Eb]&&0===a._a[Fb]&&0===a._a[Gb]&&(a._nextDay=!0,a._a[Db]=0),a._d=(a._useUTC?db:cb).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm),a._nextDay&&(a._a[Db]=24)}}function U(a){var b;a._d||(b=y(a._i),a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],T(a))}function V(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function W(b){if(b._f===tb.ISO_8601)return void $(b);b._a=[],b._pf.empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=O(b._f,b._locale).match(Nb)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(P(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&b._pf.unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),pc[f]?(d?b._pf.empty=!1:b._pf.unusedTokens.push(f),R(f,d,b)):b._strict&&!d&&b._pf.unusedTokens.push(f);b._pf.charsLeftOver=i-j,h.length>0&&b._pf.unusedInput.push(h),b._pf.bigHour===!0&&b._a[Db]<=12&&(b._pf.bigHour=a),b._isPm&&b._a[Db]<12&&(b._a[Db]+=12),b._isPm===!1&&12===b._a[Db]&&(b._a[Db]=0),T(b),F(b)}function X(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function Y(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(a){var b,c,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;f<a._f.length;f++)g=0,b=n({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._pf=d(),b._f=a._f[f],W(b),G(b)&&(g+=b._pf.charsLeftOver,g+=10*b._pf.unusedTokens.length,b._pf.score=g,(null==e||e>g)&&(e=g,c=b));m(a,c||b)}function $(a){var b,c,d=a._i,e=dc.exec(d);if(e){for(a._pf.iso=!0,b=0,c=fc.length;c>b;b++)if(fc[b][1].exec(d)){a._f=fc[b][0]+(e[6]||" ");break}for(b=0,c=gc.length;c>b;b++)if(gc[b][1].exec(d)){a._f+=gc[b][0];break}d.match(Vb)&&(a._f+="Z"),W(a)}else a._isValid=!1}function _(a){$(a),a._isValid===!1&&(delete a._isValid,tb.createFromInputFallback(a))}function ab(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function bb(b){var c,d=b._i;d===a?b._d=new Date:v(d)?b._d=new Date(+d):null!==(c=Kb.exec(d))?b._d=new Date(+c[1]):"string"==typeof d?_(b):u(d)?(b._a=ab(d.slice(0),function(a){return parseInt(a,10)}),T(b)):"object"==typeof d?U(b):"number"==typeof d?b._d=new Date(d):tb.createFromInputFallback(b)}function cb(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function db(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function eb(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function fb(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function gb(a,b,c){var d=tb.duration(a).abs(),e=yb(d.as("s")),f=yb(d.as("m")),g=yb(d.as("h")),h=yb(d.as("d")),i=yb(d.as("M")),j=yb(d.as("y")),k=e<mc.s&&["s",e]||1===f&&["m"]||f<mc.m&&["mm",f]||1===g&&["h"]||g<mc.h&&["hh",g]||1===h&&["d"]||h<mc.d&&["dd",h]||1===i&&["M"]||i<mc.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,fb.apply({},k)}function hb(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=tb(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ib(a,b,c,d,e){var f,g,h=db(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:D(a-1)+g}}function jb(b){var c,d=b._i,e=b._f;return b._locale=b._locale||tb.localeData(b._l),null===d||e===a&&""===d?tb.invalid({nullInput:!0}):("string"==typeof d&&(b._i=d=b._locale.preparse(d)),tb.isMoment(d)?new k(d,!0):(e?u(e)?Z(b):W(b):bb(b),c=new k(b),c._nextDay&&(c.add(1,"d"),c._nextDay=a),c))}function kb(a,b){var c,d;if(1===b.length&&u(b[0])&&(b=b[0]),!b.length)return tb();for(c=b[0],d=1;d<b.length;++d)b[d][a](c)&&(c=b[d]);return c}function lb(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),B(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function mb(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function nb(a,b,c){return"Month"===b?lb(a,c):a._d["set"+(a._isUTC?"UTC":"")+b](c)}function ob(a,b){return function(c){return null!=c?(nb(this,a,c),tb.updateOffset(this,b),this):mb(this,a)}}function pb(a){return 400*a/146097}function qb(a){return 146097*a/400}function rb(a){tb.duration.fn[a]=function(){return this._data[a]}}function sb(a){"undefined"==typeof ender&&(ub=xb.moment,xb.moment=a?f("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",tb):tb)}for(var tb,ub,vb,wb="2.8.4",xb="undefined"!=typeof global?global:this,yb=Math.round,zb=Object.prototype.hasOwnProperty,Ab=0,Bb=1,Cb=2,Db=3,Eb=4,Fb=5,Gb=6,Hb={},Ib=[],Jb="undefined"!=typeof module&&module&&module.exports,Kb=/^\/?Date\((\-?\d+)/i,Lb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Mb=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,Nb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Ob=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pb=/\d\d?/,Qb=/\d{1,3}/,Rb=/\d{1,4}/,Sb=/[+\-]?\d{1,6}/,Tb=/\d+/,Ub=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Vb=/Z|[\+\-]\d\d:?\d\d/gi,Wb=/T/i,Xb=/[\+\-]?\d+/,Yb=/[\+\-]?\d+(\.\d{1,3})?/,Zb=/\d/,$b=/\d\d/,_b=/\d{3}/,ac=/\d{4}/,bc=/[+-]?\d{6}/,cc=/[+-]?\d+/,dc=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ec="YYYY-MM-DDTHH:mm:ssZ",fc=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],gc=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],hc=/([\+\-]|\d\d)/gi,ic=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),jc={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},kc={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},lc={},mc={s:45,m:45,h:22,d:26,M:11},nc="DDD w W M D d".split(" "),oc="M D H h m s w W".split(" "),pc={M:function(){return this.month()+1},MMM:function(a){return this.localeData().monthsShort(this,a)},MMMM:function(a){return this.localeData().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.localeData().weekdaysMin(this,a)},ddd:function(a){return this.localeData().weekdaysShort(this,a)},dddd:function(a){return this.localeData().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return p(this.year()%100,2)},YYYY:function(){return p(this.year(),4)},YYYYY:function(){return p(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+p(Math.abs(a),6)},gg:function(){return p(this.weekYear()%100,2)},gggg:function(){return p(this.weekYear(),4)},ggggg:function(){return p(this.weekYear(),5)},GG:function(){return p(this.isoWeekYear()%100,2)},GGGG:function(){return p(this.isoWeekYear(),4)},GGGGG:function(){return p(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return A(this.milliseconds()/100)},SS:function(){return p(A(this.milliseconds()/10),2)},SSS:function(){return p(this.milliseconds(),3)},SSSS:function(){return p(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+":"+p(A(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+p(A(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},qc={},rc=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];nc.length;)vb=nc.pop(),pc[vb+"o"]=i(pc[vb],vb);for(;oc.length;)vb=oc.pop(),pc[vb+vb]=h(pc[vb],2);pc.DDDD=h(pc.DDD,3),m(j.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a,b,c){var d,e,f;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=tb.utc([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=tb([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.apply(b,[c]):d},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",_ordinalParse:/\d{1,2}/,preparse:function(a){return a},postformat:function(a){return a},week:function(a){return hb(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),tb=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=c,g._l=e,g._strict=f,g._isUTC=!1,g._pf=d(),jb(g)},tb.suppressDeprecationWarnings=!1,tb.createFromInputFallback=f("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),tb.min=function(){var a=[].slice.call(arguments,0);return kb("isBefore",a)},tb.max=function(){var a=[].slice.call(arguments,0);return kb("isAfter",a)},tb.utc=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=c,g._strict=f,g._pf=d(),jb(g).utc()},tb.unix=function(a){return tb(1e3*a)},tb.duration=function(a,b){var d,e,f,g,h=a,i=null;return tb.isDuration(a)?h={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(h={},b?h[b]=a:h.milliseconds=a):(i=Lb.exec(a))?(d="-"===i[1]?-1:1,h={y:0,d:A(i[Cb])*d,h:A(i[Db])*d,m:A(i[Eb])*d,s:A(i[Fb])*d,ms:A(i[Gb])*d}):(i=Mb.exec(a))?(d="-"===i[1]?-1:1,f=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*d},h={y:f(i[2]),M:f(i[3]),d:f(i[4]),h:f(i[5]),m:f(i[6]),s:f(i[7]),w:f(i[8])}):"object"==typeof h&&("from"in h||"to"in h)&&(g=r(tb(h.from),tb(h.to)),h={},h.ms=g.milliseconds,h.M=g.months),e=new l(h),tb.isDuration(a)&&c(a,"_locale")&&(e._locale=a._locale),e},tb.version=wb,tb.defaultFormat=ec,tb.ISO_8601=function(){},tb.momentProperties=Ib,tb.updateOffset=function(){},tb.relativeTimeThreshold=function(b,c){return mc[b]===a?!1:c===a?mc[b]:(mc[b]=c,!0)},tb.lang=f("moment.lang is deprecated. Use moment.locale instead.",function(a,b){return tb.locale(a,b)}),tb.locale=function(a,b){var c;return a&&(c="undefined"!=typeof b?tb.defineLocale(a,b):tb.localeData(a),c&&(tb.duration._locale=tb._locale=c)),tb._locale._abbr},tb.defineLocale=function(a,b){return null!==b?(b.abbr=a,Hb[a]||(Hb[a]=new j),Hb[a].set(b),tb.locale(a),Hb[a]):(delete Hb[a],null)},tb.langData=f("moment.langData is deprecated. Use moment.localeData instead.",function(a){return tb.localeData(a)}),tb.localeData=function(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return tb._locale;if(!u(a)){if(b=J(a))return b;a=[a]}return I(a)},tb.isMoment=function(a){return a instanceof k||null!=a&&c(a,"_isAMomentObject")},tb.isDuration=function(a){return a instanceof l};for(vb=rc.length-1;vb>=0;--vb)z(rc[vb]);tb.normalizeUnits=function(a){return x(a)},tb.invalid=function(a){var b=tb.utc(0/0);return null!=a?m(b._pf,a):b._pf.userInvalidated=!0,b},tb.parseZone=function(){return tb.apply(null,arguments).parseZone()},tb.parseTwoDigitYear=function(a){return A(a)+(A(a)>68?1900:2e3)},m(tb.fn=k.prototype,{clone:function(){return tb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=tb(this).utc();return 0<a.year()&&a.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():N(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):N(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return G(this)},isDSTShifted:function(){return this._a?this.isValid()&&w(this._a,(this._isUTC?tb.utc(this._a):tb(this._a)).toArray())>0:!1},parsingFlags:function(){return m({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(a){return this.zone(0,a)},local:function(a){return this._isUTC&&(this.zone(0,a),this._isUTC=!1,a&&this.add(this._dateTzOffset(),"m")),this},format:function(a){var b=N(this,a||tb.defaultFormat);return this.localeData().postformat(b)},add:s(1,"add"),subtract:s(-1,"subtract"),diff:function(a,b,c){var d,e,f,g=K(a,this),h=6e4*(this.zone()-g.zone());return b=x(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+g.daysInMonth()),e=12*(this.year()-g.year())+(this.month()-g.month()),f=this-tb(this).startOf("month")-(g-tb(g).startOf("month")),f-=6e4*(this.zone()-tb(this).startOf("month").zone()-(g.zone()-tb(g).startOf("month").zone())),e+=f/d,"year"===b&&(e/=12)):(d=this-g,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-h)/864e5:"week"===b?(d-h)/6048e5:d),c?e:o(e)},from:function(a,b){return tb.duration({to:this,from:a}).locale(this.locale()).humanize(!b)},fromNow:function(a){return this.from(tb(),a)},calendar:function(a){var b=a||tb(),c=K(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this,tb(b)))},isLeapYear:function(){return E(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=eb(a,this.localeData()),this.add(a-b,"d")):b},month:ob("Month",!0),startOf:function(a){switch(a=x(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(b){return b=x(b),b===a||"millisecond"===b?this:this.startOf(b).add(1,"isoWeek"===b?"week":b).subtract(1,"ms")},isAfter:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+this>+a):(c=tb.isMoment(a)?+a:+tb(a),c<+this.clone().startOf(b))},isBefore:function(a,b){var c;return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+a>+this):(c=tb.isMoment(a)?+a:+tb(a),+this.clone().endOf(b)<c)},isSame:function(a,b){var c;return b=x(b||"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+this===+a):(c=+tb(a),+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))},min:f("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),this>a?this:a}),max:f("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c,d=this._offset||0;return null==a?this._isUTC?d:this._dateTzOffset():("string"==typeof a&&(a=Q(a)),Math.abs(a)<16&&(a=60*a),!this._isUTC&&b&&(c=this._dateTzOffset()),this._offset=a,this._isUTC=!0,null!=c&&this.subtract(c,"m"),d!==a&&(!b||this._changeInProgress?t(this,tb.duration(d-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,tb.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?tb(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return B(this.year(),this.month())},dayOfYear:function(a){var b=yb((tb(this).startOf("day")-tb(this).startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=hb(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")},isoWeekYear:function(a){var b=hb(this,1,4).year;return null==a?b:this.add(a-b,"y")},week:function(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")},isoWeek:function(a){var b=hb(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")},weekday:function(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return C(this.year(),1,4)},weeksInYear:function(){var a=this.localeData()._week;return C(this.year(),a.dow,a.doy)},get:function(a){return a=x(a),this[a]()},set:function(a,b){return a=x(a),"function"==typeof this[a]&&this[a](b),this},locale:function(b){var c;return b===a?this._locale._abbr:(c=tb.localeData(b),null!=c&&(this._locale=c),this)},lang:f("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(b){return b===a?this.localeData():this.locale(b)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),tb.fn.millisecond=tb.fn.milliseconds=ob("Milliseconds",!1),tb.fn.second=tb.fn.seconds=ob("Seconds",!1),tb.fn.minute=tb.fn.minutes=ob("Minutes",!1),tb.fn.hour=tb.fn.hours=ob("Hours",!0),tb.fn.date=ob("Date",!0),tb.fn.dates=f("dates accessor is deprecated. Use date instead.",ob("Date",!0)),tb.fn.year=ob("FullYear",!0),tb.fn.years=f("years accessor is deprecated. Use year instead.",ob("FullYear",!0)),tb.fn.days=tb.fn.day,tb.fn.months=tb.fn.month,tb.fn.weeks=tb.fn.week,tb.fn.isoWeeks=tb.fn.isoWeek,tb.fn.quarters=tb.fn.quarter,tb.fn.toJSON=tb.fn.toISOString,m(tb.duration.fn=l.prototype,{_bubble:function(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;g.milliseconds=d%1e3,a=o(d/1e3),g.seconds=a%60,b=o(a/60),g.minutes=b%60,c=o(b/60),g.hours=c%24,e+=o(c/24),h=o(pb(e)),e-=o(qb(h)),f+=o(e/30),e%=30,h+=o(f/12),f%=12,g.days=e,g.months=f,g.years=h},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return o(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*A(this._months/12)},humanize:function(a){var b=gb(this,!a,this.localeData());return a&&(b=this.localeData().pastFuture(+this,b)),this.localeData().postformat(b)},add:function(a,b){var c=tb.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=tb.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=x(a),this[a.toLowerCase()+"s"]()},as:function(a){var b,c;if(a=x(a),"month"===a||"year"===a)return b=this._days+this._milliseconds/864e5,c=this._months+12*pb(b),"month"===a?c:c/12;switch(b=this._days+Math.round(qb(this._months/12)),a){case"week":return b/7+this._milliseconds/6048e5;case"day":return b+this._milliseconds/864e5;case"hour":return 24*b+this._milliseconds/36e5;case"minute":return 24*b*60+this._milliseconds/6e4;case"second":return 24*b*60*60+this._milliseconds/1e3;
7
- case"millisecond":return Math.floor(24*b*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+a)}},lang:tb.fn.lang,locale:tb.fn.locale,toIsoString:f("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"},localeData:function(){return this._locale}}),tb.duration.fn.toString=tb.duration.fn.toISOString;for(vb in ic)c(ic,vb)&&rb(vb.toLowerCase());tb.duration.fn.asMilliseconds=function(){return this.as("ms")},tb.duration.fn.asSeconds=function(){return this.as("s")},tb.duration.fn.asMinutes=function(){return this.as("m")},tb.duration.fn.asHours=function(){return this.as("h")},tb.duration.fn.asDays=function(){return this.as("d")},tb.duration.fn.asWeeks=function(){return this.as("weeks")},tb.duration.fn.asMonths=function(){return this.as("M")},tb.duration.fn.asYears=function(){return this.as("y")},tb.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===A(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),Jb?module.exports=tb:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(xb.moment=ub),tb}),sb(!0)):sb()}).call(this);
@@ -1,2936 +0,0 @@
1
- //! moment.js
2
- //! version : 2.8.4
3
- //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
4
- //! license : MIT
5
- //! momentjs.com
6
-
7
- (function (undefined) {
8
- /************************************
9
- Constants
10
- ************************************/
11
-
12
- var moment,
13
- VERSION = '2.8.4',
14
- // the global-scope this is NOT the global object in Node.js
15
- globalScope = typeof global !== 'undefined' ? global : this,
16
- oldGlobalMoment,
17
- round = Math.round,
18
- hasOwnProperty = Object.prototype.hasOwnProperty,
19
- i,
20
-
21
- YEAR = 0,
22
- MONTH = 1,
23
- DATE = 2,
24
- HOUR = 3,
25
- MINUTE = 4,
26
- SECOND = 5,
27
- MILLISECOND = 6,
28
-
29
- // internal storage for locale config files
30
- locales = {},
31
-
32
- // extra moment internal properties (plugins register props here)
33
- momentProperties = [],
34
-
35
- // check for nodeJS
36
- hasModule = (typeof module !== 'undefined' && module && module.exports),
37
-
38
- // ASP.NET json date format regex
39
- aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
40
- aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
41
-
42
- // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
43
- // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
44
- isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
45
-
46
- // format tokens
47
- formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,
48
- localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
49
-
50
- // parsing token regexes
51
- parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
52
- parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
53
- parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999
54
- parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
55
- parseTokenDigits = /\d+/, // nonzero number of digits
56
- parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic.
57
- parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
58
- parseTokenT = /T/i, // T (ISO separator)
59
- parseTokenOffsetMs = /[\+\-]?\d+/, // 1234567890123
60
- parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
61
-
62
- //strict parsing regexes
63
- parseTokenOneDigit = /\d/, // 0 - 9
64
- parseTokenTwoDigits = /\d\d/, // 00 - 99
65
- parseTokenThreeDigits = /\d{3}/, // 000 - 999
66
- parseTokenFourDigits = /\d{4}/, // 0000 - 9999
67
- parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
68
- parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
69
-
70
- // iso 8601 regex
71
- // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
72
- isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
73
-
74
- isoFormat = 'YYYY-MM-DDTHH:mm:ssZ',
75
-
76
- isoDates = [
77
- ['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
78
- ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/],
79
- ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/],
80
- ['GGGG-[W]WW', /\d{4}-W\d{2}/],
81
- ['YYYY-DDD', /\d{4}-\d{3}/]
82
- ],
83
-
84
- // iso time formats and regexes
85
- isoTimes = [
86
- ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/],
87
- ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
88
- ['HH:mm', /(T| )\d\d:\d\d/],
89
- ['HH', /(T| )\d\d/]
90
- ],
91
-
92
- // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30']
93
- parseTimezoneChunker = /([\+\-]|\d\d)/gi,
94
-
95
- // getter and setter names
96
- proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
97
- unitMillisecondFactors = {
98
- 'Milliseconds' : 1,
99
- 'Seconds' : 1e3,
100
- 'Minutes' : 6e4,
101
- 'Hours' : 36e5,
102
- 'Days' : 864e5,
103
- 'Months' : 2592e6,
104
- 'Years' : 31536e6
105
- },
106
-
107
- unitAliases = {
108
- ms : 'millisecond',
109
- s : 'second',
110
- m : 'minute',
111
- h : 'hour',
112
- d : 'day',
113
- D : 'date',
114
- w : 'week',
115
- W : 'isoWeek',
116
- M : 'month',
117
- Q : 'quarter',
118
- y : 'year',
119
- DDD : 'dayOfYear',
120
- e : 'weekday',
121
- E : 'isoWeekday',
122
- gg: 'weekYear',
123
- GG: 'isoWeekYear'
124
- },
125
-
126
- camelFunctions = {
127
- dayofyear : 'dayOfYear',
128
- isoweekday : 'isoWeekday',
129
- isoweek : 'isoWeek',
130
- weekyear : 'weekYear',
131
- isoweekyear : 'isoWeekYear'
132
- },
133
-
134
- // format function strings
135
- formatFunctions = {},
136
-
137
- // default relative time thresholds
138
- relativeTimeThresholds = {
139
- s: 45, // seconds to minute
140
- m: 45, // minutes to hour
141
- h: 22, // hours to day
142
- d: 26, // days to month
143
- M: 11 // months to year
144
- },
145
-
146
- // tokens to ordinalize and pad
147
- ordinalizeTokens = 'DDD w W M D d'.split(' '),
148
- paddedTokens = 'M D H h m s w W'.split(' '),
149
-
150
- formatTokenFunctions = {
151
- M : function () {
152
- return this.month() + 1;
153
- },
154
- MMM : function (format) {
155
- return this.localeData().monthsShort(this, format);
156
- },
157
- MMMM : function (format) {
158
- return this.localeData().months(this, format);
159
- },
160
- D : function () {
161
- return this.date();
162
- },
163
- DDD : function () {
164
- return this.dayOfYear();
165
- },
166
- d : function () {
167
- return this.day();
168
- },
169
- dd : function (format) {
170
- return this.localeData().weekdaysMin(this, format);
171
- },
172
- ddd : function (format) {
173
- return this.localeData().weekdaysShort(this, format);
174
- },
175
- dddd : function (format) {
176
- return this.localeData().weekdays(this, format);
177
- },
178
- w : function () {
179
- return this.week();
180
- },
181
- W : function () {
182
- return this.isoWeek();
183
- },
184
- YY : function () {
185
- return leftZeroFill(this.year() % 100, 2);
186
- },
187
- YYYY : function () {
188
- return leftZeroFill(this.year(), 4);
189
- },
190
- YYYYY : function () {
191
- return leftZeroFill(this.year(), 5);
192
- },
193
- YYYYYY : function () {
194
- var y = this.year(), sign = y >= 0 ? '+' : '-';
195
- return sign + leftZeroFill(Math.abs(y), 6);
196
- },
197
- gg : function () {
198
- return leftZeroFill(this.weekYear() % 100, 2);
199
- },
200
- gggg : function () {
201
- return leftZeroFill(this.weekYear(), 4);
202
- },
203
- ggggg : function () {
204
- return leftZeroFill(this.weekYear(), 5);
205
- },
206
- GG : function () {
207
- return leftZeroFill(this.isoWeekYear() % 100, 2);
208
- },
209
- GGGG : function () {
210
- return leftZeroFill(this.isoWeekYear(), 4);
211
- },
212
- GGGGG : function () {
213
- return leftZeroFill(this.isoWeekYear(), 5);
214
- },
215
- e : function () {
216
- return this.weekday();
217
- },
218
- E : function () {
219
- return this.isoWeekday();
220
- },
221
- a : function () {
222
- return this.localeData().meridiem(this.hours(), this.minutes(), true);
223
- },
224
- A : function () {
225
- return this.localeData().meridiem(this.hours(), this.minutes(), false);
226
- },
227
- H : function () {
228
- return this.hours();
229
- },
230
- h : function () {
231
- return this.hours() % 12 || 12;
232
- },
233
- m : function () {
234
- return this.minutes();
235
- },
236
- s : function () {
237
- return this.seconds();
238
- },
239
- S : function () {
240
- return toInt(this.milliseconds() / 100);
241
- },
242
- SS : function () {
243
- return leftZeroFill(toInt(this.milliseconds() / 10), 2);
244
- },
245
- SSS : function () {
246
- return leftZeroFill(this.milliseconds(), 3);
247
- },
248
- SSSS : function () {
249
- return leftZeroFill(this.milliseconds(), 3);
250
- },
251
- Z : function () {
252
- var a = -this.zone(),
253
- b = '+';
254
- if (a < 0) {
255
- a = -a;
256
- b = '-';
257
- }
258
- return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2);
259
- },
260
- ZZ : function () {
261
- var a = -this.zone(),
262
- b = '+';
263
- if (a < 0) {
264
- a = -a;
265
- b = '-';
266
- }
267
- return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2);
268
- },
269
- z : function () {
270
- return this.zoneAbbr();
271
- },
272
- zz : function () {
273
- return this.zoneName();
274
- },
275
- x : function () {
276
- return this.valueOf();
277
- },
278
- X : function () {
279
- return this.unix();
280
- },
281
- Q : function () {
282
- return this.quarter();
283
- }
284
- },
285
-
286
- deprecations = {},
287
-
288
- lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'];
289
-
290
- // Pick the first defined of two or three arguments. dfl comes from
291
- // default.
292
- function dfl(a, b, c) {
293
- switch (arguments.length) {
294
- case 2: return a != null ? a : b;
295
- case 3: return a != null ? a : b != null ? b : c;
296
- default: throw new Error('Implement me');
297
- }
298
- }
299
-
300
- function hasOwnProp(a, b) {
301
- return hasOwnProperty.call(a, b);
302
- }
303
-
304
- function defaultParsingFlags() {
305
- // We need to deep clone this object, and es5 standard is not very
306
- // helpful.
307
- return {
308
- empty : false,
309
- unusedTokens : [],
310
- unusedInput : [],
311
- overflow : -2,
312
- charsLeftOver : 0,
313
- nullInput : false,
314
- invalidMonth : null,
315
- invalidFormat : false,
316
- userInvalidated : false,
317
- iso: false
318
- };
319
- }
320
-
321
- function printMsg(msg) {
322
- if (moment.suppressDeprecationWarnings === false &&
323
- typeof console !== 'undefined' && console.warn) {
324
- console.warn('Deprecation warning: ' + msg);
325
- }
326
- }
327
-
328
- function deprecate(msg, fn) {
329
- var firstTime = true;
330
- return extend(function () {
331
- if (firstTime) {
332
- printMsg(msg);
333
- firstTime = false;
334
- }
335
- return fn.apply(this, arguments);
336
- }, fn);
337
- }
338
-
339
- function deprecateSimple(name, msg) {
340
- if (!deprecations[name]) {
341
- printMsg(msg);
342
- deprecations[name] = true;
343
- }
344
- }
345
-
346
- function padToken(func, count) {
347
- return function (a) {
348
- return leftZeroFill(func.call(this, a), count);
349
- };
350
- }
351
- function ordinalizeToken(func, period) {
352
- return function (a) {
353
- return this.localeData().ordinal(func.call(this, a), period);
354
- };
355
- }
356
-
357
- while (ordinalizeTokens.length) {
358
- i = ordinalizeTokens.pop();
359
- formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i);
360
- }
361
- while (paddedTokens.length) {
362
- i = paddedTokens.pop();
363
- formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2);
364
- }
365
- formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3);
366
-
367
-
368
- /************************************
369
- Constructors
370
- ************************************/
371
-
372
- function Locale() {
373
- }
374
-
375
- // Moment prototype object
376
- function Moment(config, skipOverflow) {
377
- if (skipOverflow !== false) {
378
- checkOverflow(config);
379
- }
380
- copyConfig(this, config);
381
- this._d = new Date(+config._d);
382
- }
383
-
384
- // Duration Constructor
385
- function Duration(duration) {
386
- var normalizedInput = normalizeObjectUnits(duration),
387
- years = normalizedInput.year || 0,
388
- quarters = normalizedInput.quarter || 0,
389
- months = normalizedInput.month || 0,
390
- weeks = normalizedInput.week || 0,
391
- days = normalizedInput.day || 0,
392
- hours = normalizedInput.hour || 0,
393
- minutes = normalizedInput.minute || 0,
394
- seconds = normalizedInput.second || 0,
395
- milliseconds = normalizedInput.millisecond || 0;
396
-
397
- // representation for dateAddRemove
398
- this._milliseconds = +milliseconds +
399
- seconds * 1e3 + // 1000
400
- minutes * 6e4 + // 1000 * 60
401
- hours * 36e5; // 1000 * 60 * 60
402
- // Because of dateAddRemove treats 24 hours as different from a
403
- // day when working around DST, we need to store them separately
404
- this._days = +days +
405
- weeks * 7;
406
- // It is impossible translate months into days without knowing
407
- // which months you are are talking about, so we have to store
408
- // it separately.
409
- this._months = +months +
410
- quarters * 3 +
411
- years * 12;
412
-
413
- this._data = {};
414
-
415
- this._locale = moment.localeData();
416
-
417
- this._bubble();
418
- }
419
-
420
- /************************************
421
- Helpers
422
- ************************************/
423
-
424
-
425
- function extend(a, b) {
426
- for (var i in b) {
427
- if (hasOwnProp(b, i)) {
428
- a[i] = b[i];
429
- }
430
- }
431
-
432
- if (hasOwnProp(b, 'toString')) {
433
- a.toString = b.toString;
434
- }
435
-
436
- if (hasOwnProp(b, 'valueOf')) {
437
- a.valueOf = b.valueOf;
438
- }
439
-
440
- return a;
441
- }
442
-
443
- function copyConfig(to, from) {
444
- var i, prop, val;
445
-
446
- if (typeof from._isAMomentObject !== 'undefined') {
447
- to._isAMomentObject = from._isAMomentObject;
448
- }
449
- if (typeof from._i !== 'undefined') {
450
- to._i = from._i;
451
- }
452
- if (typeof from._f !== 'undefined') {
453
- to._f = from._f;
454
- }
455
- if (typeof from._l !== 'undefined') {
456
- to._l = from._l;
457
- }
458
- if (typeof from._strict !== 'undefined') {
459
- to._strict = from._strict;
460
- }
461
- if (typeof from._tzm !== 'undefined') {
462
- to._tzm = from._tzm;
463
- }
464
- if (typeof from._isUTC !== 'undefined') {
465
- to._isUTC = from._isUTC;
466
- }
467
- if (typeof from._offset !== 'undefined') {
468
- to._offset = from._offset;
469
- }
470
- if (typeof from._pf !== 'undefined') {
471
- to._pf = from._pf;
472
- }
473
- if (typeof from._locale !== 'undefined') {
474
- to._locale = from._locale;
475
- }
476
-
477
- if (momentProperties.length > 0) {
478
- for (i in momentProperties) {
479
- prop = momentProperties[i];
480
- val = from[prop];
481
- if (typeof val !== 'undefined') {
482
- to[prop] = val;
483
- }
484
- }
485
- }
486
-
487
- return to;
488
- }
489
-
490
- function absRound(number) {
491
- if (number < 0) {
492
- return Math.ceil(number);
493
- } else {
494
- return Math.floor(number);
495
- }
496
- }
497
-
498
- // left zero fill a number
499
- // see http://jsperf.com/left-zero-filling for performance comparison
500
- function leftZeroFill(number, targetLength, forceSign) {
501
- var output = '' + Math.abs(number),
502
- sign = number >= 0;
503
-
504
- while (output.length < targetLength) {
505
- output = '0' + output;
506
- }
507
- return (sign ? (forceSign ? '+' : '') : '-') + output;
508
- }
509
-
510
- function positiveMomentsDifference(base, other) {
511
- var res = {milliseconds: 0, months: 0};
512
-
513
- res.months = other.month() - base.month() +
514
- (other.year() - base.year()) * 12;
515
- if (base.clone().add(res.months, 'M').isAfter(other)) {
516
- --res.months;
517
- }
518
-
519
- res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
520
-
521
- return res;
522
- }
523
-
524
- function momentsDifference(base, other) {
525
- var res;
526
- other = makeAs(other, base);
527
- if (base.isBefore(other)) {
528
- res = positiveMomentsDifference(base, other);
529
- } else {
530
- res = positiveMomentsDifference(other, base);
531
- res.milliseconds = -res.milliseconds;
532
- res.months = -res.months;
533
- }
534
-
535
- return res;
536
- }
537
-
538
- // TODO: remove 'name' arg after deprecation is removed
539
- function createAdder(direction, name) {
540
- return function (val, period) {
541
- var dur, tmp;
542
- //invert the arguments, but complain about it
543
- if (period !== null && !isNaN(+period)) {
544
- deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).');
545
- tmp = val; val = period; period = tmp;
546
- }
547
-
548
- val = typeof val === 'string' ? +val : val;
549
- dur = moment.duration(val, period);
550
- addOrSubtractDurationFromMoment(this, dur, direction);
551
- return this;
552
- };
553
- }
554
-
555
- function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) {
556
- var milliseconds = duration._milliseconds,
557
- days = duration._days,
558
- months = duration._months;
559
- updateOffset = updateOffset == null ? true : updateOffset;
560
-
561
- if (milliseconds) {
562
- mom._d.setTime(+mom._d + milliseconds * isAdding);
563
- }
564
- if (days) {
565
- rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding);
566
- }
567
- if (months) {
568
- rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding);
569
- }
570
- if (updateOffset) {
571
- moment.updateOffset(mom, days || months);
572
- }
573
- }
574
-
575
- // check if is an array
576
- function isArray(input) {
577
- return Object.prototype.toString.call(input) === '[object Array]';
578
- }
579
-
580
- function isDate(input) {
581
- return Object.prototype.toString.call(input) === '[object Date]' ||
582
- input instanceof Date;
583
- }
584
-
585
- // compare two arrays, return the number of differences
586
- function compareArrays(array1, array2, dontConvert) {
587
- var len = Math.min(array1.length, array2.length),
588
- lengthDiff = Math.abs(array1.length - array2.length),
589
- diffs = 0,
590
- i;
591
- for (i = 0; i < len; i++) {
592
- if ((dontConvert && array1[i] !== array2[i]) ||
593
- (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
594
- diffs++;
595
- }
596
- }
597
- return diffs + lengthDiff;
598
- }
599
-
600
- function normalizeUnits(units) {
601
- if (units) {
602
- var lowered = units.toLowerCase().replace(/(.)s$/, '$1');
603
- units = unitAliases[units] || camelFunctions[lowered] || lowered;
604
- }
605
- return units;
606
- }
607
-
608
- function normalizeObjectUnits(inputObject) {
609
- var normalizedInput = {},
610
- normalizedProp,
611
- prop;
612
-
613
- for (prop in inputObject) {
614
- if (hasOwnProp(inputObject, prop)) {
615
- normalizedProp = normalizeUnits(prop);
616
- if (normalizedProp) {
617
- normalizedInput[normalizedProp] = inputObject[prop];
618
- }
619
- }
620
- }
621
-
622
- return normalizedInput;
623
- }
624
-
625
- function makeList(field) {
626
- var count, setter;
627
-
628
- if (field.indexOf('week') === 0) {
629
- count = 7;
630
- setter = 'day';
631
- }
632
- else if (field.indexOf('month') === 0) {
633
- count = 12;
634
- setter = 'month';
635
- }
636
- else {
637
- return;
638
- }
639
-
640
- moment[field] = function (format, index) {
641
- var i, getter,
642
- method = moment._locale[field],
643
- results = [];
644
-
645
- if (typeof format === 'number') {
646
- index = format;
647
- format = undefined;
648
- }
649
-
650
- getter = function (i) {
651
- var m = moment().utc().set(setter, i);
652
- return method.call(moment._locale, m, format || '');
653
- };
654
-
655
- if (index != null) {
656
- return getter(index);
657
- }
658
- else {
659
- for (i = 0; i < count; i++) {
660
- results.push(getter(i));
661
- }
662
- return results;
663
- }
664
- };
665
- }
666
-
667
- function toInt(argumentForCoercion) {
668
- var coercedNumber = +argumentForCoercion,
669
- value = 0;
670
-
671
- if (coercedNumber !== 0 && isFinite(coercedNumber)) {
672
- if (coercedNumber >= 0) {
673
- value = Math.floor(coercedNumber);
674
- } else {
675
- value = Math.ceil(coercedNumber);
676
- }
677
- }
678
-
679
- return value;
680
- }
681
-
682
- function daysInMonth(year, month) {
683
- return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
684
- }
685
-
686
- function weeksInYear(year, dow, doy) {
687
- return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week;
688
- }
689
-
690
- function daysInYear(year) {
691
- return isLeapYear(year) ? 366 : 365;
692
- }
693
-
694
- function isLeapYear(year) {
695
- return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
696
- }
697
-
698
- function checkOverflow(m) {
699
- var overflow;
700
- if (m._a && m._pf.overflow === -2) {
701
- overflow =
702
- m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH :
703
- m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE :
704
- m._a[HOUR] < 0 || m._a[HOUR] > 24 ||
705
- (m._a[HOUR] === 24 && (m._a[MINUTE] !== 0 ||
706
- m._a[SECOND] !== 0 ||
707
- m._a[MILLISECOND] !== 0)) ? HOUR :
708
- m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE :
709
- m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND :
710
- m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND :
711
- -1;
712
-
713
- if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
714
- overflow = DATE;
715
- }
716
-
717
- m._pf.overflow = overflow;
718
- }
719
- }
720
-
721
- function isValid(m) {
722
- if (m._isValid == null) {
723
- m._isValid = !isNaN(m._d.getTime()) &&
724
- m._pf.overflow < 0 &&
725
- !m._pf.empty &&
726
- !m._pf.invalidMonth &&
727
- !m._pf.nullInput &&
728
- !m._pf.invalidFormat &&
729
- !m._pf.userInvalidated;
730
-
731
- if (m._strict) {
732
- m._isValid = m._isValid &&
733
- m._pf.charsLeftOver === 0 &&
734
- m._pf.unusedTokens.length === 0 &&
735
- m._pf.bigHour === undefined;
736
- }
737
- }
738
- return m._isValid;
739
- }
740
-
741
- function normalizeLocale(key) {
742
- return key ? key.toLowerCase().replace('_', '-') : key;
743
- }
744
-
745
- // pick the locale from the array
746
- // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
747
- // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
748
- function chooseLocale(names) {
749
- var i = 0, j, next, locale, split;
750
-
751
- while (i < names.length) {
752
- split = normalizeLocale(names[i]).split('-');
753
- j = split.length;
754
- next = normalizeLocale(names[i + 1]);
755
- next = next ? next.split('-') : null;
756
- while (j > 0) {
757
- locale = loadLocale(split.slice(0, j).join('-'));
758
- if (locale) {
759
- return locale;
760
- }
761
- if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
762
- //the next array item is better than a shallower substring of this one
763
- break;
764
- }
765
- j--;
766
- }
767
- i++;
768
- }
769
- return null;
770
- }
771
-
772
- function loadLocale(name) {
773
- var oldLocale = null;
774
- if (!locales[name] && hasModule) {
775
- try {
776
- oldLocale = moment.locale();
777
- require('./locale/' + name);
778
- // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales
779
- moment.locale(oldLocale);
780
- } catch (e) { }
781
- }
782
- return locales[name];
783
- }
784
-
785
- // Return a moment from input, that is local/utc/zone equivalent to model.
786
- function makeAs(input, model) {
787
- var res, diff;
788
- if (model._isUTC) {
789
- res = model.clone();
790
- diff = (moment.isMoment(input) || isDate(input) ?
791
- +input : +moment(input)) - (+res);
792
- // Use low-level api, because this fn is low-level api.
793
- res._d.setTime(+res._d + diff);
794
- moment.updateOffset(res, false);
795
- return res;
796
- } else {
797
- return moment(input).local();
798
- }
799
- }
800
-
801
- /************************************
802
- Locale
803
- ************************************/
804
-
805
-
806
- extend(Locale.prototype, {
807
-
808
- set : function (config) {
809
- var prop, i;
810
- for (i in config) {
811
- prop = config[i];
812
- if (typeof prop === 'function') {
813
- this[i] = prop;
814
- } else {
815
- this['_' + i] = prop;
816
- }
817
- }
818
- // Lenient ordinal parsing accepts just a number in addition to
819
- // number + (possibly) stuff coming from _ordinalParseLenient.
820
- this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + /\d{1,2}/.source);
821
- },
822
-
823
- _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
824
- months : function (m) {
825
- return this._months[m.month()];
826
- },
827
-
828
- _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
829
- monthsShort : function (m) {
830
- return this._monthsShort[m.month()];
831
- },
832
-
833
- monthsParse : function (monthName, format, strict) {
834
- var i, mom, regex;
835
-
836
- if (!this._monthsParse) {
837
- this._monthsParse = [];
838
- this._longMonthsParse = [];
839
- this._shortMonthsParse = [];
840
- }
841
-
842
- for (i = 0; i < 12; i++) {
843
- // make the regex if we don't have it already
844
- mom = moment.utc([2000, i]);
845
- if (strict && !this._longMonthsParse[i]) {
846
- this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
847
- this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
848
- }
849
- if (!strict && !this._monthsParse[i]) {
850
- regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
851
- this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
852
- }
853
- // test the regex
854
- if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
855
- return i;
856
- } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
857
- return i;
858
- } else if (!strict && this._monthsParse[i].test(monthName)) {
859
- return i;
860
- }
861
- }
862
- },
863
-
864
- _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
865
- weekdays : function (m) {
866
- return this._weekdays[m.day()];
867
- },
868
-
869
- _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
870
- weekdaysShort : function (m) {
871
- return this._weekdaysShort[m.day()];
872
- },
873
-
874
- _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
875
- weekdaysMin : function (m) {
876
- return this._weekdaysMin[m.day()];
877
- },
878
-
879
- weekdaysParse : function (weekdayName) {
880
- var i, mom, regex;
881
-
882
- if (!this._weekdaysParse) {
883
- this._weekdaysParse = [];
884
- }
885
-
886
- for (i = 0; i < 7; i++) {
887
- // make the regex if we don't have it already
888
- if (!this._weekdaysParse[i]) {
889
- mom = moment([2000, 1]).day(i);
890
- regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
891
- this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
892
- }
893
- // test the regex
894
- if (this._weekdaysParse[i].test(weekdayName)) {
895
- return i;
896
- }
897
- }
898
- },
899
-
900
- _longDateFormat : {
901
- LTS : 'h:mm:ss A',
902
- LT : 'h:mm A',
903
- L : 'MM/DD/YYYY',
904
- LL : 'MMMM D, YYYY',
905
- LLL : 'MMMM D, YYYY LT',
906
- LLLL : 'dddd, MMMM D, YYYY LT'
907
- },
908
- longDateFormat : function (key) {
909
- var output = this._longDateFormat[key];
910
- if (!output && this._longDateFormat[key.toUpperCase()]) {
911
- output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) {
912
- return val.slice(1);
913
- });
914
- this._longDateFormat[key] = output;
915
- }
916
- return output;
917
- },
918
-
919
- isPM : function (input) {
920
- // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
921
- // Using charAt should be more compatible.
922
- return ((input + '').toLowerCase().charAt(0) === 'p');
923
- },
924
-
925
- _meridiemParse : /[ap]\.?m?\.?/i,
926
- meridiem : function (hours, minutes, isLower) {
927
- if (hours > 11) {
928
- return isLower ? 'pm' : 'PM';
929
- } else {
930
- return isLower ? 'am' : 'AM';
931
- }
932
- },
933
-
934
- _calendar : {
935
- sameDay : '[Today at] LT',
936
- nextDay : '[Tomorrow at] LT',
937
- nextWeek : 'dddd [at] LT',
938
- lastDay : '[Yesterday at] LT',
939
- lastWeek : '[Last] dddd [at] LT',
940
- sameElse : 'L'
941
- },
942
- calendar : function (key, mom, now) {
943
- var output = this._calendar[key];
944
- return typeof output === 'function' ? output.apply(mom, [now]) : output;
945
- },
946
-
947
- _relativeTime : {
948
- future : 'in %s',
949
- past : '%s ago',
950
- s : 'a few seconds',
951
- m : 'a minute',
952
- mm : '%d minutes',
953
- h : 'an hour',
954
- hh : '%d hours',
955
- d : 'a day',
956
- dd : '%d days',
957
- M : 'a month',
958
- MM : '%d months',
959
- y : 'a year',
960
- yy : '%d years'
961
- },
962
-
963
- relativeTime : function (number, withoutSuffix, string, isFuture) {
964
- var output = this._relativeTime[string];
965
- return (typeof output === 'function') ?
966
- output(number, withoutSuffix, string, isFuture) :
967
- output.replace(/%d/i, number);
968
- },
969
-
970
- pastFuture : function (diff, output) {
971
- var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
972
- return typeof format === 'function' ? format(output) : format.replace(/%s/i, output);
973
- },
974
-
975
- ordinal : function (number) {
976
- return this._ordinal.replace('%d', number);
977
- },
978
- _ordinal : '%d',
979
- _ordinalParse : /\d{1,2}/,
980
-
981
- preparse : function (string) {
982
- return string;
983
- },
984
-
985
- postformat : function (string) {
986
- return string;
987
- },
988
-
989
- week : function (mom) {
990
- return weekOfYear(mom, this._week.dow, this._week.doy).week;
991
- },
992
-
993
- _week : {
994
- dow : 0, // Sunday is the first day of the week.
995
- doy : 6 // The week that contains Jan 1st is the first week of the year.
996
- },
997
-
998
- _invalidDate: 'Invalid date',
999
- invalidDate: function () {
1000
- return this._invalidDate;
1001
- }
1002
- });
1003
-
1004
- /************************************
1005
- Formatting
1006
- ************************************/
1007
-
1008
-
1009
- function removeFormattingTokens(input) {
1010
- if (input.match(/\[[\s\S]/)) {
1011
- return input.replace(/^\[|\]$/g, '');
1012
- }
1013
- return input.replace(/\\/g, '');
1014
- }
1015
-
1016
- function makeFormatFunction(format) {
1017
- var array = format.match(formattingTokens), i, length;
1018
-
1019
- for (i = 0, length = array.length; i < length; i++) {
1020
- if (formatTokenFunctions[array[i]]) {
1021
- array[i] = formatTokenFunctions[array[i]];
1022
- } else {
1023
- array[i] = removeFormattingTokens(array[i]);
1024
- }
1025
- }
1026
-
1027
- return function (mom) {
1028
- var output = '';
1029
- for (i = 0; i < length; i++) {
1030
- output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
1031
- }
1032
- return output;
1033
- };
1034
- }
1035
-
1036
- // format date using native date object
1037
- function formatMoment(m, format) {
1038
- if (!m.isValid()) {
1039
- return m.localeData().invalidDate();
1040
- }
1041
-
1042
- format = expandFormat(format, m.localeData());
1043
-
1044
- if (!formatFunctions[format]) {
1045
- formatFunctions[format] = makeFormatFunction(format);
1046
- }
1047
-
1048
- return formatFunctions[format](m);
1049
- }
1050
-
1051
- function expandFormat(format, locale) {
1052
- var i = 5;
1053
-
1054
- function replaceLongDateFormatTokens(input) {
1055
- return locale.longDateFormat(input) || input;
1056
- }
1057
-
1058
- localFormattingTokens.lastIndex = 0;
1059
- while (i >= 0 && localFormattingTokens.test(format)) {
1060
- format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
1061
- localFormattingTokens.lastIndex = 0;
1062
- i -= 1;
1063
- }
1064
-
1065
- return format;
1066
- }
1067
-
1068
-
1069
- /************************************
1070
- Parsing
1071
- ************************************/
1072
-
1073
-
1074
- // get the regex to find the next token
1075
- function getParseRegexForToken(token, config) {
1076
- var a, strict = config._strict;
1077
- switch (token) {
1078
- case 'Q':
1079
- return parseTokenOneDigit;
1080
- case 'DDDD':
1081
- return parseTokenThreeDigits;
1082
- case 'YYYY':
1083
- case 'GGGG':
1084
- case 'gggg':
1085
- return strict ? parseTokenFourDigits : parseTokenOneToFourDigits;
1086
- case 'Y':
1087
- case 'G':
1088
- case 'g':
1089
- return parseTokenSignedNumber;
1090
- case 'YYYYYY':
1091
- case 'YYYYY':
1092
- case 'GGGGG':
1093
- case 'ggggg':
1094
- return strict ? parseTokenSixDigits : parseTokenOneToSixDigits;
1095
- case 'S':
1096
- if (strict) {
1097
- return parseTokenOneDigit;
1098
- }
1099
- /* falls through */
1100
- case 'SS':
1101
- if (strict) {
1102
- return parseTokenTwoDigits;
1103
- }
1104
- /* falls through */
1105
- case 'SSS':
1106
- if (strict) {
1107
- return parseTokenThreeDigits;
1108
- }
1109
- /* falls through */
1110
- case 'DDD':
1111
- return parseTokenOneToThreeDigits;
1112
- case 'MMM':
1113
- case 'MMMM':
1114
- case 'dd':
1115
- case 'ddd':
1116
- case 'dddd':
1117
- return parseTokenWord;
1118
- case 'a':
1119
- case 'A':
1120
- return config._locale._meridiemParse;
1121
- case 'x':
1122
- return parseTokenOffsetMs;
1123
- case 'X':
1124
- return parseTokenTimestampMs;
1125
- case 'Z':
1126
- case 'ZZ':
1127
- return parseTokenTimezone;
1128
- case 'T':
1129
- return parseTokenT;
1130
- case 'SSSS':
1131
- return parseTokenDigits;
1132
- case 'MM':
1133
- case 'DD':
1134
- case 'YY':
1135
- case 'GG':
1136
- case 'gg':
1137
- case 'HH':
1138
- case 'hh':
1139
- case 'mm':
1140
- case 'ss':
1141
- case 'ww':
1142
- case 'WW':
1143
- return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits;
1144
- case 'M':
1145
- case 'D':
1146
- case 'd':
1147
- case 'H':
1148
- case 'h':
1149
- case 'm':
1150
- case 's':
1151
- case 'w':
1152
- case 'W':
1153
- case 'e':
1154
- case 'E':
1155
- return parseTokenOneOrTwoDigits;
1156
- case 'Do':
1157
- return strict ? config._locale._ordinalParse : config._locale._ordinalParseLenient;
1158
- default :
1159
- a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i'));
1160
- return a;
1161
- }
1162
- }
1163
-
1164
- function timezoneMinutesFromString(string) {
1165
- string = string || '';
1166
- var possibleTzMatches = (string.match(parseTokenTimezone) || []),
1167
- tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [],
1168
- parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0],
1169
- minutes = +(parts[1] * 60) + toInt(parts[2]);
1170
-
1171
- return parts[0] === '+' ? -minutes : minutes;
1172
- }
1173
-
1174
- // function to convert string input to date
1175
- function addTimeToArrayFromToken(token, input, config) {
1176
- var a, datePartArray = config._a;
1177
-
1178
- switch (token) {
1179
- // QUARTER
1180
- case 'Q':
1181
- if (input != null) {
1182
- datePartArray[MONTH] = (toInt(input) - 1) * 3;
1183
- }
1184
- break;
1185
- // MONTH
1186
- case 'M' : // fall through to MM
1187
- case 'MM' :
1188
- if (input != null) {
1189
- datePartArray[MONTH] = toInt(input) - 1;
1190
- }
1191
- break;
1192
- case 'MMM' : // fall through to MMMM
1193
- case 'MMMM' :
1194
- a = config._locale.monthsParse(input, token, config._strict);
1195
- // if we didn't find a month name, mark the date as invalid.
1196
- if (a != null) {
1197
- datePartArray[MONTH] = a;
1198
- } else {
1199
- config._pf.invalidMonth = input;
1200
- }
1201
- break;
1202
- // DAY OF MONTH
1203
- case 'D' : // fall through to DD
1204
- case 'DD' :
1205
- if (input != null) {
1206
- datePartArray[DATE] = toInt(input);
1207
- }
1208
- break;
1209
- case 'Do' :
1210
- if (input != null) {
1211
- datePartArray[DATE] = toInt(parseInt(
1212
- input.match(/\d{1,2}/)[0], 10));
1213
- }
1214
- break;
1215
- // DAY OF YEAR
1216
- case 'DDD' : // fall through to DDDD
1217
- case 'DDDD' :
1218
- if (input != null) {
1219
- config._dayOfYear = toInt(input);
1220
- }
1221
-
1222
- break;
1223
- // YEAR
1224
- case 'YY' :
1225
- datePartArray[YEAR] = moment.parseTwoDigitYear(input);
1226
- break;
1227
- case 'YYYY' :
1228
- case 'YYYYY' :
1229
- case 'YYYYYY' :
1230
- datePartArray[YEAR] = toInt(input);
1231
- break;
1232
- // AM / PM
1233
- case 'a' : // fall through to A
1234
- case 'A' :
1235
- config._isPm = config._locale.isPM(input);
1236
- break;
1237
- // HOUR
1238
- case 'h' : // fall through to hh
1239
- case 'hh' :
1240
- config._pf.bigHour = true;
1241
- /* falls through */
1242
- case 'H' : // fall through to HH
1243
- case 'HH' :
1244
- datePartArray[HOUR] = toInt(input);
1245
- break;
1246
- // MINUTE
1247
- case 'm' : // fall through to mm
1248
- case 'mm' :
1249
- datePartArray[MINUTE] = toInt(input);
1250
- break;
1251
- // SECOND
1252
- case 's' : // fall through to ss
1253
- case 'ss' :
1254
- datePartArray[SECOND] = toInt(input);
1255
- break;
1256
- // MILLISECOND
1257
- case 'S' :
1258
- case 'SS' :
1259
- case 'SSS' :
1260
- case 'SSSS' :
1261
- datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000);
1262
- break;
1263
- // UNIX OFFSET (MILLISECONDS)
1264
- case 'x':
1265
- config._d = new Date(toInt(input));
1266
- break;
1267
- // UNIX TIMESTAMP WITH MS
1268
- case 'X':
1269
- config._d = new Date(parseFloat(input) * 1000);
1270
- break;
1271
- // TIMEZONE
1272
- case 'Z' : // fall through to ZZ
1273
- case 'ZZ' :
1274
- config._useUTC = true;
1275
- config._tzm = timezoneMinutesFromString(input);
1276
- break;
1277
- // WEEKDAY - human
1278
- case 'dd':
1279
- case 'ddd':
1280
- case 'dddd':
1281
- a = config._locale.weekdaysParse(input);
1282
- // if we didn't get a weekday name, mark the date as invalid
1283
- if (a != null) {
1284
- config._w = config._w || {};
1285
- config._w['d'] = a;
1286
- } else {
1287
- config._pf.invalidWeekday = input;
1288
- }
1289
- break;
1290
- // WEEK, WEEK DAY - numeric
1291
- case 'w':
1292
- case 'ww':
1293
- case 'W':
1294
- case 'WW':
1295
- case 'd':
1296
- case 'e':
1297
- case 'E':
1298
- token = token.substr(0, 1);
1299
- /* falls through */
1300
- case 'gggg':
1301
- case 'GGGG':
1302
- case 'GGGGG':
1303
- token = token.substr(0, 2);
1304
- if (input) {
1305
- config._w = config._w || {};
1306
- config._w[token] = toInt(input);
1307
- }
1308
- break;
1309
- case 'gg':
1310
- case 'GG':
1311
- config._w = config._w || {};
1312
- config._w[token] = moment.parseTwoDigitYear(input);
1313
- }
1314
- }
1315
-
1316
- function dayOfYearFromWeekInfo(config) {
1317
- var w, weekYear, week, weekday, dow, doy, temp;
1318
-
1319
- w = config._w;
1320
- if (w.GG != null || w.W != null || w.E != null) {
1321
- dow = 1;
1322
- doy = 4;
1323
-
1324
- // TODO: We need to take the current isoWeekYear, but that depends on
1325
- // how we interpret now (local, utc, fixed offset). So create
1326
- // a now version of current config (take local/utc/offset flags, and
1327
- // create now).
1328
- weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year);
1329
- week = dfl(w.W, 1);
1330
- weekday = dfl(w.E, 1);
1331
- } else {
1332
- dow = config._locale._week.dow;
1333
- doy = config._locale._week.doy;
1334
-
1335
- weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year);
1336
- week = dfl(w.w, 1);
1337
-
1338
- if (w.d != null) {
1339
- // weekday -- low day numbers are considered next week
1340
- weekday = w.d;
1341
- if (weekday < dow) {
1342
- ++week;
1343
- }
1344
- } else if (w.e != null) {
1345
- // local weekday -- counting starts from begining of week
1346
- weekday = w.e + dow;
1347
- } else {
1348
- // default to begining of week
1349
- weekday = dow;
1350
- }
1351
- }
1352
- temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow);
1353
-
1354
- config._a[YEAR] = temp.year;
1355
- config._dayOfYear = temp.dayOfYear;
1356
- }
1357
-
1358
- // convert an array to a date.
1359
- // the array should mirror the parameters below
1360
- // note: all values past the year are optional and will default to the lowest possible value.
1361
- // [year, month, day , hour, minute, second, millisecond]
1362
- function dateFromConfig(config) {
1363
- var i, date, input = [], currentDate, yearToUse;
1364
-
1365
- if (config._d) {
1366
- return;
1367
- }
1368
-
1369
- currentDate = currentDateArray(config);
1370
-
1371
- //compute day of the year from weeks and weekdays
1372
- if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
1373
- dayOfYearFromWeekInfo(config);
1374
- }
1375
-
1376
- //if the day of the year is set, figure out what it is
1377
- if (config._dayOfYear) {
1378
- yearToUse = dfl(config._a[YEAR], currentDate[YEAR]);
1379
-
1380
- if (config._dayOfYear > daysInYear(yearToUse)) {
1381
- config._pf._overflowDayOfYear = true;
1382
- }
1383
-
1384
- date = makeUTCDate(yearToUse, 0, config._dayOfYear);
1385
- config._a[MONTH] = date.getUTCMonth();
1386
- config._a[DATE] = date.getUTCDate();
1387
- }
1388
-
1389
- // Default to current date.
1390
- // * if no year, month, day of month are given, default to today
1391
- // * if day of month is given, default month and year
1392
- // * if month is given, default only year
1393
- // * if year is given, don't default anything
1394
- for (i = 0; i < 3 && config._a[i] == null; ++i) {
1395
- config._a[i] = input[i] = currentDate[i];
1396
- }
1397
-
1398
- // Zero out whatever was not defaulted, including time
1399
- for (; i < 7; i++) {
1400
- config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
1401
- }
1402
-
1403
- // Check for 24:00:00.000
1404
- if (config._a[HOUR] === 24 &&
1405
- config._a[MINUTE] === 0 &&
1406
- config._a[SECOND] === 0 &&
1407
- config._a[MILLISECOND] === 0) {
1408
- config._nextDay = true;
1409
- config._a[HOUR] = 0;
1410
- }
1411
-
1412
- config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input);
1413
- // Apply timezone offset from input. The actual zone can be changed
1414
- // with parseZone.
1415
- if (config._tzm != null) {
1416
- config._d.setUTCMinutes(config._d.getUTCMinutes() + config._tzm);
1417
- }
1418
-
1419
- if (config._nextDay) {
1420
- config._a[HOUR] = 24;
1421
- }
1422
- }
1423
-
1424
- function dateFromObject(config) {
1425
- var normalizedInput;
1426
-
1427
- if (config._d) {
1428
- return;
1429
- }
1430
-
1431
- normalizedInput = normalizeObjectUnits(config._i);
1432
- config._a = [
1433
- normalizedInput.year,
1434
- normalizedInput.month,
1435
- normalizedInput.day || normalizedInput.date,
1436
- normalizedInput.hour,
1437
- normalizedInput.minute,
1438
- normalizedInput.second,
1439
- normalizedInput.millisecond
1440
- ];
1441
-
1442
- dateFromConfig(config);
1443
- }
1444
-
1445
- function currentDateArray(config) {
1446
- var now = new Date();
1447
- if (config._useUTC) {
1448
- return [
1449
- now.getUTCFullYear(),
1450
- now.getUTCMonth(),
1451
- now.getUTCDate()
1452
- ];
1453
- } else {
1454
- return [now.getFullYear(), now.getMonth(), now.getDate()];
1455
- }
1456
- }
1457
-
1458
- // date from string and format string
1459
- function makeDateFromStringAndFormat(config) {
1460
- if (config._f === moment.ISO_8601) {
1461
- parseISO(config);
1462
- return;
1463
- }
1464
-
1465
- config._a = [];
1466
- config._pf.empty = true;
1467
-
1468
- // This array is used to make a Date, either with `new Date` or `Date.UTC`
1469
- var string = '' + config._i,
1470
- i, parsedInput, tokens, token, skipped,
1471
- stringLength = string.length,
1472
- totalParsedInputLength = 0;
1473
-
1474
- tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
1475
-
1476
- for (i = 0; i < tokens.length; i++) {
1477
- token = tokens[i];
1478
- parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
1479
- if (parsedInput) {
1480
- skipped = string.substr(0, string.indexOf(parsedInput));
1481
- if (skipped.length > 0) {
1482
- config._pf.unusedInput.push(skipped);
1483
- }
1484
- string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
1485
- totalParsedInputLength += parsedInput.length;
1486
- }
1487
- // don't parse if it's not a known token
1488
- if (formatTokenFunctions[token]) {
1489
- if (parsedInput) {
1490
- config._pf.empty = false;
1491
- }
1492
- else {
1493
- config._pf.unusedTokens.push(token);
1494
- }
1495
- addTimeToArrayFromToken(token, parsedInput, config);
1496
- }
1497
- else if (config._strict && !parsedInput) {
1498
- config._pf.unusedTokens.push(token);
1499
- }
1500
- }
1501
-
1502
- // add remaining unparsed input length to the string
1503
- config._pf.charsLeftOver = stringLength - totalParsedInputLength;
1504
- if (string.length > 0) {
1505
- config._pf.unusedInput.push(string);
1506
- }
1507
-
1508
- // clear _12h flag if hour is <= 12
1509
- if (config._pf.bigHour === true && config._a[HOUR] <= 12) {
1510
- config._pf.bigHour = undefined;
1511
- }
1512
- // handle am pm
1513
- if (config._isPm && config._a[HOUR] < 12) {
1514
- config._a[HOUR] += 12;
1515
- }
1516
- // if is 12 am, change hours to 0
1517
- if (config._isPm === false && config._a[HOUR] === 12) {
1518
- config._a[HOUR] = 0;
1519
- }
1520
- dateFromConfig(config);
1521
- checkOverflow(config);
1522
- }
1523
-
1524
- function unescapeFormat(s) {
1525
- return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
1526
- return p1 || p2 || p3 || p4;
1527
- });
1528
- }
1529
-
1530
- // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
1531
- function regexpEscape(s) {
1532
- return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
1533
- }
1534
-
1535
- // date from string and array of format strings
1536
- function makeDateFromStringAndArray(config) {
1537
- var tempConfig,
1538
- bestMoment,
1539
-
1540
- scoreToBeat,
1541
- i,
1542
- currentScore;
1543
-
1544
- if (config._f.length === 0) {
1545
- config._pf.invalidFormat = true;
1546
- config._d = new Date(NaN);
1547
- return;
1548
- }
1549
-
1550
- for (i = 0; i < config._f.length; i++) {
1551
- currentScore = 0;
1552
- tempConfig = copyConfig({}, config);
1553
- if (config._useUTC != null) {
1554
- tempConfig._useUTC = config._useUTC;
1555
- }
1556
- tempConfig._pf = defaultParsingFlags();
1557
- tempConfig._f = config._f[i];
1558
- makeDateFromStringAndFormat(tempConfig);
1559
-
1560
- if (!isValid(tempConfig)) {
1561
- continue;
1562
- }
1563
-
1564
- // if there is any input that was not parsed add a penalty for that format
1565
- currentScore += tempConfig._pf.charsLeftOver;
1566
-
1567
- //or tokens
1568
- currentScore += tempConfig._pf.unusedTokens.length * 10;
1569
-
1570
- tempConfig._pf.score = currentScore;
1571
-
1572
- if (scoreToBeat == null || currentScore < scoreToBeat) {
1573
- scoreToBeat = currentScore;
1574
- bestMoment = tempConfig;
1575
- }
1576
- }
1577
-
1578
- extend(config, bestMoment || tempConfig);
1579
- }
1580
-
1581
- // date from iso format
1582
- function parseISO(config) {
1583
- var i, l,
1584
- string = config._i,
1585
- match = isoRegex.exec(string);
1586
-
1587
- if (match) {
1588
- config._pf.iso = true;
1589
- for (i = 0, l = isoDates.length; i < l; i++) {
1590
- if (isoDates[i][1].exec(string)) {
1591
- // match[5] should be 'T' or undefined
1592
- config._f = isoDates[i][0] + (match[6] || ' ');
1593
- break;
1594
- }
1595
- }
1596
- for (i = 0, l = isoTimes.length; i < l; i++) {
1597
- if (isoTimes[i][1].exec(string)) {
1598
- config._f += isoTimes[i][0];
1599
- break;
1600
- }
1601
- }
1602
- if (string.match(parseTokenTimezone)) {
1603
- config._f += 'Z';
1604
- }
1605
- makeDateFromStringAndFormat(config);
1606
- } else {
1607
- config._isValid = false;
1608
- }
1609
- }
1610
-
1611
- // date from iso format or fallback
1612
- function makeDateFromString(config) {
1613
- parseISO(config);
1614
- if (config._isValid === false) {
1615
- delete config._isValid;
1616
- moment.createFromInputFallback(config);
1617
- }
1618
- }
1619
-
1620
- function map(arr, fn) {
1621
- var res = [], i;
1622
- for (i = 0; i < arr.length; ++i) {
1623
- res.push(fn(arr[i], i));
1624
- }
1625
- return res;
1626
- }
1627
-
1628
- function makeDateFromInput(config) {
1629
- var input = config._i, matched;
1630
- if (input === undefined) {
1631
- config._d = new Date();
1632
- } else if (isDate(input)) {
1633
- config._d = new Date(+input);
1634
- } else if ((matched = aspNetJsonRegex.exec(input)) !== null) {
1635
- config._d = new Date(+matched[1]);
1636
- } else if (typeof input === 'string') {
1637
- makeDateFromString(config);
1638
- } else if (isArray(input)) {
1639
- config._a = map(input.slice(0), function (obj) {
1640
- return parseInt(obj, 10);
1641
- });
1642
- dateFromConfig(config);
1643
- } else if (typeof(input) === 'object') {
1644
- dateFromObject(config);
1645
- } else if (typeof(input) === 'number') {
1646
- // from milliseconds
1647
- config._d = new Date(input);
1648
- } else {
1649
- moment.createFromInputFallback(config);
1650
- }
1651
- }
1652
-
1653
- function makeDate(y, m, d, h, M, s, ms) {
1654
- //can't just apply() to create a date:
1655
- //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
1656
- var date = new Date(y, m, d, h, M, s, ms);
1657
-
1658
- //the date constructor doesn't accept years < 1970
1659
- if (y < 1970) {
1660
- date.setFullYear(y);
1661
- }
1662
- return date;
1663
- }
1664
-
1665
- function makeUTCDate(y) {
1666
- var date = new Date(Date.UTC.apply(null, arguments));
1667
- if (y < 1970) {
1668
- date.setUTCFullYear(y);
1669
- }
1670
- return date;
1671
- }
1672
-
1673
- function parseWeekday(input, locale) {
1674
- if (typeof input === 'string') {
1675
- if (!isNaN(input)) {
1676
- input = parseInt(input, 10);
1677
- }
1678
- else {
1679
- input = locale.weekdaysParse(input);
1680
- if (typeof input !== 'number') {
1681
- return null;
1682
- }
1683
- }
1684
- }
1685
- return input;
1686
- }
1687
-
1688
- /************************************
1689
- Relative Time
1690
- ************************************/
1691
-
1692
-
1693
- // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
1694
- function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
1695
- return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
1696
- }
1697
-
1698
- function relativeTime(posNegDuration, withoutSuffix, locale) {
1699
- var duration = moment.duration(posNegDuration).abs(),
1700
- seconds = round(duration.as('s')),
1701
- minutes = round(duration.as('m')),
1702
- hours = round(duration.as('h')),
1703
- days = round(duration.as('d')),
1704
- months = round(duration.as('M')),
1705
- years = round(duration.as('y')),
1706
-
1707
- args = seconds < relativeTimeThresholds.s && ['s', seconds] ||
1708
- minutes === 1 && ['m'] ||
1709
- minutes < relativeTimeThresholds.m && ['mm', minutes] ||
1710
- hours === 1 && ['h'] ||
1711
- hours < relativeTimeThresholds.h && ['hh', hours] ||
1712
- days === 1 && ['d'] ||
1713
- days < relativeTimeThresholds.d && ['dd', days] ||
1714
- months === 1 && ['M'] ||
1715
- months < relativeTimeThresholds.M && ['MM', months] ||
1716
- years === 1 && ['y'] || ['yy', years];
1717
-
1718
- args[2] = withoutSuffix;
1719
- args[3] = +posNegDuration > 0;
1720
- args[4] = locale;
1721
- return substituteTimeAgo.apply({}, args);
1722
- }
1723
-
1724
-
1725
- /************************************
1726
- Week of Year
1727
- ************************************/
1728
-
1729
-
1730
- // firstDayOfWeek 0 = sun, 6 = sat
1731
- // the day of the week that starts the week
1732
- // (usually sunday or monday)
1733
- // firstDayOfWeekOfYear 0 = sun, 6 = sat
1734
- // the first week is the week that contains the first
1735
- // of this day of the week
1736
- // (eg. ISO weeks use thursday (4))
1737
- function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
1738
- var end = firstDayOfWeekOfYear - firstDayOfWeek,
1739
- daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(),
1740
- adjustedMoment;
1741
-
1742
-
1743
- if (daysToDayOfWeek > end) {
1744
- daysToDayOfWeek -= 7;
1745
- }
1746
-
1747
- if (daysToDayOfWeek < end - 7) {
1748
- daysToDayOfWeek += 7;
1749
- }
1750
-
1751
- adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd');
1752
- return {
1753
- week: Math.ceil(adjustedMoment.dayOfYear() / 7),
1754
- year: adjustedMoment.year()
1755
- };
1756
- }
1757
-
1758
- //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
1759
- function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) {
1760
- var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear;
1761
-
1762
- d = d === 0 ? 7 : d;
1763
- weekday = weekday != null ? weekday : firstDayOfWeek;
1764
- daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0);
1765
- dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1;
1766
-
1767
- return {
1768
- year: dayOfYear > 0 ? year : year - 1,
1769
- dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear
1770
- };
1771
- }
1772
-
1773
- /************************************
1774
- Top Level Functions
1775
- ************************************/
1776
-
1777
- function makeMoment(config) {
1778
- var input = config._i,
1779
- format = config._f,
1780
- res;
1781
-
1782
- config._locale = config._locale || moment.localeData(config._l);
1783
-
1784
- if (input === null || (format === undefined && input === '')) {
1785
- return moment.invalid({nullInput: true});
1786
- }
1787
-
1788
- if (typeof input === 'string') {
1789
- config._i = input = config._locale.preparse(input);
1790
- }
1791
-
1792
- if (moment.isMoment(input)) {
1793
- return new Moment(input, true);
1794
- } else if (format) {
1795
- if (isArray(format)) {
1796
- makeDateFromStringAndArray(config);
1797
- } else {
1798
- makeDateFromStringAndFormat(config);
1799
- }
1800
- } else {
1801
- makeDateFromInput(config);
1802
- }
1803
-
1804
- res = new Moment(config);
1805
- if (res._nextDay) {
1806
- // Adding is smart enough around DST
1807
- res.add(1, 'd');
1808
- res._nextDay = undefined;
1809
- }
1810
-
1811
- return res;
1812
- }
1813
-
1814
- moment = function (input, format, locale, strict) {
1815
- var c;
1816
-
1817
- if (typeof(locale) === 'boolean') {
1818
- strict = locale;
1819
- locale = undefined;
1820
- }
1821
- // object construction must be done this way.
1822
- // https://github.com/moment/moment/issues/1423
1823
- c = {};
1824
- c._isAMomentObject = true;
1825
- c._i = input;
1826
- c._f = format;
1827
- c._l = locale;
1828
- c._strict = strict;
1829
- c._isUTC = false;
1830
- c._pf = defaultParsingFlags();
1831
-
1832
- return makeMoment(c);
1833
- };
1834
-
1835
- moment.suppressDeprecationWarnings = false;
1836
-
1837
- moment.createFromInputFallback = deprecate(
1838
- 'moment construction falls back to js Date. This is ' +
1839
- 'discouraged and will be removed in upcoming major ' +
1840
- 'release. Please refer to ' +
1841
- 'https://github.com/moment/moment/issues/1407 for more info.',
1842
- function (config) {
1843
- config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
1844
- }
1845
- );
1846
-
1847
- // Pick a moment m from moments so that m[fn](other) is true for all
1848
- // other. This relies on the function fn to be transitive.
1849
- //
1850
- // moments should either be an array of moment objects or an array, whose
1851
- // first element is an array of moment objects.
1852
- function pickBy(fn, moments) {
1853
- var res, i;
1854
- if (moments.length === 1 && isArray(moments[0])) {
1855
- moments = moments[0];
1856
- }
1857
- if (!moments.length) {
1858
- return moment();
1859
- }
1860
- res = moments[0];
1861
- for (i = 1; i < moments.length; ++i) {
1862
- if (moments[i][fn](res)) {
1863
- res = moments[i];
1864
- }
1865
- }
1866
- return res;
1867
- }
1868
-
1869
- moment.min = function () {
1870
- var args = [].slice.call(arguments, 0);
1871
-
1872
- return pickBy('isBefore', args);
1873
- };
1874
-
1875
- moment.max = function () {
1876
- var args = [].slice.call(arguments, 0);
1877
-
1878
- return pickBy('isAfter', args);
1879
- };
1880
-
1881
- // creating with utc
1882
- moment.utc = function (input, format, locale, strict) {
1883
- var c;
1884
-
1885
- if (typeof(locale) === 'boolean') {
1886
- strict = locale;
1887
- locale = undefined;
1888
- }
1889
- // object construction must be done this way.
1890
- // https://github.com/moment/moment/issues/1423
1891
- c = {};
1892
- c._isAMomentObject = true;
1893
- c._useUTC = true;
1894
- c._isUTC = true;
1895
- c._l = locale;
1896
- c._i = input;
1897
- c._f = format;
1898
- c._strict = strict;
1899
- c._pf = defaultParsingFlags();
1900
-
1901
- return makeMoment(c).utc();
1902
- };
1903
-
1904
- // creating with unix timestamp (in seconds)
1905
- moment.unix = function (input) {
1906
- return moment(input * 1000);
1907
- };
1908
-
1909
- // duration
1910
- moment.duration = function (input, key) {
1911
- var duration = input,
1912
- // matching against regexp is expensive, do it on demand
1913
- match = null,
1914
- sign,
1915
- ret,
1916
- parseIso,
1917
- diffRes;
1918
-
1919
- if (moment.isDuration(input)) {
1920
- duration = {
1921
- ms: input._milliseconds,
1922
- d: input._days,
1923
- M: input._months
1924
- };
1925
- } else if (typeof input === 'number') {
1926
- duration = {};
1927
- if (key) {
1928
- duration[key] = input;
1929
- } else {
1930
- duration.milliseconds = input;
1931
- }
1932
- } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) {
1933
- sign = (match[1] === '-') ? -1 : 1;
1934
- duration = {
1935
- y: 0,
1936
- d: toInt(match[DATE]) * sign,
1937
- h: toInt(match[HOUR]) * sign,
1938
- m: toInt(match[MINUTE]) * sign,
1939
- s: toInt(match[SECOND]) * sign,
1940
- ms: toInt(match[MILLISECOND]) * sign
1941
- };
1942
- } else if (!!(match = isoDurationRegex.exec(input))) {
1943
- sign = (match[1] === '-') ? -1 : 1;
1944
- parseIso = function (inp) {
1945
- // We'd normally use ~~inp for this, but unfortunately it also
1946
- // converts floats to ints.
1947
- // inp may be undefined, so careful calling replace on it.
1948
- var res = inp && parseFloat(inp.replace(',', '.'));
1949
- // apply sign while we're at it
1950
- return (isNaN(res) ? 0 : res) * sign;
1951
- };
1952
- duration = {
1953
- y: parseIso(match[2]),
1954
- M: parseIso(match[3]),
1955
- d: parseIso(match[4]),
1956
- h: parseIso(match[5]),
1957
- m: parseIso(match[6]),
1958
- s: parseIso(match[7]),
1959
- w: parseIso(match[8])
1960
- };
1961
- } else if (typeof duration === 'object' &&
1962
- ('from' in duration || 'to' in duration)) {
1963
- diffRes = momentsDifference(moment(duration.from), moment(duration.to));
1964
-
1965
- duration = {};
1966
- duration.ms = diffRes.milliseconds;
1967
- duration.M = diffRes.months;
1968
- }
1969
-
1970
- ret = new Duration(duration);
1971
-
1972
- if (moment.isDuration(input) && hasOwnProp(input, '_locale')) {
1973
- ret._locale = input._locale;
1974
- }
1975
-
1976
- return ret;
1977
- };
1978
-
1979
- // version number
1980
- moment.version = VERSION;
1981
-
1982
- // default format
1983
- moment.defaultFormat = isoFormat;
1984
-
1985
- // constant that refers to the ISO standard
1986
- moment.ISO_8601 = function () {};
1987
-
1988
- // Plugins that add properties should also add the key here (null value),
1989
- // so we can properly clone ourselves.
1990
- moment.momentProperties = momentProperties;
1991
-
1992
- // This function will be called whenever a moment is mutated.
1993
- // It is intended to keep the offset in sync with the timezone.
1994
- moment.updateOffset = function () {};
1995
-
1996
- // This function allows you to set a threshold for relative time strings
1997
- moment.relativeTimeThreshold = function (threshold, limit) {
1998
- if (relativeTimeThresholds[threshold] === undefined) {
1999
- return false;
2000
- }
2001
- if (limit === undefined) {
2002
- return relativeTimeThresholds[threshold];
2003
- }
2004
- relativeTimeThresholds[threshold] = limit;
2005
- return true;
2006
- };
2007
-
2008
- moment.lang = deprecate(
2009
- 'moment.lang is deprecated. Use moment.locale instead.',
2010
- function (key, value) {
2011
- return moment.locale(key, value);
2012
- }
2013
- );
2014
-
2015
- // This function will load locale and then set the global locale. If
2016
- // no arguments are passed in, it will simply return the current global
2017
- // locale key.
2018
- moment.locale = function (key, values) {
2019
- var data;
2020
- if (key) {
2021
- if (typeof(values) !== 'undefined') {
2022
- data = moment.defineLocale(key, values);
2023
- }
2024
- else {
2025
- data = moment.localeData(key);
2026
- }
2027
-
2028
- if (data) {
2029
- moment.duration._locale = moment._locale = data;
2030
- }
2031
- }
2032
-
2033
- return moment._locale._abbr;
2034
- };
2035
-
2036
- moment.defineLocale = function (name, values) {
2037
- if (values !== null) {
2038
- values.abbr = name;
2039
- if (!locales[name]) {
2040
- locales[name] = new Locale();
2041
- }
2042
- locales[name].set(values);
2043
-
2044
- // backwards compat for now: also set the locale
2045
- moment.locale(name);
2046
-
2047
- return locales[name];
2048
- } else {
2049
- // useful for testing
2050
- delete locales[name];
2051
- return null;
2052
- }
2053
- };
2054
-
2055
- moment.langData = deprecate(
2056
- 'moment.langData is deprecated. Use moment.localeData instead.',
2057
- function (key) {
2058
- return moment.localeData(key);
2059
- }
2060
- );
2061
-
2062
- // returns locale data
2063
- moment.localeData = function (key) {
2064
- var locale;
2065
-
2066
- if (key && key._locale && key._locale._abbr) {
2067
- key = key._locale._abbr;
2068
- }
2069
-
2070
- if (!key) {
2071
- return moment._locale;
2072
- }
2073
-
2074
- if (!isArray(key)) {
2075
- //short-circuit everything else
2076
- locale = loadLocale(key);
2077
- if (locale) {
2078
- return locale;
2079
- }
2080
- key = [key];
2081
- }
2082
-
2083
- return chooseLocale(key);
2084
- };
2085
-
2086
- // compare moment object
2087
- moment.isMoment = function (obj) {
2088
- return obj instanceof Moment ||
2089
- (obj != null && hasOwnProp(obj, '_isAMomentObject'));
2090
- };
2091
-
2092
- // for typechecking Duration objects
2093
- moment.isDuration = function (obj) {
2094
- return obj instanceof Duration;
2095
- };
2096
-
2097
- for (i = lists.length - 1; i >= 0; --i) {
2098
- makeList(lists[i]);
2099
- }
2100
-
2101
- moment.normalizeUnits = function (units) {
2102
- return normalizeUnits(units);
2103
- };
2104
-
2105
- moment.invalid = function (flags) {
2106
- var m = moment.utc(NaN);
2107
- if (flags != null) {
2108
- extend(m._pf, flags);
2109
- }
2110
- else {
2111
- m._pf.userInvalidated = true;
2112
- }
2113
-
2114
- return m;
2115
- };
2116
-
2117
- moment.parseZone = function () {
2118
- return moment.apply(null, arguments).parseZone();
2119
- };
2120
-
2121
- moment.parseTwoDigitYear = function (input) {
2122
- return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
2123
- };
2124
-
2125
- /************************************
2126
- Moment Prototype
2127
- ************************************/
2128
-
2129
-
2130
- extend(moment.fn = Moment.prototype, {
2131
-
2132
- clone : function () {
2133
- return moment(this);
2134
- },
2135
-
2136
- valueOf : function () {
2137
- return +this._d + ((this._offset || 0) * 60000);
2138
- },
2139
-
2140
- unix : function () {
2141
- return Math.floor(+this / 1000);
2142
- },
2143
-
2144
- toString : function () {
2145
- return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
2146
- },
2147
-
2148
- toDate : function () {
2149
- return this._offset ? new Date(+this) : this._d;
2150
- },
2151
-
2152
- toISOString : function () {
2153
- var m = moment(this).utc();
2154
- if (0 < m.year() && m.year() <= 9999) {
2155
- if ('function' === typeof Date.prototype.toISOString) {
2156
- // native implementation is ~50x faster, use it when we can
2157
- return this.toDate().toISOString();
2158
- } else {
2159
- return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
2160
- }
2161
- } else {
2162
- return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
2163
- }
2164
- },
2165
-
2166
- toArray : function () {
2167
- var m = this;
2168
- return [
2169
- m.year(),
2170
- m.month(),
2171
- m.date(),
2172
- m.hours(),
2173
- m.minutes(),
2174
- m.seconds(),
2175
- m.milliseconds()
2176
- ];
2177
- },
2178
-
2179
- isValid : function () {
2180
- return isValid(this);
2181
- },
2182
-
2183
- isDSTShifted : function () {
2184
- if (this._a) {
2185
- return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0;
2186
- }
2187
-
2188
- return false;
2189
- },
2190
-
2191
- parsingFlags : function () {
2192
- return extend({}, this._pf);
2193
- },
2194
-
2195
- invalidAt: function () {
2196
- return this._pf.overflow;
2197
- },
2198
-
2199
- utc : function (keepLocalTime) {
2200
- return this.zone(0, keepLocalTime);
2201
- },
2202
-
2203
- local : function (keepLocalTime) {
2204
- if (this._isUTC) {
2205
- this.zone(0, keepLocalTime);
2206
- this._isUTC = false;
2207
-
2208
- if (keepLocalTime) {
2209
- this.add(this._dateTzOffset(), 'm');
2210
- }
2211
- }
2212
- return this;
2213
- },
2214
-
2215
- format : function (inputString) {
2216
- var output = formatMoment(this, inputString || moment.defaultFormat);
2217
- return this.localeData().postformat(output);
2218
- },
2219
-
2220
- add : createAdder(1, 'add'),
2221
-
2222
- subtract : createAdder(-1, 'subtract'),
2223
-
2224
- diff : function (input, units, asFloat) {
2225
- var that = makeAs(input, this),
2226
- zoneDiff = (this.zone() - that.zone()) * 6e4,
2227
- diff, output, daysAdjust;
2228
-
2229
- units = normalizeUnits(units);
2230
-
2231
- if (units === 'year' || units === 'month') {
2232
- // average number of days in the months in the given dates
2233
- diff = (this.daysInMonth() + that.daysInMonth()) * 432e5; // 24 * 60 * 60 * 1000 / 2
2234
- // difference in months
2235
- output = ((this.year() - that.year()) * 12) + (this.month() - that.month());
2236
- // adjust by taking difference in days, average number of days
2237
- // and dst in the given months.
2238
- daysAdjust = (this - moment(this).startOf('month')) -
2239
- (that - moment(that).startOf('month'));
2240
- // same as above but with zones, to negate all dst
2241
- daysAdjust -= ((this.zone() - moment(this).startOf('month').zone()) -
2242
- (that.zone() - moment(that).startOf('month').zone())) * 6e4;
2243
- output += daysAdjust / diff;
2244
- if (units === 'year') {
2245
- output = output / 12;
2246
- }
2247
- } else {
2248
- diff = (this - that);
2249
- output = units === 'second' ? diff / 1e3 : // 1000
2250
- units === 'minute' ? diff / 6e4 : // 1000 * 60
2251
- units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60
2252
- units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
2253
- units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
2254
- diff;
2255
- }
2256
- return asFloat ? output : absRound(output);
2257
- },
2258
-
2259
- from : function (time, withoutSuffix) {
2260
- return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
2261
- },
2262
-
2263
- fromNow : function (withoutSuffix) {
2264
- return this.from(moment(), withoutSuffix);
2265
- },
2266
-
2267
- calendar : function (time) {
2268
- // We want to compare the start of today, vs this.
2269
- // Getting start-of-today depends on whether we're zone'd or not.
2270
- var now = time || moment(),
2271
- sod = makeAs(now, this).startOf('day'),
2272
- diff = this.diff(sod, 'days', true),
2273
- format = diff < -6 ? 'sameElse' :
2274
- diff < -1 ? 'lastWeek' :
2275
- diff < 0 ? 'lastDay' :
2276
- diff < 1 ? 'sameDay' :
2277
- diff < 2 ? 'nextDay' :
2278
- diff < 7 ? 'nextWeek' : 'sameElse';
2279
- return this.format(this.localeData().calendar(format, this, moment(now)));
2280
- },
2281
-
2282
- isLeapYear : function () {
2283
- return isLeapYear(this.year());
2284
- },
2285
-
2286
- isDST : function () {
2287
- return (this.zone() < this.clone().month(0).zone() ||
2288
- this.zone() < this.clone().month(5).zone());
2289
- },
2290
-
2291
- day : function (input) {
2292
- var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
2293
- if (input != null) {
2294
- input = parseWeekday(input, this.localeData());
2295
- return this.add(input - day, 'd');
2296
- } else {
2297
- return day;
2298
- }
2299
- },
2300
-
2301
- month : makeAccessor('Month', true),
2302
-
2303
- startOf : function (units) {
2304
- units = normalizeUnits(units);
2305
- // the following switch intentionally omits break keywords
2306
- // to utilize falling through the cases.
2307
- switch (units) {
2308
- case 'year':
2309
- this.month(0);
2310
- /* falls through */
2311
- case 'quarter':
2312
- case 'month':
2313
- this.date(1);
2314
- /* falls through */
2315
- case 'week':
2316
- case 'isoWeek':
2317
- case 'day':
2318
- this.hours(0);
2319
- /* falls through */
2320
- case 'hour':
2321
- this.minutes(0);
2322
- /* falls through */
2323
- case 'minute':
2324
- this.seconds(0);
2325
- /* falls through */
2326
- case 'second':
2327
- this.milliseconds(0);
2328
- /* falls through */
2329
- }
2330
-
2331
- // weeks are a special case
2332
- if (units === 'week') {
2333
- this.weekday(0);
2334
- } else if (units === 'isoWeek') {
2335
- this.isoWeekday(1);
2336
- }
2337
-
2338
- // quarters are also special
2339
- if (units === 'quarter') {
2340
- this.month(Math.floor(this.month() / 3) * 3);
2341
- }
2342
-
2343
- return this;
2344
- },
2345
-
2346
- endOf: function (units) {
2347
- units = normalizeUnits(units);
2348
- if (units === undefined || units === 'millisecond') {
2349
- return this;
2350
- }
2351
- return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
2352
- },
2353
-
2354
- isAfter: function (input, units) {
2355
- var inputMs;
2356
- units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
2357
- if (units === 'millisecond') {
2358
- input = moment.isMoment(input) ? input : moment(input);
2359
- return +this > +input;
2360
- } else {
2361
- inputMs = moment.isMoment(input) ? +input : +moment(input);
2362
- return inputMs < +this.clone().startOf(units);
2363
- }
2364
- },
2365
-
2366
- isBefore: function (input, units) {
2367
- var inputMs;
2368
- units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
2369
- if (units === 'millisecond') {
2370
- input = moment.isMoment(input) ? input : moment(input);
2371
- return +this < +input;
2372
- } else {
2373
- inputMs = moment.isMoment(input) ? +input : +moment(input);
2374
- return +this.clone().endOf(units) < inputMs;
2375
- }
2376
- },
2377
-
2378
- isSame: function (input, units) {
2379
- var inputMs;
2380
- units = normalizeUnits(units || 'millisecond');
2381
- if (units === 'millisecond') {
2382
- input = moment.isMoment(input) ? input : moment(input);
2383
- return +this === +input;
2384
- } else {
2385
- inputMs = +moment(input);
2386
- return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units));
2387
- }
2388
- },
2389
-
2390
- min: deprecate(
2391
- 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548',
2392
- function (other) {
2393
- other = moment.apply(null, arguments);
2394
- return other < this ? this : other;
2395
- }
2396
- ),
2397
-
2398
- max: deprecate(
2399
- 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548',
2400
- function (other) {
2401
- other = moment.apply(null, arguments);
2402
- return other > this ? this : other;
2403
- }
2404
- ),
2405
-
2406
- // keepLocalTime = true means only change the timezone, without
2407
- // affecting the local hour. So 5:31:26 +0300 --[zone(2, true)]-->
2408
- // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist int zone
2409
- // +0200, so we adjust the time as needed, to be valid.
2410
- //
2411
- // Keeping the time actually adds/subtracts (one hour)
2412
- // from the actual represented time. That is why we call updateOffset
2413
- // a second time. In case it wants us to change the offset again
2414
- // _changeInProgress == true case, then we have to adjust, because
2415
- // there is no such time in the given timezone.
2416
- zone : function (input, keepLocalTime) {
2417
- var offset = this._offset || 0,
2418
- localAdjust;
2419
- if (input != null) {
2420
- if (typeof input === 'string') {
2421
- input = timezoneMinutesFromString(input);
2422
- }
2423
- if (Math.abs(input) < 16) {
2424
- input = input * 60;
2425
- }
2426
- if (!this._isUTC && keepLocalTime) {
2427
- localAdjust = this._dateTzOffset();
2428
- }
2429
- this._offset = input;
2430
- this._isUTC = true;
2431
- if (localAdjust != null) {
2432
- this.subtract(localAdjust, 'm');
2433
- }
2434
- if (offset !== input) {
2435
- if (!keepLocalTime || this._changeInProgress) {
2436
- addOrSubtractDurationFromMoment(this,
2437
- moment.duration(offset - input, 'm'), 1, false);
2438
- } else if (!this._changeInProgress) {
2439
- this._changeInProgress = true;
2440
- moment.updateOffset(this, true);
2441
- this._changeInProgress = null;
2442
- }
2443
- }
2444
- } else {
2445
- return this._isUTC ? offset : this._dateTzOffset();
2446
- }
2447
- return this;
2448
- },
2449
-
2450
- zoneAbbr : function () {
2451
- return this._isUTC ? 'UTC' : '';
2452
- },
2453
-
2454
- zoneName : function () {
2455
- return this._isUTC ? 'Coordinated Universal Time' : '';
2456
- },
2457
-
2458
- parseZone : function () {
2459
- if (this._tzm) {
2460
- this.zone(this._tzm);
2461
- } else if (typeof this._i === 'string') {
2462
- this.zone(this._i);
2463
- }
2464
- return this;
2465
- },
2466
-
2467
- hasAlignedHourOffset : function (input) {
2468
- if (!input) {
2469
- input = 0;
2470
- }
2471
- else {
2472
- input = moment(input).zone();
2473
- }
2474
-
2475
- return (this.zone() - input) % 60 === 0;
2476
- },
2477
-
2478
- daysInMonth : function () {
2479
- return daysInMonth(this.year(), this.month());
2480
- },
2481
-
2482
- dayOfYear : function (input) {
2483
- var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1;
2484
- return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
2485
- },
2486
-
2487
- quarter : function (input) {
2488
- return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
2489
- },
2490
-
2491
- weekYear : function (input) {
2492
- var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year;
2493
- return input == null ? year : this.add((input - year), 'y');
2494
- },
2495
-
2496
- isoWeekYear : function (input) {
2497
- var year = weekOfYear(this, 1, 4).year;
2498
- return input == null ? year : this.add((input - year), 'y');
2499
- },
2500
-
2501
- week : function (input) {
2502
- var week = this.localeData().week(this);
2503
- return input == null ? week : this.add((input - week) * 7, 'd');
2504
- },
2505
-
2506
- isoWeek : function (input) {
2507
- var week = weekOfYear(this, 1, 4).week;
2508
- return input == null ? week : this.add((input - week) * 7, 'd');
2509
- },
2510
-
2511
- weekday : function (input) {
2512
- var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
2513
- return input == null ? weekday : this.add(input - weekday, 'd');
2514
- },
2515
-
2516
- isoWeekday : function (input) {
2517
- // behaves the same as moment#day except
2518
- // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
2519
- // as a setter, sunday should belong to the previous week.
2520
- return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);
2521
- },
2522
-
2523
- isoWeeksInYear : function () {
2524
- return weeksInYear(this.year(), 1, 4);
2525
- },
2526
-
2527
- weeksInYear : function () {
2528
- var weekInfo = this.localeData()._week;
2529
- return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
2530
- },
2531
-
2532
- get : function (units) {
2533
- units = normalizeUnits(units);
2534
- return this[units]();
2535
- },
2536
-
2537
- set : function (units, value) {
2538
- units = normalizeUnits(units);
2539
- if (typeof this[units] === 'function') {
2540
- this[units](value);
2541
- }
2542
- return this;
2543
- },
2544
-
2545
- // If passed a locale key, it will set the locale for this
2546
- // instance. Otherwise, it will return the locale configuration
2547
- // variables for this instance.
2548
- locale : function (key) {
2549
- var newLocaleData;
2550
-
2551
- if (key === undefined) {
2552
- return this._locale._abbr;
2553
- } else {
2554
- newLocaleData = moment.localeData(key);
2555
- if (newLocaleData != null) {
2556
- this._locale = newLocaleData;
2557
- }
2558
- return this;
2559
- }
2560
- },
2561
-
2562
- lang : deprecate(
2563
- 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
2564
- function (key) {
2565
- if (key === undefined) {
2566
- return this.localeData();
2567
- } else {
2568
- return this.locale(key);
2569
- }
2570
- }
2571
- ),
2572
-
2573
- localeData : function () {
2574
- return this._locale;
2575
- },
2576
-
2577
- _dateTzOffset : function () {
2578
- // On Firefox.24 Date#getTimezoneOffset returns a floating point.
2579
- // https://github.com/moment/moment/pull/1871
2580
- return Math.round(this._d.getTimezoneOffset() / 15) * 15;
2581
- }
2582
- });
2583
-
2584
- function rawMonthSetter(mom, value) {
2585
- var dayOfMonth;
2586
-
2587
- // TODO: Move this out of here!
2588
- if (typeof value === 'string') {
2589
- value = mom.localeData().monthsParse(value);
2590
- // TODO: Another silent failure?
2591
- if (typeof value !== 'number') {
2592
- return mom;
2593
- }
2594
- }
2595
-
2596
- dayOfMonth = Math.min(mom.date(),
2597
- daysInMonth(mom.year(), value));
2598
- mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
2599
- return mom;
2600
- }
2601
-
2602
- function rawGetter(mom, unit) {
2603
- return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]();
2604
- }
2605
-
2606
- function rawSetter(mom, unit, value) {
2607
- if (unit === 'Month') {
2608
- return rawMonthSetter(mom, value);
2609
- } else {
2610
- return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
2611
- }
2612
- }
2613
-
2614
- function makeAccessor(unit, keepTime) {
2615
- return function (value) {
2616
- if (value != null) {
2617
- rawSetter(this, unit, value);
2618
- moment.updateOffset(this, keepTime);
2619
- return this;
2620
- } else {
2621
- return rawGetter(this, unit);
2622
- }
2623
- };
2624
- }
2625
-
2626
- moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false);
2627
- moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false);
2628
- moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false);
2629
- // Setting the hour should keep the time, because the user explicitly
2630
- // specified which hour he wants. So trying to maintain the same hour (in
2631
- // a new timezone) makes sense. Adding/subtracting hours does not follow
2632
- // this rule.
2633
- moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true);
2634
- // moment.fn.month is defined separately
2635
- moment.fn.date = makeAccessor('Date', true);
2636
- moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true));
2637
- moment.fn.year = makeAccessor('FullYear', true);
2638
- moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true));
2639
-
2640
- // add plural methods
2641
- moment.fn.days = moment.fn.day;
2642
- moment.fn.months = moment.fn.month;
2643
- moment.fn.weeks = moment.fn.week;
2644
- moment.fn.isoWeeks = moment.fn.isoWeek;
2645
- moment.fn.quarters = moment.fn.quarter;
2646
-
2647
- // add aliased format methods
2648
- moment.fn.toJSON = moment.fn.toISOString;
2649
-
2650
- /************************************
2651
- Duration Prototype
2652
- ************************************/
2653
-
2654
-
2655
- function daysToYears (days) {
2656
- // 400 years have 146097 days (taking into account leap year rules)
2657
- return days * 400 / 146097;
2658
- }
2659
-
2660
- function yearsToDays (years) {
2661
- // years * 365 + absRound(years / 4) -
2662
- // absRound(years / 100) + absRound(years / 400);
2663
- return years * 146097 / 400;
2664
- }
2665
-
2666
- extend(moment.duration.fn = Duration.prototype, {
2667
-
2668
- _bubble : function () {
2669
- var milliseconds = this._milliseconds,
2670
- days = this._days,
2671
- months = this._months,
2672
- data = this._data,
2673
- seconds, minutes, hours, years = 0;
2674
-
2675
- // The following code bubbles up values, see the tests for
2676
- // examples of what that means.
2677
- data.milliseconds = milliseconds % 1000;
2678
-
2679
- seconds = absRound(milliseconds / 1000);
2680
- data.seconds = seconds % 60;
2681
-
2682
- minutes = absRound(seconds / 60);
2683
- data.minutes = minutes % 60;
2684
-
2685
- hours = absRound(minutes / 60);
2686
- data.hours = hours % 24;
2687
-
2688
- days += absRound(hours / 24);
2689
-
2690
- // Accurately convert days to years, assume start from year 0.
2691
- years = absRound(daysToYears(days));
2692
- days -= absRound(yearsToDays(years));
2693
-
2694
- // 30 days to a month
2695
- // TODO (iskren): Use anchor date (like 1st Jan) to compute this.
2696
- months += absRound(days / 30);
2697
- days %= 30;
2698
-
2699
- // 12 months -> 1 year
2700
- years += absRound(months / 12);
2701
- months %= 12;
2702
-
2703
- data.days = days;
2704
- data.months = months;
2705
- data.years = years;
2706
- },
2707
-
2708
- abs : function () {
2709
- this._milliseconds = Math.abs(this._milliseconds);
2710
- this._days = Math.abs(this._days);
2711
- this._months = Math.abs(this._months);
2712
-
2713
- this._data.milliseconds = Math.abs(this._data.milliseconds);
2714
- this._data.seconds = Math.abs(this._data.seconds);
2715
- this._data.minutes = Math.abs(this._data.minutes);
2716
- this._data.hours = Math.abs(this._data.hours);
2717
- this._data.months = Math.abs(this._data.months);
2718
- this._data.years = Math.abs(this._data.years);
2719
-
2720
- return this;
2721
- },
2722
-
2723
- weeks : function () {
2724
- return absRound(this.days() / 7);
2725
- },
2726
-
2727
- valueOf : function () {
2728
- return this._milliseconds +
2729
- this._days * 864e5 +
2730
- (this._months % 12) * 2592e6 +
2731
- toInt(this._months / 12) * 31536e6;
2732
- },
2733
-
2734
- humanize : function (withSuffix) {
2735
- var output = relativeTime(this, !withSuffix, this.localeData());
2736
-
2737
- if (withSuffix) {
2738
- output = this.localeData().pastFuture(+this, output);
2739
- }
2740
-
2741
- return this.localeData().postformat(output);
2742
- },
2743
-
2744
- add : function (input, val) {
2745
- // supports only 2.0-style add(1, 's') or add(moment)
2746
- var dur = moment.duration(input, val);
2747
-
2748
- this._milliseconds += dur._milliseconds;
2749
- this._days += dur._days;
2750
- this._months += dur._months;
2751
-
2752
- this._bubble();
2753
-
2754
- return this;
2755
- },
2756
-
2757
- subtract : function (input, val) {
2758
- var dur = moment.duration(input, val);
2759
-
2760
- this._milliseconds -= dur._milliseconds;
2761
- this._days -= dur._days;
2762
- this._months -= dur._months;
2763
-
2764
- this._bubble();
2765
-
2766
- return this;
2767
- },
2768
-
2769
- get : function (units) {
2770
- units = normalizeUnits(units);
2771
- return this[units.toLowerCase() + 's']();
2772
- },
2773
-
2774
- as : function (units) {
2775
- var days, months;
2776
- units = normalizeUnits(units);
2777
-
2778
- if (units === 'month' || units === 'year') {
2779
- days = this._days + this._milliseconds / 864e5;
2780
- months = this._months + daysToYears(days) * 12;
2781
- return units === 'month' ? months : months / 12;
2782
- } else {
2783
- // handle milliseconds separately because of floating point math errors (issue #1867)
2784
- days = this._days + Math.round(yearsToDays(this._months / 12));
2785
- switch (units) {
2786
- case 'week': return days / 7 + this._milliseconds / 6048e5;
2787
- case 'day': return days + this._milliseconds / 864e5;
2788
- case 'hour': return days * 24 + this._milliseconds / 36e5;
2789
- case 'minute': return days * 24 * 60 + this._milliseconds / 6e4;
2790
- case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000;
2791
- // Math.floor prevents floating point math errors here
2792
- case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds;
2793
- default: throw new Error('Unknown unit ' + units);
2794
- }
2795
- }
2796
- },
2797
-
2798
- lang : moment.fn.lang,
2799
- locale : moment.fn.locale,
2800
-
2801
- toIsoString : deprecate(
2802
- 'toIsoString() is deprecated. Please use toISOString() instead ' +
2803
- '(notice the capitals)',
2804
- function () {
2805
- return this.toISOString();
2806
- }
2807
- ),
2808
-
2809
- toISOString : function () {
2810
- // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
2811
- var years = Math.abs(this.years()),
2812
- months = Math.abs(this.months()),
2813
- days = Math.abs(this.days()),
2814
- hours = Math.abs(this.hours()),
2815
- minutes = Math.abs(this.minutes()),
2816
- seconds = Math.abs(this.seconds() + this.milliseconds() / 1000);
2817
-
2818
- if (!this.asSeconds()) {
2819
- // this is the same as C#'s (Noda) and python (isodate)...
2820
- // but not other JS (goog.date)
2821
- return 'P0D';
2822
- }
2823
-
2824
- return (this.asSeconds() < 0 ? '-' : '') +
2825
- 'P' +
2826
- (years ? years + 'Y' : '') +
2827
- (months ? months + 'M' : '') +
2828
- (days ? days + 'D' : '') +
2829
- ((hours || minutes || seconds) ? 'T' : '') +
2830
- (hours ? hours + 'H' : '') +
2831
- (minutes ? minutes + 'M' : '') +
2832
- (seconds ? seconds + 'S' : '');
2833
- },
2834
-
2835
- localeData : function () {
2836
- return this._locale;
2837
- }
2838
- });
2839
-
2840
- moment.duration.fn.toString = moment.duration.fn.toISOString;
2841
-
2842
- function makeDurationGetter(name) {
2843
- moment.duration.fn[name] = function () {
2844
- return this._data[name];
2845
- };
2846
- }
2847
-
2848
- for (i in unitMillisecondFactors) {
2849
- if (hasOwnProp(unitMillisecondFactors, i)) {
2850
- makeDurationGetter(i.toLowerCase());
2851
- }
2852
- }
2853
-
2854
- moment.duration.fn.asMilliseconds = function () {
2855
- return this.as('ms');
2856
- };
2857
- moment.duration.fn.asSeconds = function () {
2858
- return this.as('s');
2859
- };
2860
- moment.duration.fn.asMinutes = function () {
2861
- return this.as('m');
2862
- };
2863
- moment.duration.fn.asHours = function () {
2864
- return this.as('h');
2865
- };
2866
- moment.duration.fn.asDays = function () {
2867
- return this.as('d');
2868
- };
2869
- moment.duration.fn.asWeeks = function () {
2870
- return this.as('weeks');
2871
- };
2872
- moment.duration.fn.asMonths = function () {
2873
- return this.as('M');
2874
- };
2875
- moment.duration.fn.asYears = function () {
2876
- return this.as('y');
2877
- };
2878
-
2879
- /************************************
2880
- Default Locale
2881
- ************************************/
2882
-
2883
-
2884
- // Set default locale, other locale will inherit from English.
2885
- moment.locale('en', {
2886
- ordinalParse: /\d{1,2}(th|st|nd|rd)/,
2887
- ordinal : function (number) {
2888
- var b = number % 10,
2889
- output = (toInt(number % 100 / 10) === 1) ? 'th' :
2890
- (b === 1) ? 'st' :
2891
- (b === 2) ? 'nd' :
2892
- (b === 3) ? 'rd' : 'th';
2893
- return number + output;
2894
- }
2895
- });
2896
-
2897
- /* EMBED_LOCALES */
2898
-
2899
- /************************************
2900
- Exposing Moment
2901
- ************************************/
2902
-
2903
- function makeGlobal(shouldDeprecate) {
2904
- /*global ender:false */
2905
- if (typeof ender !== 'undefined') {
2906
- return;
2907
- }
2908
- oldGlobalMoment = globalScope.moment;
2909
- if (shouldDeprecate) {
2910
- globalScope.moment = deprecate(
2911
- 'Accessing Moment through the global scope is ' +
2912
- 'deprecated, and will be removed in an upcoming ' +
2913
- 'release.',
2914
- moment);
2915
- } else {
2916
- globalScope.moment = moment;
2917
- }
2918
- }
2919
-
2920
- // CommonJS module is defined
2921
- if (hasModule) {
2922
- module.exports = moment;
2923
- } else if (typeof define === 'function' && define.amd) {
2924
- define('moment', function (require, exports, module) {
2925
- if (module.config && module.config() && module.config().noGlobal === true) {
2926
- // release the global variable
2927
- globalScope.moment = oldGlobalMoment;
2928
- }
2929
-
2930
- return moment;
2931
- });
2932
- makeGlobal(true);
2933
- } else {
2934
- makeGlobal();
2935
- }
2936
- }).call(this);