Auto Post Thumbnail - Version 3.5.1

Version Description

Download this release

Release Info

Developer alexkovalevv
Plugin Icon 128x128 Auto Post Thumbnail
Version 3.5.1
Comparing to
See all releases

Code changes from version 3.4.2 to 3.5.1

Files changed (172) hide show
  1. admin/ajax/check-license.php +87 -0
  2. admin/assets/css/jquery.flex-images.css +18 -0
  3. admin/assets/css/license-manager.css +659 -0
  4. admin/assets/css/style.css +154 -0
  5. admin/assets/img/ajax-loader-big.gif +0 -0
  6. admin/assets/img/ajax-loader-line.gif +0 -0
  7. admin/assets/img/ajax-loader.gif +0 -0
  8. admin/assets/img/apt.png +0 -0
  9. admin/assets/img/apt.svg +13 -0
  10. {img → admin/assets/img}/apt_logo.jpg +0 -0
  11. admin/assets/img/download.svg +4 -0
  12. admin/assets/img/fon.jpg +0 -0
  13. admin/assets/img/loader.gif +0 -0
  14. admin/assets/img/loading.svg +1 -0
  15. admin/assets/img/photo_2019-09-10_11-21-14.jpg +0 -0
  16. admin/assets/img/pro.png +0 -0
  17. admin/assets/img/search.png +0 -0
  18. admin/assets/img/settings.png +0 -0
  19. admin/assets/jquery-ui/images/ui-bg_glass_45_0078ae_1x400.png +0 -0
  20. admin/assets/jquery-ui/images/ui-bg_glass_55_f8da4e_1x400.png +0 -0
  21. admin/assets/jquery-ui/images/ui-bg_glass_75_79c9ec_1x400.png +0 -0
  22. admin/assets/jquery-ui/images/ui-bg_gloss-wave_45_e14f1c_500x100.png +0 -0
  23. admin/assets/jquery-ui/images/ui-bg_gloss-wave_50_6eac2c_500x100.png +0 -0
  24. admin/assets/jquery-ui/images/ui-bg_gloss-wave_75_2191c0_500x100.png +0 -0
  25. admin/assets/jquery-ui/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  26. admin/assets/jquery-ui/images/ui-icons_0078ae_256x240.png +0 -0
  27. admin/assets/jquery-ui/images/ui-icons_056b93_256x240.png +0 -0
  28. admin/assets/jquery-ui/images/ui-icons_d8e7f3_256x240.png +0 -0
  29. admin/assets/jquery-ui/images/ui-icons_e0fdff_256x240.png +0 -0
  30. admin/assets/jquery-ui/images/ui-icons_f5e175_256x240.png +0 -0
  31. admin/assets/jquery-ui/images/ui-icons_f7a50d_256x240.png +0 -0
  32. admin/assets/jquery-ui/images/ui-icons_fcd113_256x240.png +0 -0
  33. admin/assets/jquery-ui/jquery-ui.min.css +7 -0
  34. admin/assets/jquery-ui/jquery-ui.progressbar.min.js +6 -0
  35. admin/assets/jquery-ui/jquery.autocolumnlist.js +50 -0
  36. admin/assets/jquery-ui/jquery.flex-images.min.js +3 -0
  37. admin/assets/js/admin-thumbnail.js +44 -0
  38. admin/assets/js/dreamstime-media-views.js +165 -0
  39. admin/assets/js/index.php +1 -0
  40. admin/assets/js/license-manager.js +77 -0
  41. admin/assets/js/media-views.js +141 -0
  42. admin/class-wapt-activation.php +44 -0
  43. admin/class-wapt-page.php +84 -0
  44. admin/pages/about.php +53 -0
  45. admin/pages/generate.php +111 -0
  46. admin/pages/license.php +202 -0
  47. admin/pages/settings.php +154 -0
  48. admin/views/media-library.php +157 -0
  49. admin/views/pro.php +19 -0
  50. admin/views/pro_column.php +10 -0
  51. admin/views/sources/google.php +167 -0
  52. admin/views/tab-about.php +138 -0
  53. admin/views/tab-license.php +147 -0
  54. admin/views/tab-main.php +99 -0
  55. admin/views/tab-settings.php +47 -0
  56. auto-post-thumbnail.php +141 -466
  57. css/style.css +0 -67
  58. img/ajax-loader.gif +0 -0
  59. includes/class-wapt-base.php +907 -0
  60. includes/class-wapt-plugin.php +252 -0
  61. jquery-ui/jquery.ui.progressbar.min.js +0 -16
  62. jquery-ui/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  63. jquery-ui/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  64. jquery-ui/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  65. jquery-ui/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  66. jquery-ui/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  67. jquery-ui/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  68. jquery-ui/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  69. jquery-ui/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  70. jquery-ui/redmond/jquery-ui-1.7.2.custom.css +0 -406
  71. jquery-ui/ui.progressbar.js +0 -13
  72. languages/apt-ru_RU.po +1 -1
  73. libs/factory/adverts/boot.php +50 -0
  74. libs/factory/adverts/includes/class-base.php +319 -0
  75. libs/factory/adverts/includes/class-dashboard-widget.php +125 -0
  76. libs/factory/adverts/includes/class-rest-request.php +197 -0
  77. libs/factory/adverts/includes/index.php +2 -0
  78. libs/factory/adverts/index.php +2 -0
  79. libs/factory/adverts/langs/wbcr_factory_adverts_103-ru_RU.mo +0 -0
  80. libs/factory/adverts/langs/wbcr_factory_adverts_103-ru_RU.po +83 -0
  81. libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +11 -0
  82. libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +11 -0
  83. libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +11 -0
  84. libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +25 -0
  85. libs/factory/bootstrap/assets/css-min/bootstrap.datepicker.min.css +17 -0
  86. libs/factory/bootstrap/assets/css-min/bootstrap.datetimepicker.min.css +15 -0
  87. libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css +11 -0
  88. libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css +11 -0
  89. libs/factory/bootstrap/assets/css-min/bootstrap.form-metabox.min.css +11 -0
  90. libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css +11 -0
  91. libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css +11 -0
  92. libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css +11 -0
  93. libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css +11 -0
  94. libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css +11 -0
  95. libs/factory/bootstrap/assets/css-min/bootstrap.tab.min.css +11 -0
  96. libs/factory/bootstrap/assets/css-min/bootstrap.wp-editor.min.css +11 -0
  97. libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +11 -0
  98. libs/factory/bootstrap/assets/css-min/control.color-and-opacity.min.css +11 -0
  99. libs/factory/bootstrap/assets/css-min/control.color.min.css +11 -0
  100. libs/factory/bootstrap/assets/css-min/control.dropdown-and-colors.min.css +11 -0
  101. libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +11 -0
  102. libs/factory/bootstrap/assets/css-min/control.fonts.min.css +11 -0
  103. libs/factory/bootstrap/assets/css-min/control.list.min.css +11 -0
  104. libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +11 -0
  105. libs/factory/bootstrap/assets/css-min/control.pattern.min.css +11 -0
  106. libs/factory/bootstrap/assets/css-min/control.radio-colors.min.css +11 -0
  107. libs/factory/bootstrap/assets/css-min/holder.conrol-group.min.css +11 -0
  108. libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +11 -0
  109. libs/factory/bootstrap/assets/css-min/plugin.chosen.min.css +21 -0
  110. libs/factory/bootstrap/assets/css-min/plugin.gradient-picker.min.css +11 -0
  111. libs/factory/bootstrap/assets/css-min/plugin.nouislider.min.css +11 -0
  112. libs/factory/bootstrap/assets/css-min/plugin.paddings-editor.min.css +11 -0
  113. libs/factory/bootstrap/assets/images/chosen-sprite.png +0 -0
  114. libs/factory/bootstrap/assets/images/chosen-sprite@2x.png +0 -0
  115. libs/factory/bootstrap/assets/images/color_picker_pattern.jpg +0 -0
  116. libs/factory/bootstrap/assets/images/drop-menu_arrow.png +0 -0
  117. libs/factory/bootstrap/assets/images/loader-sm-f6f6f6.gif +0 -0
  118. libs/factory/bootstrap/assets/images/loader-sm-tr.gif +0 -0
  119. libs/factory/bootstrap/assets/images/no-pattern-background-control.png +0 -0
  120. libs/factory/bootstrap/assets/js-min/bootstrap.accordion.min.js +10 -0
  121. libs/factory/bootstrap/assets/js-min/bootstrap.affix.min.js +10 -0
  122. libs/factory/bootstrap/assets/js-min/bootstrap.alert.min.js +10 -0
  123. libs/factory/bootstrap/assets/js-min/bootstrap.button.min.js +10 -0
  124. libs/factory/bootstrap/assets/js-min/bootstrap.carousel.min.js +10 -0
  125. libs/factory/bootstrap/assets/js-min/bootstrap.collapse.min.js +10 -0
  126. libs/factory/bootstrap/assets/js-min/bootstrap.datepicker.min.js +17 -0
  127. libs/factory/bootstrap/assets/js-min/bootstrap.datetimepicker.min.js +18 -0
  128. libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +10 -0
  129. libs/factory/bootstrap/assets/js-min/bootstrap.modal.min.js +10 -0
  130. libs/factory/bootstrap/assets/js-min/bootstrap.popover.min.js +10 -0
  131. libs/factory/bootstrap/assets/js-min/bootstrap.scrollspy.min.js +10 -0
  132. libs/factory/bootstrap/assets/js-min/bootstrap.tab.min.js +10 -0
  133. libs/factory/bootstrap/assets/js-min/bootstrap.tooltip.min.js +10 -0
  134. libs/factory/bootstrap/assets/js-min/bootstrap.transition.min.js +10 -0
  135. libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +10 -0
  136. libs/factory/bootstrap/assets/js-min/control.color-and-opacity.min.js +10 -0
  137. libs/factory/bootstrap/assets/js-min/control.color.min.js +10 -0
  138. libs/factory/bootstrap/assets/js-min/control.dropdown-and-colors.min.js +10 -0
  139. libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +10 -0
  140. libs/factory/bootstrap/assets/js-min/control.fonts.min.js +10 -0
  141. libs/factory/bootstrap/assets/js-min/control.gradient.min.js +10 -0
  142. libs/factory/bootstrap/assets/js-min/control.integer.min.js +10 -0
  143. libs/factory/bootstrap/assets/js-min/control.list.min.js +10 -0
  144. libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js +10 -0
  145. libs/factory/bootstrap/assets/js-min/control.pattern.min.js +10 -0
  146. libs/factory/bootstrap/assets/js-min/global.color-functions.min.js +10 -0
  147. libs/factory/bootstrap/assets/js-min/holder.conrol-group.min.js +10 -0
  148. libs/factory/bootstrap/assets/js-min/holder.more-link.min.js +10 -0
  149. libs/factory/bootstrap/assets/js-min/plugin.chosen.min.js +21 -0
  150. libs/factory/bootstrap/assets/js-min/plugin.color.min.js +10 -0
  151. libs/factory/bootstrap/assets/js-min/plugin.ddslick.min.js +10 -0
  152. libs/factory/bootstrap/assets/js-min/plugin.gradient-picker.min.js +10 -0
  153. libs/factory/bootstrap/assets/js-min/plugin.iris.min.js +13 -0
  154. libs/factory/bootstrap/assets/js-min/plugin.moment-with-locales.min.js +526 -0
  155. libs/factory/bootstrap/assets/js-min/plugin.nouislider.min.js +11 -0
  156. libs/factory/bootstrap/assets/js-min/plugin.paddings-editor.min.js +10 -0
  157. libs/factory/bootstrap/boot.php +46 -0
  158. libs/factory/bootstrap/includes/functions.php +286 -0
  159. libs/factory/bootstrap/includes/index.php +2 -0
  160. libs/factory/bootstrap/index.php +2 -0
  161. libs/factory/core/README.md +3 -0
  162. libs/factory/core/boot.php +62 -0
  163. libs/factory/core/includes/activation/class-factory-activator.php +43 -0
  164. libs/factory/core/includes/activation/class-factory-update.php +39 -0
  165. libs/factory/core/includes/activation/index.php +2 -0
  166. libs/factory/core/includes/assets-managment/class-factory-assets-list.php +126 -0
  167. libs/factory/core/includes/assets-managment/class-factory-script-list.php +166 -0
  168. libs/factory/core/includes/assets-managment/class-factory-style-list.php +86 -0
  169. libs/factory/core/includes/assets-managment/index.php +2 -0
  170. libs/factory/core/includes/class-check-compatibility.php +122 -0
  171. libs/factory/core/includes/class-factory-migrations.php +541 -0
  172. libs/factory/core/includes/class-factory-notices.php +81 -0
admin/ajax/check-license.php ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Ajax plugin check licensing
4
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
5
+ * @copyright (c) 2017 Webraftic Ltd
6
+ * @version 1.0
7
+ */
8
+
9
+ // Exit if accessed directly
10
+ if( !defined('ABSPATH') ) {
11
+ exit;
12
+ }
13
+
14
+ /**
15
+ * Обработчик ajax запросов для проверки, активации, деактивации лицензионного ключа
16
+ *
17
+ * @since 1.4.0
18
+ */
19
+ function wapt_check_license()
20
+ {
21
+ check_admin_referer('license');
22
+
23
+ $action = WAPT_Plugin::app()->request->post('license_action', false, true);
24
+ $license_key = WAPT_Plugin::app()->request->post('licensekey', null);
25
+
26
+ if( empty($action) || !in_array($action, array('activate', 'deactivate', 'sync', 'unsubscribe')) ) {
27
+ wp_send_json_error(array('error_message' => __('Licensing action not passed or this action is prohibited!', 'apt')));
28
+ die();
29
+ }
30
+
31
+ $licensing = WAPT_Plugin::app()->premium;
32
+
33
+ $result = null;
34
+ $success_message = '';
35
+
36
+ switch( $action ) {
37
+ case 'activate':
38
+ if( empty($license_key) || strlen($license_key) > 32 ) {
39
+ wp_send_json_error(array('error_message' => __('License key is empty or license key too long (license key is 32 characters long)', 'apt')));
40
+ } else {
41
+ $result = $licensing->activate($license_key);
42
+ $success_message = __('Your license has been successfully activated', 'apt');
43
+ }
44
+ break;
45
+ case 'deactivate':
46
+ $result = $licensing->deactivate();
47
+ $success_message = __('The license is deactivated', 'apt');
48
+ break;
49
+ case 'sync':
50
+ $result = $licensing->sync();
51
+ $success_message = __('The license has been updated', 'apt');
52
+ break;
53
+ case 'unsubscribe':
54
+ $result = $licensing->cancel_paid_subscription();
55
+ $success_message = __('Subscription success cancelled', 'apt');
56
+ break;
57
+ }
58
+
59
+ if( is_wp_error($result) ) {
60
+
61
+ /**
62
+ * Экшен выполняет, когда проверка лицензии вернула ошибку
63
+ * @param string $action
64
+ * @param string $license_key
65
+ * @since 1.4.0
66
+ */
67
+ add_action('wbcr/apt/check_license_error', $action, $license_key);
68
+
69
+ wp_send_json_error(array('error_message' => $result->get_error_message()));
70
+ die();
71
+ }
72
+
73
+ /**
74
+ * Экшен выполняет, когда проверка лицензии успешно завершена
75
+ * @param string $action
76
+ * @param string $license_key
77
+ * @since 1.4.0
78
+ */
79
+ add_action('wbcr/apt/check_license_success', $action, $license_key);
80
+
81
+ wp_send_json_success(array('message' => $success_message));
82
+
83
+ die();
84
+ }
85
+
86
+ add_action('wp_ajax_wapt_check_license', 'wapt_check_license');
87
+
admin/assets/css/jquery.flex-images.css ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ::-webkit-input-placeholder { color: #aaa !important; }
2
+ ::-moz-placeholder { color: #aaa !important; }
3
+ :-ms-input-placeholder { color: #aaa !important; }
4
+ [placeholder] { text-overflow: ellipsis; }
5
+
6
+ .flex-images { overflow: hidden; }
7
+ .flex-images .item { float: left; margin: 4px; background: #f3f3f3; box-sizing: content-box; overflow: hidden; position: relative; }
8
+ .flex-images .item > img { display: block; width: auto; height: 100%; }
9
+
10
+ .flex-images .download {
11
+ opacity: 0; transition: opacity .3s; position: absolute; top: 0; right: 0; bottom: 0; left: 0;
12
+ cursor: pointer; background: rgba(0,0,0,.65); color: #eee;
13
+ text-align: center; font-size: 14px; line-height: 1.5;
14
+ }
15
+ .flex-images .item:hover .download, .flex-images .item.uploading .download { opacity: 1; }
16
+ .flex-images .download img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; height: 32px; opacity: .7; }
17
+ .flex-images .download div { position: absolute; left: 0; right: 0; bottom: 15px; padding: 0 5px; }
18
+ .flex-images .download a { color: #eee; }
admin/assets/css/license-manager.css ADDED
@@ -0,0 +1,659 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ .not-visible-in-manager {
3
+ display: none;
4
+ }
5
+
6
+ /**
7
+ * Global License Message
8
+ */
9
+ .global-license-message {
10
+ width: 600px;
11
+ margin: auto;
12
+ /*margin-top: 100px;*/
13
+ font-size: 14px;
14
+ line-height: 170%;
15
+ }
16
+
17
+ .global-license-message h2, .global-license-message h3 {
18
+ padding: 0px;
19
+ margin: 5px 0;
20
+ }
21
+
22
+ .onp-page-wrap {
23
+ max-width: 720px;
24
+ margin: auto;
25
+ margin-top: 40px;
26
+ font-size: 14px;
27
+ line-height: 170%;
28
+ }
29
+
30
+ .onp-container {
31
+ border: 0px;
32
+ padding: 0px;
33
+ border-radius: 5px;
34
+ background: rgb(255, 255, 255) !important;
35
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
36
+ -moz-box-sizing: border-box;
37
+ box-sizing: border-box;
38
+ }
39
+
40
+ #license-manager .onp-container {
41
+ background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* FF3.6+ */
42
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(63%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(246, 246, 246, 1))); /* Chrome,Safari4+ */
43
+ background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* Chrome10+,Safari5.1+ */
44
+ background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* Opera 11.10+ */
45
+ background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* IE10+ */
46
+ background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* W3C */
47
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6', GradientType=0); /* IE6-9 */
48
+ }
49
+
50
+ .onp-container h2 {
51
+ margin: 0px;
52
+ padding: 0px;
53
+ }
54
+
55
+ .onp-container p {
56
+ margin: 0 0 2px 0;
57
+ padding: 0px;
58
+ line-height: 170%;
59
+ }
60
+
61
+ .btn-uppercase {
62
+ font-size: 12px;
63
+ letter-spacing: 1px;
64
+ text-transform: uppercase;
65
+ text-decoration: none;
66
+ }
67
+
68
+ .btn-uppercase *[class^=icon] {
69
+ position: relative;
70
+ top: -1px;
71
+ left: -1px;
72
+ }
73
+
74
+ .onp-page-wrap .license-message {
75
+ margin-bottom: 20px;
76
+ overflow: hidden;
77
+ }
78
+
79
+ .onp-page-wrap .license-message .alert {
80
+ margin: 0px;
81
+ }
82
+
83
+ .onp-page-wrap .license-message strong {
84
+ display: block;
85
+ margin-bottom: 0px;
86
+ }
87
+
88
+ .onp-page-wrap .license-message p {
89
+ margin: 1px 0 1px 0;
90
+ padding: 0px;
91
+ }
92
+
93
+ .onp-page-wrap .license-message a {
94
+ font-weight: bold;
95
+ }
96
+
97
+ .license-message .alert-warning-icon {
98
+ padding-left: 60px;
99
+ background-image: url("../img/warning.png");
100
+ background-position: 15px 11px;
101
+ background-repeat: no-repeat;
102
+ }
103
+
104
+ #onp-hide-license-manager {
105
+ position: absolute;
106
+ top: 2px;
107
+ right: 15px;
108
+ font-size: 12px;
109
+ color: #777;
110
+ font-weight: bold;
111
+ }
112
+
113
+ #onp-hide-license-manager:hover {
114
+ text-decoration: none;
115
+ }
116
+
117
+ #onp-hide-license-manager,
118
+ #onp-hide-license-manager:focus,
119
+ #onp-hide-license-manager:hover {
120
+ outline: none;
121
+ border: 0px;
122
+ box-shadow: none;
123
+ }
124
+
125
+ #onp-hide-license-manager .fa {
126
+ margin-right: 5px;
127
+ }
128
+
129
+ #license-manager .license-details-wrap {
130
+ border: 1px solid #e9e9e9;
131
+ padding: 0px;
132
+ border-radius: 5px;
133
+
134
+ background: rgb(255, 255, 255); /* Old browsers */
135
+ background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* FF3.6+ */
136
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(63%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(246, 246, 246, 1))); /* Chrome,Safari4+ */
137
+ background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* Chrome10+,Safari5.1+ */
138
+ background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* Opera 11.10+ */
139
+ background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* IE10+ */
140
+ background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 63%, rgba(246, 246, 246, 1) 100%); /* W3C */
141
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6', GradientType=0); /* IE6-9 */
142
+
143
+ box-shadow: 0px 2px 1px #c9c9c9;
144
+ }
145
+
146
+ #license-manager .activate-trial-hint {
147
+ background-color: #f8f8f8;
148
+ padding: 10px 20px;
149
+ position: relative;
150
+ -moz-box-sizing: content-box;
151
+ box-sizing: content-box;
152
+ }
153
+
154
+ #license-manager .activate-error-hint {
155
+ background-color: #fb7976;
156
+ color: #f5f5f5;
157
+ text-shadow: none;
158
+ padding: 2px 9px;
159
+ width: 100%;
160
+ position: relative;
161
+ margin-left: -9px;
162
+ -moz-box-sizing: content-box;
163
+ box-sizing: content-box;
164
+ }
165
+
166
+ #license-manager .license-details {
167
+ padding: 20px;
168
+ padding-bottom: 0px;
169
+ -webkit-border-top-left-radius: 5px;
170
+ -webkit-border-top-right-radius: 5px;
171
+ -moz-border-radius-topleft: 5px;
172
+ -moz-border-radius-topright: 5px;
173
+ border-top-left-radius: 5px;
174
+ border-top-right-radius: 5px;
175
+
176
+ position: relative;
177
+ z-index: 10;
178
+ }
179
+
180
+ #license-manager .license-key-identity {
181
+ font-style: italic;
182
+ position: relative;
183
+ top: -6px;
184
+ }
185
+
186
+ #license-manager .license-key-identity code {
187
+ display: inline-block;
188
+ padding: 2px 5px;
189
+ font-size: 16px;
190
+ }
191
+
192
+ #license-manager .license-key-description {
193
+ font-size: 12px;
194
+ }
195
+
196
+ #license-manager .license-delete-button {
197
+ float: right;
198
+ text-decoration: none;
199
+ position: relative;
200
+ top: -7px;
201
+ left: 10px;
202
+ }
203
+
204
+ #license-manager .license-synchronization-button {
205
+ float: right;
206
+ text-decoration: none;
207
+ position: relative;
208
+ top: -7px;
209
+ left: 4px;
210
+ }
211
+
212
+ #license-manager .license-details-block {
213
+ padding: 28px 35px 15px 35px;
214
+ margin-left: -35px;
215
+ width: 100%;
216
+ position: relative;
217
+ margin-top: 20px;
218
+
219
+ background: #fff;
220
+ border: 0px;
221
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
222
+ color: #333;
223
+
224
+ border-radius: 5px;
225
+
226
+ -webkit-box-sizing: content-box;
227
+ -moz-box-sizing: content-box;
228
+ box-sizing: content-box;
229
+ }
230
+
231
+ #license-manager .license-details-block p + p {
232
+ margin-top: 10px;
233
+ }
234
+
235
+ #license-manager .license-details-block a {
236
+ font-weight: bold;
237
+ }
238
+
239
+ #license-manager .license-details-block.trial-details-block {
240
+ background: #ffdede;
241
+
242
+ border: 0;
243
+ box-shadow: 0 0 7px #cf4944;
244
+ color: #a04342;
245
+ text-shadow: 1px 1px 2px #fff2f2;
246
+ }
247
+
248
+ #license-manager .license-details-block.trial-details-block a {
249
+ color: #a04342;
250
+ }
251
+
252
+ #license-manager .license-details-block.paid-details-block {
253
+ border: 0;
254
+ box-shadow: 0 0 7px #b8823b;
255
+ color: #8a6d3b;
256
+ background: #fcf8e3;
257
+ }
258
+
259
+ #license-manager .license-details-block.paid-details-block a {
260
+ color: #7a4c00;
261
+ }
262
+
263
+ #license-manager .license-details-block.gift-details-block {
264
+ background: #DFF0D8;
265
+ border: 1px solid #D6E9C6;
266
+ box-shadow: 0px 0px 5px #D6E9C6;
267
+ color: #468847;
268
+ }
269
+
270
+ #license-manager .license-details-block.gift-details-block a {
271
+ color: #468847;
272
+ }
273
+
274
+ #license-manager .license-params {
275
+ margin-top: 15px;
276
+ position: relative;
277
+ left: -2px;
278
+ }
279
+
280
+ #license-manager .license-value {
281
+ display: block;
282
+ font-size: 16px;
283
+ font-weight: bold;
284
+ }
285
+
286
+ #license-manager .license-value small {
287
+ font-weight: normal;
288
+ }
289
+
290
+ #license-manager .license-value-name {
291
+ display: block;
292
+ font-size: 12px;
293
+ }
294
+
295
+ #license-manager .license-param {
296
+ white-space: nowrap;
297
+ line-height: 130%;
298
+ padding: 10px 0 10px 35px;
299
+ vertical-align: top;
300
+ }
301
+
302
+ #license-manager .license-param-domain {
303
+ padding-left: 65px;
304
+ background: url('../img/free-license-chip.png') -3px 0px no-repeat;
305
+ }
306
+
307
+ #license-manager .trial-details-block .license-param-domain {
308
+ background: url('../img/trial-license-chip.png') -3px 0px no-repeat;
309
+ }
310
+
311
+ #license-manager .paid-details-block .license-param-domain {
312
+ background: url('../img/paid-license-chip.png') -3px 0px no-repeat;
313
+ }
314
+
315
+ #license-manager .license-details-block h3 {
316
+ padding: 0;
317
+ font-size: 22px;
318
+ margin: 0 0 16px 0;
319
+ color: #8a6d3b;
320
+ font-weight: 500;
321
+ }
322
+
323
+ #license-manager .license-details-block a {
324
+ color: #a04342;
325
+ }
326
+
327
+ #license-manager .license-input {
328
+
329
+ padding: 20px;
330
+ -webkit-border-bottom-right-radius: 5px;
331
+ -webkit-border-bottom-left-radius: 5px;
332
+ -moz-border-radius-bottomright: 5px;
333
+ -moz-border-radius-bottomleft: 5px;
334
+ border-bottom-right-radius: 5px;
335
+ border-bottom-left-radius: 5px;
336
+ }
337
+
338
+ #license-manager .license-input .btn {
339
+ text-decoration: none;
340
+ }
341
+
342
+ #license-manager .license-key-wrap {
343
+ padding-right: 110px;
344
+ }
345
+
346
+ #license-key {
347
+ width: 100%;
348
+ position: relative;
349
+ font-size: 18px;
350
+ line-height: 20px;
351
+ top: -1px;
352
+ height: 36px;
353
+ color: #000;
354
+ }
355
+
356
+ #license-submit {
357
+ float: right;
358
+ padding: 7px 14px 6px 14px;
359
+ }
360
+
361
+ #plugin-update-block {
362
+ padding-top: 10px;
363
+ font-size: 10px;
364
+ color: #666;
365
+ max-width: 700px;
366
+ margin: auto;
367
+ }
368
+
369
+ #plugin-update-block a {
370
+ color: #000;
371
+ }
372
+
373
+ .purchase-premium {
374
+ float: right;
375
+ position: relative;
376
+ top: -11px;
377
+ left: 8px;
378
+ text-decoration: none;
379
+ font-weight: bold;
380
+ background: #fffaea;
381
+ padding: 0px;
382
+ border-radius: 4px;
383
+ outline: none;
384
+ margin-top: 4px;
385
+ box-shadow: 0 0 8px #fddf67;
386
+ }
387
+
388
+ .purchase-premium .fa {
389
+ position: relative;
390
+ margin-right: 3px;
391
+ margin-left: 3px;
392
+ }
393
+
394
+ /*
395
+ * Manual Trial Activation
396
+ */
397
+ #trial-manual .onp-container {
398
+ padding: 20px;
399
+ overflow: hidden;
400
+ }
401
+
402
+ #trial-manual ul {
403
+ margin: 0px;
404
+ padding: 0px;
405
+ margin-top: 10px;
406
+ }
407
+
408
+ #trial-manual ul li {
409
+ margin-bottom: 10px;
410
+ }
411
+
412
+ #trial-manual .license-reponse-code {
413
+ width: 100%;
414
+ height: 150px;
415
+ margin-top: 5px;
416
+ }
417
+
418
+ /*
419
+ * Manual Key Activation
420
+ */
421
+ #activate-key-manual .onp-container {
422
+ padding: 20px;
423
+ overflow: hidden;
424
+ }
425
+
426
+ #activate-key-manual ul {
427
+ margin: 0px;
428
+ padding: 0px;
429
+ margin-top: 10px;
430
+ }
431
+
432
+ #activate-key-manual ul li {
433
+ margin-bottom: 10px;
434
+ }
435
+
436
+ #activate-key-manual .license-reponse-code {
437
+ width: 100%;
438
+ height: 150px;
439
+ margin-top: 5px;
440
+ }
441
+
442
+ /**
443
+ * FAQ
444
+ */
445
+
446
+ #faq-block {
447
+ border-top: 1px solid #d7d7d7;
448
+
449
+ margin-top: 20px;
450
+ width: 100%;
451
+
452
+ padding: 10px 20px;
453
+ position: relative;
454
+ }
455
+
456
+ #faq-block .faq-header {
457
+ border-bottom: 1px dotted #333;
458
+ display: inline-block;
459
+ cursor: pointer;
460
+ font-weight: bold;
461
+ line-height: 16px;
462
+ font-size: 13px;
463
+ color: #333;
464
+ }
465
+
466
+ #faq-block .faq-header:hover {
467
+ border-bottom: 0px;
468
+ }
469
+
470
+ #faq-block .faq-header:focus, #faq-block .faq-header:active {
471
+ outline: 0;
472
+ }
473
+
474
+ #faq-block li > div {
475
+ display: none;
476
+ }
477
+
478
+ #faq-block p {
479
+ margin: 6px 0 10px 0;
480
+ font-size: 13px;
481
+ line-height: 170%;
482
+ }
483
+
484
+ #open-faq {
485
+ color: #000 !important;
486
+ text-decoration: none;
487
+ border-bottom: 1px dotted #000;
488
+ margin-left: 4px;
489
+ }
490
+
491
+ #open-faq:hover {
492
+ border-bottom: 0px;
493
+ }
494
+
495
+ .gray-link, .gray-link a {
496
+ color: #666666 !important;
497
+ }
498
+
499
+ /**
500
+ * A form to create a customer account
501
+ */
502
+
503
+ .onp-single-block .onp-header {
504
+ text-align: center;
505
+ padding: 10px;
506
+ }
507
+
508
+ .onp-single-block .onp-header h4 {
509
+ font-size: 26px;
510
+ line-height: 130%;
511
+ }
512
+
513
+ .onp-single-block .onp-container {
514
+ padding: 50px 60px;
515
+ border: 1px solid #bbb;
516
+ position: relative;
517
+ }
518
+
519
+ .onp-single-block .onp-container .onp-container-header {
520
+ margin-bottom: 20px;
521
+ }
522
+
523
+ .onp-single-block .onp-container .onp-container-header h4 {
524
+ color: #000;
525
+ margin: 0px;
526
+ font-size: 20px;
527
+ }
528
+
529
+ .onp-single-block .onp-container .onp-container-header .onp-key-info {
530
+ color: #666;
531
+ }
532
+
533
+ .onp-single-block .onp-container .onp-container-header .onp-key-info .fa {
534
+ color: #777;
535
+ }
536
+
537
+ .onp-single-block .onp-container .onp-container-header .onp-icon {
538
+ position: absolute;
539
+ top: 30px;
540
+ right: 30px;
541
+ }
542
+
543
+ .onp-single-block .onp-container p,
544
+ .onp-single-block .onp-container li {
545
+ color: #333;
546
+ font-size: 14px;
547
+ }
548
+
549
+ .onp-single-block .onp-container p + p {
550
+ margin-top: 15px;
551
+ }
552
+
553
+ .onp-single-block .onp-container .onp-form {
554
+ text-align: left;
555
+ padding: 10px 0 0 0;
556
+ }
557
+
558
+ .onp-single-block #email {
559
+ font-size: 26px;
560
+ line-height: 26px;
561
+ height: 50px;
562
+ }
563
+
564
+ .onp-single-block .checkbox {
565
+ padding-left: 25px;
566
+ color: #999;
567
+ font-style: italic;
568
+ }
569
+
570
+ .onp-single-block .checkbox input {
571
+ margin-left: -25px;
572
+ }
573
+
574
+ .onp-single-block .onp-actions {
575
+ padding-top: 20px;
576
+ }
577
+
578
+ .onp-single-block .onp-actions .btn-primary {
579
+ margin-right: 15px;
580
+ }
581
+
582
+ .onp-single-block .onp-actions a.onp-cancel {
583
+ text-decoration: none;
584
+ color: #111;
585
+ }
586
+
587
+ .onp-single-block .onp-actions a.onp-cancel:hover {
588
+ text-decoration: none;
589
+ border-bottom: 1px solid #111;
590
+ background-color: #f9f9f9;
591
+ }
592
+
593
+ .onp-single-block .onp-benefits {
594
+ padding-left: 25px;
595
+ margin-top: 15px;
596
+ list-style: initial;
597
+ }
598
+
599
+ .onp-single-block .onp-login-details {
600
+
601
+ }
602
+
603
+ .onp-single-block .onp-text-seporator {
604
+ border-top: 1px solid #eee;
605
+ margin: 30px 0;
606
+ }
607
+
608
+ #create-account .onp-container {
609
+ background: #fff url("../img/create-account-bg.png") no-repeat 370px 230px !important;
610
+ }
611
+
612
+ #account-created .onp-step {
613
+ overflow: hidden;
614
+ }
615
+
616
+ #account-created .onp-steps {
617
+ padding: 25px 0 20px 10px;
618
+ }
619
+
620
+ #account-created .onp-step + .onp-step {
621
+ margin-top: 20px;
622
+ }
623
+
624
+ #account-created .onp-step .onp-num {
625
+ font-size: 25px;
626
+ line-height: 40px;
627
+ background-color: #f5f5f5;
628
+ width: 40px;
629
+ height: 40px;
630
+ display: inline-block;
631
+ border-radius: 7px;
632
+ text-align: center;
633
+ -moz-box-sizing: border-box;
634
+ box-sizing: border-box;
635
+ margin-right: 10px;
636
+ vertical-align: middle;
637
+ font-weight: bolder;
638
+ font-family: Arial, sans-serif;
639
+ }
640
+
641
+ #account-created .onp-step .onp-desc {
642
+ width: 490px;
643
+ display: inline-block;
644
+ vertical-align: middle;
645
+ line-height: 150%;
646
+ }
647
+
648
+ #finish .onp-container {
649
+ background: #fff url("../img/finish.png") no-repeat 0 -90px !important;
650
+ padding-left: 260px;
651
+ min-height: 250px;
652
+
653
+ border-bottom: 3px solid #ccc;
654
+ }
655
+
656
+ .winp-loader {
657
+ float: right;
658
+ width: 32px;
659
+ }
admin/assets/css/style.css ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .apt_pro_advertisement {
2
+ float: right;
3
+ width: 230px;
4
+ margin-top: 15px;
5
+ margin-right: -240px;
6
+ border: medium none;
7
+ border-radius: 4px;
8
+ box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
9
+ padding: 5px 5px 15px 5px;
10
+ background: #fff;
11
+ }
12
+
13
+ .apt_pro_logo {
14
+ float: left;
15
+ box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.3);
16
+ margin: 10px;
17
+ border-radius: 3px;
18
+ }
19
+
20
+ .apt_pro_logo img {
21
+ border-radius: 3px;
22
+ }
23
+
24
+ .apt_pro_check_out {
25
+ float: left;
26
+ font-size: 35px;
27
+ line-height: 35px;
28
+ width: 120px;
29
+ padding-top: 10px;
30
+ text-align: center;
31
+ font-family: message-box;
32
+ color: #EEEEEE;
33
+ text-shadow: 1px 1px 2px #000000;
34
+ }
35
+
36
+ .apt_pro_features {
37
+ padding-left: 10px;
38
+ clear: both;
39
+ }
40
+
41
+ .apt_pro_features ul {
42
+ list-style: disc inside;
43
+ }
44
+
45
+ .apt_pro_buy_now {
46
+ text-align: center;
47
+ }
48
+
49
+ .apt_loading {
50
+ width: 100%;
51
+ height: 100%;
52
+ top: 0;
53
+ left: 0;
54
+ position: fixed;
55
+ display: none;
56
+ opacity: 0.7;
57
+ background-color: #fff;
58
+ z-index: 99;
59
+ text-align: center;
60
+ }
61
+
62
+ .apt-loading-image {
63
+ position: absolute;
64
+ top: 50%;
65
+ left: 50%;
66
+ z-index: 100;
67
+ }
68
+ .column-apt-image
69
+ {
70
+ width: 100px;
71
+ }
72
+ #apt_thumbid2
73
+ {
74
+ float: left;
75
+ margin: 5px;
76
+ cursor: pointer;
77
+ border-radius: 5px;
78
+ }
79
+ .column-apt
80
+ {
81
+ float: left;
82
+ margin: 5px;
83
+ }
84
+ .img
85
+ {
86
+ border-radius: 5px;
87
+ box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.5);
88
+ }
89
+ .checked-img
90
+ {
91
+ border: 3px solid #0079a9;
92
+ border-radius: 5px;
93
+ box-shadow: 1px 1px 5px 0px rgba(0,0,0,0.5);
94
+ }
95
+ input
96
+ {
97
+ padding:7px 7px 7px 9px;
98
+ }
99
+
100
+ /*
101
+ .media-frame-menu
102
+ {
103
+ display: block !important;
104
+ width: 200px;
105
+ }
106
+ .media-frame.hide-menu .media-frame-title, .media-frame.hide-menu .media-frame-router, .media-frame.hide-menu .media-frame-toolbar, .media-frame.hide-menu .media-frame-content
107
+ {
108
+ left: 200px;
109
+ }
110
+ */
111
+ /* GUTENBERG */
112
+ .apt-sidebar-content
113
+ {
114
+ padding: 10px;
115
+ }
116
+
117
+ .btn-gold {
118
+ font-weight: bold;
119
+ padding: 7px 12px;
120
+ cursor: pointer;
121
+ line-height: 16px;
122
+ display: inline-block;
123
+ border-radius: 2px;
124
+ -moz-border-radius: 2px; /*gecko - mozilla*/
125
+ -webkit-border-radius: 2px; /*new webkit - Chrome and Safari*/
126
+ box-shadow: #e3e3e3 0 1px 1px;
127
+ -moz-box-shadow: 0px 1px 1px rgba(000, 000, 000, 0.1), inset 0px 1px 1px rgba(255, 255, 255, 0.7);
128
+ -webkit-box-shadow: 0px 1px 1px rgba(000, 000, 000, 0.1), inset 0px 1px 1px rgba(255, 255, 255, 0.7);
129
+ text-shadow: 1px 1px 0px #ffe8b2;
130
+ color: #7c5d1b;
131
+ border: 1px solid #d6a437;
132
+ background: #feeb80; /*fallback for non-CSS3 browsers*/
133
+ }
134
+
135
+ .btn-gold:hover,
136
+ .btn-gold:focus {
137
+ background: #fef0a1;
138
+ }
139
+
140
+ .btn-gold:active,
141
+ .btn-gold.active {
142
+ background: #fef0a1;
143
+ -webkit-box-shadow: inset 0 3px 8px 0 #f8ba36;
144
+ box-shadow: inset 0 3px 8px 0 #f8ba36;
145
+ }
146
+ .purchase-premium
147
+ {
148
+ text-decoration: none;
149
+ }
150
+ .wapt-sup-pro
151
+ {
152
+ font-weight: bold;
153
+ color: red;
154
+ }
admin/assets/img/ajax-loader-big.gif ADDED
Binary file
admin/assets/img/ajax-loader-line.gif ADDED
Binary file
admin/assets/img/ajax-loader.gif ADDED
Binary file
admin/assets/img/apt.png ADDED
Binary file
admin/assets/img/apt.svg ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="99.000000pt" height="95.000000pt" viewBox="0 0 99.000000 95.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+ <metadata>
8
+ Created by potrace 1.15, written by Peter Selinger 2001-2017
9
+ </metadata>
10
+ <g transform="translate(0.000000,95.000000) scale(0.100000,-0.100000)"
11
+ fill="#000000" stroke="none">
12
+ </g>
13
+ </svg>
{img → admin/assets/img}/apt_logo.jpg RENAMED
File without changes
admin/assets/img/download.svg ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ <svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"/>
3
+ <path d="M0 0h24v24H0z" fill="none"/>
4
+ </svg>
admin/assets/img/fon.jpg ADDED
Binary file
admin/assets/img/loader.gif ADDED
Binary file
admin/assets/img/loading.svg ADDED
@@ -0,0 +1 @@
 
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="80px" height="80px" viewBox="0 0 128 128" xml:space="preserve"><path d="M0 128V83h17.25v27.75h93.5V83H128v45H0z" fill="#d9d9d9" fill-opacity="1"/><g><path d="M80.92-97.82v51.27h18.15L64-.05l-35.07-46.5h18.15v-51.27h33.84z" fill="#d9d9d9" fill-opacity="1"/><animateTransform attributeName="transform" type="translate" from="0 0" to="0 220" dur="1400ms" repeatCount="indefinite"/></g></svg>
admin/assets/img/photo_2019-09-10_11-21-14.jpg ADDED
Binary file
admin/assets/img/pro.png ADDED
Binary file
admin/assets/img/search.png ADDED
Binary file
admin/assets/img/settings.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-bg_glass_45_0078ae_1x400.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-bg_glass_55_f8da4e_1x400.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-bg_glass_75_79c9ec_1x400.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-bg_gloss-wave_45_e14f1c_500x100.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-bg_gloss-wave_50_6eac2c_500x100.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-bg_gloss-wave_75_2191c0_500x100.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-bg_inset-hard_100_fcfdfd_1x100.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-icons_0078ae_256x240.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-icons_056b93_256x240.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-icons_d8e7f3_256x240.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-icons_e0fdff_256x240.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-icons_f5e175_256x240.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-icons_f7a50d_256x240.png ADDED
Binary file
admin/assets/jquery-ui/images/ui-icons_fcd113_256x240.png ADDED
Binary file
admin/assets/jquery-ui/jquery-ui.min.css ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.12.1 - 2019-07-26
2
+ * http://jqueryui.com
3
+ * Includes: core.css, progressbar.css, theme.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=start&cornerRadiusShadow=5px&offsetLeftShadow=5px&offsetTopShadow=5px&thicknessShadow=0px&opacityShadow=45&bgImgOpacityShadow=55&bgTextureShadow=flat&bgColorShadow=999999&opacityOverlay=30&bgImgOpacityOverlay=75&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=fcd113&fcError=ffffff&borderColorError=cd0a0a&bgImgOpacityError=45&bgTextureError=gloss_wave&bgColorError=e14f1c&iconColorHighlight=f7a50d&fcHighlight=915608&borderColorHighlight=fcd113&bgImgOpacityHighlight=55&bgTextureHighlight=glass&bgColorHighlight=f8da4e&iconColorActive=f5e175&fcActive=ffffff&borderColorActive=acdd4a&bgImgOpacityActive=50&bgTextureActive=gloss_wave&bgColorActive=6eac2c&iconColorHover=056b93&fcHover=026890&borderColorHover=448dae&bgImgOpacityHover=75&bgTextureHover=glass&bgColorHover=79c9ec&iconColorDefault=e0fdff&fcDefault=ffffff&borderColorDefault=77d5f7&bgImgOpacityDefault=45&bgTextureDefault=glass&bgColorDefault=0078ae&iconColorContent=0078ae&fcContent=222222&borderColorContent=a6c9e2&bgImgOpacityContent=100&bgTextureContent=inset_hard&bgColorContent=fcfdfd&iconColorHeader=d8e7f3&fcHeader=eaf5f7&borderColorHeader=4297d7&bgImgOpacityHeader=75&bgTextureHeader=gloss_wave&bgColorHeader=2191c0&cornerRadius=5px&fsDefault=1.1em&fwDefault=normal&ffDefault=Verdana%2CArial%2Csans-serif
5
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
6
+
7
+ .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #77d5f7}.ui-widget-content{border:1px solid #a6c9e2;background:#fcfdfd url("images/ui-bg_inset-hard_100_fcfdfd_1x100.png") 50% bottom repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #4297d7;background:#2191c0 url("images/ui-bg_gloss-wave_75_2191c0_500x100.png") 50% 50% repeat-x;color:#eaf5f7;font-weight:bold}.ui-widget-header a{color:#eaf5f7}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #77d5f7;background:#0078ae url("images/ui-bg_glass_45_0078ae_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#fff;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #448dae;background:#79c9ec url("images/ui-bg_glass_75_79c9ec_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#026890}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#026890;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #acdd4a;background:#6eac2c url("images/ui-bg_gloss-wave_50_6eac2c_500x100.png") 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#acdd4a;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcd113;background:#f8da4e url("images/ui-bg_glass_55_f8da4e_1x400.png") 50% 50% repeat-x;color:#915608}.ui-state-checked{border:1px solid #fcd113;background:#f8da4e}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#915608}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#e14f1c url("images/ui-bg_gloss-wave_45_e14f1c_500x100.png") 50% top repeat-x;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_0078ae_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_d8e7f3_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_056b93_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_f5e175_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_f7a50d_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_fcd113_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_e0fdff_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:5px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:5px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:5px 5px 0 #999;box-shadow:5px 5px 0 #999}
admin/assets/jquery-ui/jquery-ui.progressbar.min.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.12.1 - 2019-07-26
2
+ * http://jqueryui.com
3
+ * Includes: widget.js, widgets/progressbar.js
4
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
5
+
6
+ (function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})});
admin/assets/jquery-ui/jquery.autocolumnlist.js ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery AutoColumnList Plugin
3
+ * Version: 1.2.0 (02/26/2017)
4
+ * Requires: jQuery v1.8 or later
5
+ * Repository: https://github.com/Neolot/jQuery.AutoColumnList
6
+ * License: MIT, http://www.opensource.org/licenses/mit-license.php
7
+ * Copyright (c) 2011-2017 Yuriy Pokhylko
8
+ * Author URI: https://neolot.com
9
+ */
10
+
11
+ (function($) {
12
+ var defaults = {
13
+ columns: 4,
14
+ classname: 'column',
15
+ min: 1
16
+ };
17
+
18
+ $.fn.autocolumnlist = function(params){
19
+ var options = $.extend({}, defaults, params);
20
+ return this.each(function() {
21
+ var data_parameters = $(this).data();
22
+ if ( data_parameters ) {
23
+ $.each(data_parameters, function (key, value) {
24
+ options[key] = value;
25
+ });
26
+ }
27
+
28
+ var els = $(this).find('> li');
29
+ var dimension = els.length;
30
+ if (dimension > 0) {
31
+ var elCol = Math.ceil(dimension/options.columns);
32
+ if (elCol < options.min) {
33
+ elCol = options.min;
34
+ }
35
+ var start = 0;
36
+ var end = elCol;
37
+
38
+ for (i=0; i<options.columns; i++) {
39
+ if ((i + 1) == options.columns) {
40
+ els.slice(start, end).wrapAll('<div class="'+options.classname+' last" />');
41
+ } else {
42
+ els.slice(start, end).wrapAll('<div class="'+options.classname+'" />');
43
+ }
44
+ start = start+elCol;
45
+ end = end+elCol;
46
+ }
47
+ }
48
+ });
49
+ };
50
+ })(jQuery);
admin/assets/jquery-ui/jquery.flex-images.min.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ // jQuery flexImages v1.0.4
2
+ // https://github.com/Pixabay/jQuery-flexImages
3
+ !function(t){function e(t,a,r,n){function o(t){r.maxRows&&d>r.maxRows||r.truncate&&t&&d>1?w[g][0].style.display="none":(w[g][4]&&(w[g][3].attr("src",w[g][4]),w[g][4]=""),w[g][0].style.width=l+"px",w[g][0].style.height=u+"px",w[g][0].style.display="block")}var g,l,s=1,d=1,f=t.width()-2,w=[],c=0,u=r.rowHeight;for(f||(f=t.width()-2),i=0;i<a.length;i++)if(w.push(a[i]),c+=a[i][2]+r.margin,c>=f){var m=w.length*r.margin;for(s=(f-m)/(c-m),u=Math.ceil(r.rowHeight*s),exact_w=0,l,g=0;g<w.length;g++)l=Math.ceil(w[g][2]*s),exact_w+=l+r.margin,exact_w>f&&(l-=exact_w-f),o();w=[],c=0,d++}for(g=0;g<w.length;g++)l=Math.floor(w[g][2]*s),h=Math.floor(r.rowHeight*s),o(!0);n||f==t.width()||e(t,a,r,!0)}t.fn.flexImages=function(a){var i=t.extend({container:".item",object:"img",rowHeight:180,maxRows:0,truncate:0},a);return this.each(function(){var a=t(this),r=t(a).find(i.container),n=[],o=(new Date).getTime(),h=window.getComputedStyle?getComputedStyle(r[0],null):r[0].currentStyle;for(i.margin=(parseInt(h.marginLeft)||0)+(parseInt(h.marginRight)||0)+(Math.round(parseFloat(h.borderLeftWidth))||0)+(Math.round(parseFloat(h.borderRightWidth))||0),j=0;j<r.length;j++){var g=r[j],l=parseInt(g.getAttribute("data-w")),s=l*(i.rowHeight/parseInt(g.getAttribute("data-h"))),d=t(g).find(i.object);n.push([g,l,s,d,d.data("src")])}e(a,n,i),t(window).off("resize.flexImages"+a.data("flex-t")),t(window).on("resize.flexImages"+o,function(){e(a,n,i)}),a.data("flex-t",o)})}}(jQuery);
admin/assets/js/admin-thumbnail.js ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * This function:
3
+ *
4
+ * Generates a custom image uploader / selector tied to a post where the click action originated
5
+ * Upon clicking "Use as thumbnail" the image selected is set to be the post thumbnail
6
+ * A thumbnail image is then shown in the All Posts / All Pages / All Custom Post types Admin Dashboard view
7
+ *
8
+ * @since 1.0.0
9
+ *
10
+ * global ajaxurl, apt_thumb - language array
11
+ */
12
+
13
+ //Отображение окна со всеми картинками в тексте поста
14
+ jQuery(document).ready(function($){
15
+
16
+ window.aptModalShow = function(that, postid, wpnonce){
17
+
18
+ var $modal = $('#post_imgs_'+postid).find('> p');
19
+ var $ajaximg = $('#post_imgs_'+postid).find('> span');
20
+ //$modal.html('');
21
+ $('.imgs').find('> p').html(''); //очистка всех модальных окон, чтобы исключить конфликты
22
+
23
+ tb_show( apt_thumb.modal_title, '/?TB_inline&inlineId=post_imgs_'+postid+'&width=600&height=500' );
24
+
25
+ $ajaximg.show();
26
+ // AJAX запрос для загрузки контента окна
27
+ jQuery.post ( ajaxurl, {
28
+ action: action_column_get_thumbnails,
29
+ post_id: postid,
30
+ _ajax_nonce: wpnonce,
31
+ cookie: encodeURIComponent( document.cookie )
32
+ }).done( function( html ) {
33
+ $ajaximg.hide();
34
+ $modal.html(html);
35
+ $('#apt_thumbid2').autocolumnlist({
36
+ columns: 3,
37
+ classname: 'column-apt',
38
+ min: 1
39
+ });
40
+ });
41
+
42
+ //return false; // для ссылки
43
+ }
44
+ });
admin/assets/js/dreamstime-media-views.js ADDED
@@ -0,0 +1,165 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($) {
2
+ var l10n = wp.media.view.l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
3
+
4
+ wp.media.view.MediaFrame.Select = wp.media.view.MediaFrame.Select.extend({
5
+
6
+ bindHandlers: function() {
7
+ this.on('router:create:browse', this.createRouter, this);
8
+ this.on('router:render:browse', this.browseRouter, this);
9
+ this.on('content:create:browse', this.browseContent, this);
10
+ this.on('content:render:upload', this.uploadContent, this);
11
+ this.on('toolbar:create:select', this.createSelectToolbar, this);
12
+
13
+ this.on('content:create:dreamstime', this.dreamstimeContent, this);
14
+ this.on('content:render:dreamstime', this.dreamstimeContent, this);
15
+
16
+ this.on('content:create:apt', this.aptContent, this);
17
+ this.on('content:render:apt', this.aptContent, this);
18
+ },
19
+
20
+ browseRouter: function(view) {
21
+ view.set({
22
+ upload: {
23
+ text: l10n.uploadFilesTitle,
24
+ priority: 20
25
+ },
26
+ browse: {
27
+ text: l10n.mediaLibraryTitle,
28
+ priority: 40
29
+ },
30
+ dreamstime: {
31
+ text: 'Dreamstime',
32
+ priority: 60
33
+ },
34
+ apt: {
35
+ text: 'Auto Post thumbnails',
36
+ priority: 70
37
+ }
38
+ });
39
+ },
40
+
41
+ dreamstimeContent: function(content) {
42
+ this.$el.removeClass('hide-toolbar');
43
+ this.state().set('src', dreamstimeIframeSrc); //set in Dreamstime::loadCssJs with wp_localize_script()
44
+ content.view = new wp.media.view.Iframe({
45
+ controller: this
46
+ });
47
+ },
48
+ aptContent: function(content) {
49
+ this.$el.removeClass('hide-toolbar');
50
+ this.state().set('src', apt_media_iframe.src); //set in Dreamstime::loadCssJs with wp_localize_script()
51
+ content.view = new wp.media.view.Iframe({
52
+ controller: this
53
+ });
54
+ }
55
+
56
+ });
57
+
58
+ var mediaFrameSelect = wp.media.view.MediaFrame.Select;
59
+ wp.media.view.MediaFrame.Post = wp.media.view.MediaFrame.Post.extend({
60
+ bindHandlers: function() {
61
+ var handlers, checkCounts;
62
+
63
+ mediaFrameSelect.prototype.bindHandlers.apply(this, arguments);
64
+
65
+ this.on('activate', this.activate, this);
66
+
67
+ // Only bother checking media type counts if one of the counts is zero
68
+ checkCounts = _.find(this.counts, function(type) {
69
+ return type.count === 0;
70
+ });
71
+
72
+ if( typeof checkCounts !== 'undefined' ) {
73
+ this.listenTo(wp.media.model.Attachments.all, 'change:type', this.mediaTypeCounts);
74
+ }
75
+
76
+ this.on('menu:create:gallery', this.createMenu, this);
77
+ this.on('menu:create:playlist', this.createMenu, this);
78
+ this.on('menu:create:video-playlist', this.createMenu, this);
79
+ this.on('toolbar:create:main-insert', this.createToolbar, this);
80
+ this.on('toolbar:create:main-gallery', this.createToolbar, this);
81
+ this.on('toolbar:create:main-playlist', this.createToolbar, this);
82
+ this.on('toolbar:create:main-video-playlist', this.createToolbar, this);
83
+ this.on('toolbar:create:featured-image', this.featuredImageToolbar, this);
84
+ this.on('toolbar:create:main-embed', this.mainEmbedToolbar, this);
85
+
86
+ handlers = {
87
+ menu: {
88
+ 'default': 'mainMenu',
89
+ 'gallery': 'galleryMenu',
90
+ 'playlist': 'playlistMenu',
91
+ 'video-playlist': 'videoPlaylistMenu'
92
+ },
93
+
94
+ content: {
95
+ 'embed': 'embedContent',
96
+ 'edit-image': 'editImageContent',
97
+ 'edit-selection': 'editSelectionContent'
98
+ },
99
+
100
+ toolbar: {
101
+ 'main-insert': 'mainInsertToolbar',
102
+ 'main-gallery': 'mainGalleryToolbar',
103
+ 'gallery-edit': 'galleryEditToolbar',
104
+ 'gallery-add': 'galleryAddToolbar',
105
+ 'main-playlist': 'mainPlaylistToolbar',
106
+ 'playlist-edit': 'playlistEditToolbar',
107
+ 'playlist-add': 'playlistAddToolbar',
108
+ 'main-video-playlist': 'mainVideoPlaylistToolbar',
109
+ 'video-playlist-edit': 'videoPlaylistEditToolbar',
110
+ 'video-playlist-add': 'videoPlaylistAddToolbar'
111
+ }
112
+ };
113
+
114
+ _.each(handlers, function(regionHandlers, region) {
115
+ _.each(regionHandlers, function(callback, handler) {
116
+ this.on(region + ':render:' + handler, this[callback], this);
117
+ }, this);
118
+ }, this);
119
+ },
120
+
121
+ browseRouter: function(view) {
122
+ view.set({
123
+ upload: {
124
+ text: l10n.uploadFilesTitle,
125
+ priority: 20
126
+ },
127
+ browse: {
128
+ text: l10n.mediaLibraryTitle,
129
+ priority: 40
130
+ },
131
+ dreamstime: {
132
+ text: 'Dreamstime',
133
+ priority: 60
134
+ },
135
+ apt: {
136
+ text: 'Auto Post thumbnails',
137
+ priority: 70
138
+ }
139
+ });
140
+ },
141
+
142
+ dreamstimeContent: function(content) {
143
+ this.$el.removeClass('hide-toolbar');
144
+ this.state().set('src', dreamstimeIframeSrc); //set in Dreamstime::loadCssJs with wp_localize_script()
145
+ content.view = new wp.media.view.Iframe({
146
+ controller: this
147
+ });
148
+ },
149
+ aptContent: function(content) {
150
+ this.$el.removeClass('hide-toolbar');
151
+ this.state().set('src', apt_media_iframe.src); //set in Dreamstime::loadCssJs with wp_localize_script()
152
+ content.view = new wp.media.view.Iframe({
153
+ controller: this
154
+ });
155
+ }
156
+
157
+ });
158
+
159
+ }(jQuery));
160
+
161
+ window.cvapt_media_refresh = window.cvapt_media_refresh || function() {
162
+ wp.media.frame.content.mode('browse');
163
+ wp.media.frame.content.get().collection.props.set({ignore: (+new Date())});
164
+ }
165
+
admin/assets/js/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
admin/assets/js/license-manager.js ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Этот файл содержит скрипт исполняелся во время процедур с формой лицензирования.
3
+ * Его основная роль отправка ajax запросов на проверку, активацию, деактивацию лицензии
4
+ * и вывод уведомлений об ошибка или успешно выполнении проверок.
5
+ *
6
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
7
+ * @copyright (c) 05.10.2018, Webcraftic
8
+ * @version 1.1
9
+ * @since 1.4.0
10
+ */
11
+
12
+
13
+ jQuery(function ($) {
14
+
15
+ $(document).on('click', '.wapt-control-btn', function () {
16
+
17
+ $('.wapt-control-btn').hide();
18
+
19
+ var wrapper = $('#wapt-license-wrapper'),
20
+ loader = wrapper.data('loader');
21
+
22
+ $(this).after('<img class="wapt-loader" src="' + loader + '">');
23
+
24
+ var data = {
25
+ action: 'wapt_check_license',
26
+ _wpnonce: $('#_wpnonce').val(),
27
+ license_action: $(this).data('action'),
28
+ licensekey: ''
29
+ };
30
+
31
+ if ($(this).data('action') == 'activate') {
32
+ data.licensekey = $('#license-key').val();
33
+ }
34
+
35
+ $.ajax(ajaxurl, {
36
+ type: 'post',
37
+ dataType: 'json',
38
+ data: data,
39
+ success: function (response) {
40
+ var noticeId;
41
+
42
+ if (!response || !response.success) {
43
+
44
+ $('.wapt-control-btn').show();
45
+ $('.wapt-loader').remove();
46
+
47
+ if (response.data) {
48
+ console.log(response.data.error_message);
49
+ alert('Error: [' + response.data.error_message + ']');
50
+ } else {
51
+ console.log(response);
52
+ }
53
+
54
+ return;
55
+ }
56
+
57
+ if (response.data && response.data.message) {
58
+ alert(response.data.message);
59
+
60
+ window.location.reload();
61
+ }
62
+ },
63
+ error: function (xhr, ajaxOptions, thrownError) {
64
+
65
+ $('.wapt-control-btn').show();
66
+ $('.wapt-loader').remove();
67
+
68
+ console.log(xhr.status, xhr.responseText, thrownError);
69
+
70
+ alert('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']');
71
+ }
72
+ });
73
+
74
+ return false;
75
+ });
76
+
77
+ });
admin/assets/js/media-views.js ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($) {
2
+ var l10n = wp.media.view.l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
3
+
4
+ wp.media.view.MediaFrame.Select = wp.media.view.MediaFrame.Select.extend({
5
+
6
+ bindHandlers: function() {
7
+ this.on('router:create:browse', this.createRouter, this);
8
+ this.on('router:render:browse', this.browseRouter, this);
9
+ this.on('content:create:browse', this.browseContent, this);
10
+ this.on('content:render:upload', this.uploadContent, this);
11
+ this.on('toolbar:create:select', this.createSelectToolbar, this);
12
+
13
+ this.on('content:create:apt', this.aptContent, this);
14
+ this.on('content:render:apt', this.aptContent, this);
15
+ },
16
+
17
+ browseRouter: function(view) {
18
+ view.set({
19
+ upload: {
20
+ text: l10n.uploadFilesTitle,
21
+ priority: 20
22
+ },
23
+ browse: {
24
+ text: l10n.mediaLibraryTitle,
25
+ priority: 40
26
+ },
27
+ apt: {
28
+ text: '❐ Auto Post Thumbnail',
29
+ priority: 60
30
+ }
31
+ });
32
+ },
33
+
34
+ aptContent: function(content) {
35
+ this.$el.removeClass('hide-toolbar');
36
+ this.state().set('src', apt_media_iframe.src); //set in Dreamstime::loadCssJs with wp_localize_script()
37
+ content.view = new wp.media.view.Iframe({
38
+ controller: this
39
+ });
40
+ }
41
+
42
+ });
43
+
44
+ var mediaFrameSelect = wp.media.view.MediaFrame.Select;
45
+
46
+ wp.media.view.MediaFrame.Post = wp.media.view.MediaFrame.Post.extend({
47
+
48
+ bindHandlers: function() {
49
+ var handlers, checkCounts;
50
+
51
+ mediaFrameSelect.prototype.bindHandlers.apply(this, arguments);
52
+
53
+ this.on('activate', this.activate, this);
54
+
55
+ // Only bother checking media type counts if one of the counts is zero
56
+ checkCounts = _.find(this.counts, function(type) {
57
+ return type.count === 0;
58
+ });
59
+
60
+ if( typeof checkCounts !== 'undefined' ) {
61
+ this.listenTo(wp.media.model.Attachments.all, 'change:type', this.mediaTypeCounts);
62
+ }
63
+
64
+ this.on('menu:create:gallery', this.createMenu, this);
65
+ this.on('menu:create:playlist', this.createMenu, this);
66
+ this.on('menu:create:video-playlist', this.createMenu, this);
67
+ this.on('toolbar:create:main-insert', this.createToolbar, this);
68
+ this.on('toolbar:create:main-gallery', this.createToolbar, this);
69
+ this.on('toolbar:create:main-playlist', this.createToolbar, this);
70
+ this.on('toolbar:create:main-video-playlist', this.createToolbar, this);
71
+ this.on('toolbar:create:featured-image', this.featuredImageToolbar, this);
72
+ this.on('toolbar:create:main-embed', this.mainEmbedToolbar, this);
73
+
74
+ handlers = {
75
+ menu: {
76
+ 'default': 'mainMenu',
77
+ 'gallery': 'galleryMenu',
78
+ 'playlist': 'playlistMenu',
79
+ 'video-playlist': 'videoPlaylistMenu'
80
+ },
81
+
82
+ content: {
83
+ 'embed': 'embedContent',
84
+ 'edit-image': 'editImageContent',
85
+ 'edit-selection': 'editSelectionContent'
86
+ },
87
+
88
+ toolbar: {
89
+ 'main-insert': 'mainInsertToolbar',
90
+ 'main-gallery': 'mainGalleryToolbar',
91
+ 'gallery-edit': 'galleryEditToolbar',
92
+ 'gallery-add': 'galleryAddToolbar',
93
+ 'main-playlist': 'mainPlaylistToolbar',
94
+ 'playlist-edit': 'playlistEditToolbar',
95
+ 'playlist-add': 'playlistAddToolbar',
96
+ 'main-video-playlist': 'mainVideoPlaylistToolbar',
97
+ 'video-playlist-edit': 'videoPlaylistEditToolbar',
98
+ 'video-playlist-add': 'videoPlaylistAddToolbar'
99
+ }
100
+ };
101
+
102
+ _.each(handlers, function(regionHandlers, region) {
103
+ _.each(regionHandlers, function(callback, handler) {
104
+ this.on(region + ':render:' + handler, this[callback], this);
105
+ }, this);
106
+ }, this);
107
+ },
108
+
109
+ browseRouter: function(view) {
110
+ view.set({
111
+ upload: {
112
+ text: l10n.uploadFilesTitle,
113
+ priority: 20
114
+ },
115
+ browse: {
116
+ text: l10n.mediaLibraryTitle,
117
+ priority: 40
118
+ },
119
+ apt: {
120
+ text: '❐ Auto Post Thumbnail',
121
+ priority: 60
122
+ }
123
+ });
124
+ },
125
+
126
+ aptContent: function(content) {
127
+ this.$el.removeClass('hide-toolbar');
128
+ this.state().set('src', apt_media_iframe.src); //set in Dreamstime::loadCssJs with wp_localize_script()
129
+ content.view = new wp.media.view.Iframe({
130
+ controller: this
131
+ });
132
+ }
133
+
134
+ });
135
+
136
+ }(jQuery));
137
+
138
+ window.cvapt_media_refresh = window.cvapt_media_refresh || function() {
139
+ wp.media.frame.content.mode('browse');
140
+ wp.media.frame.content.get().collection.props.set({ignore: (+new Date())});
141
+ }
admin/class-wapt-activation.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class of activation/deactivation of the plugin. Must be registered in file includes/class.plugin.php
4
+ *
5
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
6
+ * @copyright (c) 02.12.2018, Webcraftic
7
+ * @see Wbcr_Factory421_Activator
8
+ *
9
+ * @version 1.0.1
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ class WAPT_Activation extends Wbcr_Factory421_Activator {
18
+
19
+ /**
20
+ * Method is executed during the activation of the plugin.
21
+ *
22
+ * @since 1.0.0
23
+ */
24
+ public function activate() {
25
+ // Code to be executed during plugin activation
26
+ }
27
+
28
+ /**
29
+ * The method is executed during the deactivation of the plugin.
30
+ *
31
+ * @since 1.0.0
32
+ */
33
+ public function deactivate() {
34
+ $apt_ds = WAPT_Plugin::app()->getOption( 'delete_settings', false);
35
+
36
+ if ( $apt_ds ) {
37
+ // remove plugin options
38
+ global $wpdb;
39
+ $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wbcr_apt_%';" );
40
+ }
41
+ }
42
+ }
43
+
44
+
admin/class-wapt-page.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class of plugin page. Must be registered in file admin/class-prefix-page.php
4
+ *
5
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
6
+ * @copyright (c) 02.12.2018, Webcraftic
7
+ * @see Wbcr_FactoryPages421_AdminPage
8
+ *
9
+ * @version 1.0.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ class WAPT_Page extends Wbcr_FactoryPages421_AdminPage {
18
+
19
+ /**
20
+ * Name of the template to get content of. It will be based on plugins /admin/views/ dir.
21
+ * /admin/views/tab-{$template_name}.php
22
+ *
23
+ * @var string
24
+ */
25
+ public $template_name = "main";
26
+
27
+ /**
28
+ * Render and return content of the template.
29
+ * /admin/views/tab-{$template_name}.php
30
+ *
31
+ * @return mixed Content of the page
32
+ */
33
+ public function render ($name = '') {
34
+ if($name == '') $name = $this->template_name;
35
+ ob_start();
36
+ if ( is_callable( $name ) ) {
37
+ echo call_user_func( $name );
38
+ } elseif ( strpos( $name, DIRECTORY_SEPARATOR ) !== false && ( is_file( $name ) || is_file( $name . '.php' ) ) ) {
39
+ if ( is_file( $name ) ) {
40
+ $path = $name;
41
+ } else {
42
+ $path = $name . '.php';
43
+ }
44
+ } else {
45
+ $path = WAPT_PLUGIN_DIR . "/admin/views/tab-{$name}.php";
46
+ }
47
+ if ( ! is_file( $path ) ) {
48
+ return '';
49
+ }
50
+ include $path;
51
+ $content = ob_get_contents();
52
+ ob_end_clean();
53
+
54
+ return $content;
55
+ }
56
+
57
+ public function assets( $scripts, $styles ) {
58
+ $this->scripts->request( 'jquery' );
59
+
60
+ $this->scripts->request( [
61
+ 'control.checkbox',
62
+ 'control.dropdown'
63
+ ], 'bootstrap' );
64
+
65
+ $this->styles->request( [
66
+ 'bootstrap.core',
67
+ 'bootstrap.form-group',
68
+ 'bootstrap.separator',
69
+ 'control.dropdown',
70
+ 'control.checkbox',
71
+ ], 'bootstrap' );
72
+ }
73
+
74
+ /**
75
+ * Show rendered template - $template_name
76
+ */
77
+ public function indexAction()
78
+ {
79
+ echo $this->render();
80
+ }
81
+
82
+ }
83
+
84
+
admin/pages/about.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ require_once WAPT_PLUGIN_DIR . '/admin/class-wapt-page.php';
9
+
10
+ /**
11
+ * The page Settings.
12
+ *
13
+ * @since 1.0.0
14
+ */
15
+ class WAPT_About extends WAPT_Page {
16
+
17
+ /**
18
+ * Тип страницы
19
+ * options - предназначена для создании страниц с набором опций и настроек.
20
+ * page - произвольный контент, любой html код
21
+ *
22
+ * @var string
23
+ */
24
+ public $type = 'page';
25
+
26
+ /**
27
+ * Menu icon (only if a page is placed as a main menu).
28
+ * For example: '~/assets/img/menu-icon.png'
29
+ * For example dashicons: '\f321'
30
+ * @var string
31
+ */
32
+ public $menu_icon = '';
33
+
34
+ /**
35
+ * @var string
36
+ */
37
+ public $page_menu_dashicon;
38
+
39
+ /**
40
+ * @param WAPT_Plugin $plugin
41
+ */
42
+ public function __construct( $plugin ) {
43
+ $this->id = "wapt_about";
44
+ $this->menu_target= $plugin->getPrefix()."generate-".$plugin->getPluginName();
45
+ $this->page_title = __( 'About APT', 'apt' );
46
+ $this->menu_title = __( 'About', 'apt' );
47
+ $this->template_name = "about";
48
+
49
+ parent::__construct( $plugin );
50
+
51
+ $this->plugin = $plugin;
52
+ }
53
+ }
admin/pages/generate.php ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ require_once WAPT_PLUGIN_DIR . '/admin/class-wapt-page.php';
9
+
10
+ /**
11
+ * The page Settings.
12
+ *
13
+ * @since 1.0.0
14
+ */
15
+ class WAPT_Generate extends WAPT_Page {
16
+
17
+ /**
18
+ * The id of the page in the admin menu.
19
+ *
20
+ * Mainly used to navigate between pages.
21
+ *
22
+ * @since 1.0.0
23
+ * @see FactoryPages421_AdminPage
24
+ *
25
+ * @var string
26
+ */
27
+ public $id;
28
+
29
+ /**
30
+ * Menu icon (only if a page is placed as a main menu).
31
+ * For example: '~/assets/img/menu-icon.png'
32
+ * For example dashicons: '\f321'
33
+ * @var string
34
+ */
35
+ public $menu_icon;
36
+
37
+ /**
38
+ * @var string
39
+ */
40
+ public $page_menu_dashicon = 'dashicons-performance';
41
+
42
+ /**
43
+ * Menu position (only if a page is placed as a main menu).
44
+ * @link http://codex.wordpress.org/Function_Reference/add_menu_page
45
+ * @var string
46
+ */
47
+ public $menu_position = 58;
48
+
49
+ /**
50
+ * Menu type. Set it to add the page to the specified type menu.
51
+ * For example: 'post'
52
+ * @var string
53
+ */
54
+ public $menu_post_type = null;
55
+
56
+ /**
57
+ * Visible page title.
58
+ * For example: 'License Manager'
59
+ * @var string
60
+ */
61
+ public $page_title;
62
+
63
+ /**
64
+ * Visible title in menu.
65
+ * For example: 'License Manager'
66
+ * @var string
67
+ */
68
+ public $menu_title;
69
+
70
+ /**
71
+ * If set, an extra sub menu will be created with another title.
72
+ * @var string
73
+ */
74
+ public $menu_sub_title;
75
+
76
+ /**
77
+ *
78
+ * @var
79
+ */
80
+ public $page_menu_short_description;
81
+
82
+ /**
83
+ * Заголовок страницы, также использует в меню, как название закладки
84
+ *
85
+ * @var bool
86
+ */
87
+ public $show_page_title = true;
88
+
89
+ /**
90
+ * @var int
91
+ */
92
+ public $page_menu_position = 20;
93
+
94
+
95
+ /**
96
+ * @param WAPT_Plugin $plugin
97
+ */
98
+ public function __construct( $plugin ) {
99
+ $this->id = $plugin->getPrefix()."generate";
100
+ $this->menu_title = __( 'Auto Post Thumbnail', 'apt' );
101
+ $this->menu_sub_title = __( 'Generate featured images', 'apt' );;
102
+ $this->menu_icon = WAPT_PLUGIN_URL . '/admin/assets/img/apt.png';
103
+ $this->template_name = "main";
104
+
105
+ parent::__construct( $plugin );
106
+
107
+ $this->plugin = $plugin;
108
+ }
109
+
110
+
111
+ }
admin/pages/license.php ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ /**
9
+ * Class WAPT_License_Page is used as template to display form to active premium functionality.
10
+ *
11
+ * @since 2.0.7
12
+ */
13
+ class WAPT_License extends WAPT_Page {
14
+
15
+ /**
16
+ * {@inheritdoc}
17
+ */
18
+ public $type = "page";
19
+
20
+ /**
21
+ * {@inheritdoc}
22
+ */
23
+ public $page_menu_dashicon = 'dashicons-admin-network';
24
+
25
+ /**
26
+ * {@inheritdoc}
27
+ */
28
+ public $show_right_sidebar_in_options = false;
29
+
30
+ /**
31
+ * {@inheritdoc}
32
+ */
33
+ public $page_menu_position = 0;
34
+
35
+ /**
36
+ * {@inheritdoc}
37
+ */
38
+ public $available_for_multisite = true;
39
+
40
+ /**
41
+ * @var string Name of the paid plan.
42
+ */
43
+ public $plan_name;
44
+
45
+ // PREMIUM SECTION
46
+ // ------------------------------------------------------------------
47
+ /**
48
+ * @since 2.0.7
49
+ * @var bool
50
+ */
51
+ protected $is_premium;
52
+
53
+ /**
54
+ * @since 2.0.7
55
+ * @var \WBCR\Factory_413\Premium\Provider
56
+ */
57
+ protected $premium;
58
+
59
+ /**
60
+ * @since 2.0.7
61
+ * @var bool
62
+ */
63
+ protected $is_premium_active;
64
+
65
+ /**
66
+ * @since 2.0.7
67
+ * @var bool
68
+ */
69
+ protected $premium_has_subscription;
70
+
71
+ /**
72
+ * @since 2.0.7
73
+ * @var \WBCR\Factory_413\Premium\Interfaces\License
74
+ */
75
+ protected $premium_license;
76
+
77
+ // END PREMIUM SECTION
78
+ // ------------------------------------------------------------------
79
+
80
+ /**
81
+ * {@inheritdoc}
82
+ * @param Wbcr_Factory421_Plugin $plugin
83
+ */
84
+ public function __construct ( Wbcr_Factory421_Plugin $plugin ) {
85
+ $this->plugin = $plugin;
86
+
87
+ parent::__construct( $plugin );
88
+
89
+ $this->id = 'license';
90
+ $this->menu_title = __( 'License', 'insert-php' );
91
+ $this->page_title = __( 'License of APT', 'apt' );
92
+ $this->template_name = "license";
93
+ $this->menu_target= $plugin->getPrefix()."generate-".$plugin->getPluginName();
94
+ $this->capabilitiy = "manage_options";
95
+
96
+ $this->premium = WAPT_Plugin::app()->premium;
97
+ $this->is_premium = $this->premium->is_activate();
98
+ $this->is_premium_active = $this->premium->is_active();
99
+ $this->premium_has_subscription = $this->premium->has_paid_subscription();
100
+ $this->premium_license = $this->premium->get_license();
101
+ }
102
+
103
+ /**
104
+ * [MAGIC] Magic method that configures assets for a page.
105
+ */
106
+ public function assets ( $scripts, $styles ) {
107
+ parent::assets( $scripts, $styles );
108
+
109
+ $this->styles->add( WAPT_PLUGIN_URL . '/admin/assets/css/license-manager.css' );
110
+
111
+ $this->styles->request( array(
112
+ 'bootstrap.core',
113
+ 'bootstrap.form-groups',
114
+ 'bootstrap.separator',
115
+ ), 'bootstrap' );
116
+
117
+ $this->scripts->add( WAPT_PLUGIN_URL . '/admin/assets/js/license-manager.js' );
118
+ }
119
+
120
+ /**
121
+ * Get before content.
122
+ *
123
+ * @return string Before content.
124
+ */
125
+ protected function get_plan_description () {
126
+ return '';
127
+ }
128
+
129
+ /**
130
+ * @return string
131
+ */
132
+ protected function get_hidden_license_key () {
133
+ if ( ! $this->is_premium ) {
134
+ return '';
135
+ }
136
+
137
+ return $this->premium_license->get_hidden_key();
138
+ }
139
+
140
+ /**
141
+ * @return string
142
+ */
143
+ protected function get_plan () {
144
+ if ( ! $this->is_premium ) {
145
+ return 'free';
146
+ }
147
+
148
+ return $this->premium->get_plan();
149
+ }
150
+
151
+ /**
152
+ * @return mixed
153
+ */
154
+ protected function get_expiration_days () {
155
+ return $this->premium_license->get_expiration_time( 'days' );
156
+ }
157
+
158
+ /**
159
+ * @return string
160
+ */
161
+ protected function get_billing_cycle_readable () {
162
+ if ( ! $this->is_premium ) {
163
+ return '';
164
+ }
165
+
166
+ $billing_cycle = $this->premium->get_billing_cycle();
167
+ $billing = 'lifetime';
168
+
169
+ if ( 1 == $billing_cycle ) {
170
+ $billing = 'month';
171
+ } else if ( 12 == $billing_cycle ) {
172
+ $billing = 'year';
173
+ }
174
+
175
+ return $billing;
176
+ }
177
+
178
+ /**
179
+ * Тип лицензии, цветовое оформление для формы лицензирования
180
+ * free - бесплатная
181
+ * gift - пожизненная лицензия, лицензия на особых условиях
182
+ * trial - красный цвет, применяется для триалов, если лиценизия истекла или заблокирована
183
+ * paid - обычная оплаченная лицензия, в данный момент активна.
184
+ *
185
+ * @return string
186
+ */
187
+ protected function get_license_type () {
188
+ if ( ! $this->is_premium ) {
189
+ return 'free';
190
+ }
191
+
192
+ $license = $this->premium_license;
193
+
194
+ if ( $license->is_lifetime() ) {
195
+ return 'gift';
196
+ } else if ( $license->get_expiration_time( 'days' ) < 1 ) {
197
+ return 'trial';
198
+ }
199
+
200
+ return 'paid';
201
+ }
202
+ }
admin/pages/settings.php ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ require_once WAPT_PLUGIN_DIR . '/admin/class-wapt-page.php';
9
+
10
+ /**
11
+ * The page Settings.
12
+ *
13
+ * @since 1.0.0
14
+ */
15
+ class WAPT_Settings extends WAPT_Page {
16
+
17
+ /**
18
+ * Тип страницы
19
+ * options - предназначена для создании страниц с набором опций и настроек.
20
+ * page - произвольный контент, любой html код
21
+ *
22
+ * @var string
23
+ */
24
+ public $type = 'options';
25
+
26
+ /**
27
+ * Menu icon (only if a page is placed as a main menu).
28
+ * For example: '~/assets/img/menu-icon.png'
29
+ * For example dashicons: '\f321'
30
+ *
31
+ * @var string
32
+ */
33
+ public $menu_icon = '';
34
+
35
+ /**
36
+ * @var string
37
+ */
38
+ public $page_menu_dashicon = '';
39
+
40
+ /**
41
+ * @param WAPT_Plugin $plugin
42
+ */
43
+ public function __construct( $plugin ) {
44
+ $this->id = "wapt_settings";
45
+ $this->menu_target = $plugin->getPrefix() . "generate-" . $plugin->getPluginName();
46
+ $this->page_title = __( 'Settings of APT', 'apt' );
47
+ $this->menu_title = __( 'Settings', 'apt' );
48
+ $this->capabilitiy = "manage_options";
49
+ $this->template_name = "settings";
50
+
51
+ parent::__construct( $plugin );
52
+
53
+ $this->plugin = $plugin;
54
+ }
55
+
56
+ /**
57
+ * Returns options for the Basic Settings screen.
58
+ *
59
+ * @since 1.0.0
60
+ * @return array
61
+ */
62
+ public function getOptions() {
63
+
64
+ $options = [];
65
+
66
+ $options[] = [
67
+ 'type' => 'html',
68
+ 'html' => '<h3 style="margin-left:0">General</h3>'
69
+ ];
70
+
71
+ $options[] = [
72
+ 'type' => 'separator'
73
+ ];
74
+
75
+ $options[] = [
76
+ 'type' => 'checkbox',
77
+ 'way' => 'buttons',
78
+ 'name' => 'auto_generation',
79
+ 'title' => __( 'Enable automatic post thumbnail generation', 'apt' ),
80
+ 'default' => false,
81
+ 'hint' => __( 'Enable automatic post thumbnail generation', 'apt' )
82
+ ];
83
+
84
+ $options[] = [
85
+ 'type' => 'checkbox',
86
+ 'way' => 'buttons',
87
+ 'name' => 'delete_settings',
88
+ 'title' => __( 'Delete settings when removing the plugin', 'apt' ),
89
+ 'default' => false,
90
+ 'hint' => __( 'Delete settings when removing the plugin', 'apt' )
91
+ ];
92
+ /* GOOGLE */
93
+ $options[] = [
94
+ 'type' => 'html',
95
+ 'html' => '<h3 style="margin-left:0">Google API</h3><p><a href="https://www.youtube.com/watch?v=Bxy8Yqp5XX0" target="_blank" rel="noopener">' . __( 'How to get google api key & custom search engine id', 'apt' ) . '</a></p>'
96
+ ];
97
+
98
+ $options[] = [
99
+ 'type' => 'separator'
100
+ ];
101
+
102
+ // Текстовое поле
103
+ $options[] = [
104
+ 'type' => 'textbox',
105
+ 'name' => 'google_apikey',
106
+ 'title' => __( 'API key for Google', 'apt' ),
107
+ 'hint' => __( 'You can get API key after registration on the site' ) . ' <a href="https://developers.google.com/custom-search/v1/overview" target="_blank" rel="noopener">https://developers.google.com/custom-search/v1/overview</a>',
108
+ 'default' => ''
109
+ ];
110
+
111
+ $options[] = [
112
+ 'type' => 'textbox',
113
+ 'name' => 'google_cse',
114
+ 'title' => __( 'Google Custom Search Engine ID', 'apt' ),
115
+ 'hint' => __( 'You can get API key after registration on the site', 'apt' ) . ' <a href="https://cse.google.com/cse/all" target="_blank" rel="noopener">https://cse.google.com/cse/all</a>',
116
+ 'default' => ''
117
+ ];
118
+
119
+ $options = apply_filters( 'wapt/settings/form_options', $options );
120
+
121
+ $options[] = [
122
+ 'type' => 'separator'
123
+ ];
124
+
125
+ return $options;
126
+ }
127
+
128
+ public function indexAction() {
129
+
130
+ // creating a form
131
+ global $form;
132
+ $form = new Wbcr_FactoryForms419_Form( [
133
+ 'scope' => substr( $this->plugin->getPrefix(), 0, - 1 ),
134
+ 'name' => 'setting'
135
+ ], $this->plugin );
136
+
137
+ $form->setProvider( new Wbcr_FactoryForms419_OptionsValueProvider( $this->plugin ) );
138
+
139
+ $form->add( $this->getOptions() );
140
+
141
+ $wapt_saved = WAPT_Plugin::app()->request->post( $this->plugin->getPrefix() . 'saved', '' );
142
+ if ( ! empty( $wapt_saved ) ) {
143
+ $wapt_nonce = WAPT_Plugin::app()->request->post( $this->plugin->getPrefix() . 'nonce', '' );
144
+ if ( ! wp_verify_nonce( $wapt_nonce, $this->plugin->getPrefix() . 'settings_form' ) ) {
145
+ wp_die( 'Permission error. You can not edit this page.' );
146
+ }
147
+ $form->save();
148
+
149
+ do_action( 'wapt/settings/after_form_save' );
150
+ }
151
+
152
+ parent::indexAction();
153
+ }
154
+ }
admin/views/media-library.php ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $ajaxloader = WAPT_PLUGIN_URL."/admin/assets/img/ajax-loader-line.gif";
3
+ $apt_content_nonce = wp_create_nonce( 'apt_content' );
4
+ ?>
5
+
6
+ <div class="tabs">
7
+ <ul>
8
+ <?php $i = 1;
9
+ foreach($this->sources as $src => $slug) {
10
+ $is_pro = "";
11
+ if(empty($slug) && ! WAPT_Plugin::app()->premium->is_activate()) $is_pro = " (PRO)";
12
+ $is_pro = "<sup class='wapt-sup-pro'>".$is_pro."</sup>";
13
+
14
+ echo "<li id='tabs-".$i++."'>".strtoupper($src).$is_pro."</li>";
15
+ }?>
16
+ </ul>
17
+ <div id='ajaxloader' style='display:none;'><img src='<?php echo $ajaxloader;?>' width='150px' alt=''></div>
18
+ <div id="media-frame-content">
19
+ <?php foreach($this->sources as $src => $slug) {
20
+ echo "<div id='tab-".strtolower($src)."' class='tab'></div>";
21
+ }?>
22
+ </div>
23
+ </div>
24
+
25
+ <style>
26
+ sup
27
+ {
28
+ font-size: 10px;
29
+ }
30
+ .tabs{
31
+ display:inline-block;
32
+ width: 100%;
33
+ margin: 5px 0px 10px 0px;
34
+ }
35
+ .tabs > div{
36
+ padding-top:10px;
37
+ }
38
+ .tabs ul {
39
+ margin: 0px;
40
+ padding: 0px;
41
+ }
42
+
43
+ .tabs ul:after{
44
+ content:"";
45
+ display:block;
46
+ clear:both;
47
+ height:1px;
48
+ background:#008ec2;
49
+ }
50
+ .tabs ul li{
51
+ padding: 0px;
52
+ cursor: pointer;
53
+ display: block;
54
+ float: left;
55
+ padding: 10px 0px;
56
+ background: #f1f1f1;
57
+ color: #0073aa;
58
+ width: 15%;
59
+ border-radius: 10px 10px 0px 0px;
60
+ font-weight: bold;
61
+ text-align: center;
62
+ }
63
+ .tabs ul li.active, .tabs ul li.active:hover{
64
+ background:#008ec2;
65
+ color: #ffffff;
66
+ width: 15%;
67
+ }
68
+ .tabs ul li:hover{
69
+ background:#008ec2;
70
+ color: #dddddd;
71
+ }
72
+ .tabs li{
73
+ margin-bottom: 0;
74
+ }
75
+ .tab
76
+ {
77
+ padding: 10px;
78
+ }
79
+ #ajaxloader
80
+ {
81
+ margin: 20px 10px 10px 30px;
82
+ }
83
+ #page_num_div
84
+ {
85
+ display: inline;
86
+ font-weight: bold;
87
+ padding: 20px;
88
+ }
89
+ .apt_pages
90
+ {
91
+ padding-top: 20px;
92
+ }
93
+ .divform
94
+ {
95
+ line-height:1.5;margin:1em 0;max-width:500px;position:relative;
96
+ }
97
+ .input_query
98
+ {
99
+ width:100%;padding:7px 32px 7px 9px;
100
+ }
101
+ .submit_button
102
+ {
103
+ height:90%;width:70px;border:0;cursor:pointer;position:absolute;right:0px;top:2px;outline:0;
104
+ }
105
+ .custom-media-button
106
+ {
107
+ float: right;
108
+ padding: 0px 20px 20px 0px;
109
+ position: absolute;
110
+ right: 0px;
111
+ }
112
+ </style>
113
+ <script type="text/javascript">
114
+ jQuery(document).ready(function() {
115
+ jQuery.fn.lightTabs = function(options){
116
+
117
+ var createTabs = function(){
118
+ tabs = this;
119
+ i = 0;
120
+
121
+ showPage = function(i){
122
+ jQuery(tabs).children("div").children("div").hide();
123
+ jQuery(tabs).children("ul").children("li").removeClass("active");
124
+ jQuery( '#'+jQuery(tabs).children("div").children("div").attr('id')).html( '' );
125
+
126
+ jQuery( '#'+jQuery(tabs).children("div").children("div").eq(i).attr('id')).html( '' );
127
+ jQuery(tabs).children("div").children("div").eq(i).show();
128
+ jQuery(tabs).children("ul").children("li").eq(i).addClass("active");
129
+
130
+ jQuery('#ajaxloader').show();
131
+ jQuery.post(ajaxurl, {
132
+ action: 'source_content',
133
+ source: jQuery(tabs).children("div").children("div").eq(i).attr('id'),
134
+ wpnonce: '<?php echo $apt_content_nonce; ?>',
135
+ }).done(function (content) {
136
+ jQuery('#ajaxloader').hide();
137
+ jQuery( '#'+jQuery(tabs).children("div").children("div").eq(i).attr('id')).html( content );
138
+ });
139
+
140
+ };
141
+
142
+ showPage(0);
143
+
144
+ jQuery(tabs).children("ul").children("li").each(function(index, element){
145
+ jQuery(element).attr("data-page", i);
146
+ i++;
147
+ });
148
+
149
+ jQuery(tabs).children("ul").children("li").click(function(){
150
+ showPage(parseInt(jQuery(this).attr("data-page")));
151
+ });
152
+ };
153
+ return this.each(createTabs);
154
+ };
155
+ jQuery(".tabs").lightTabs();
156
+ });
157
+ </script>
admin/views/pro.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if(!WAPT_Plugin::app()->premium->is_activate())
3
+ {
4
+ echo __( "This service available in the PRO version" );
5
+ ?>
6
+ <a href="<?php echo WAPT_Plugin::app()->get_support()->get_pricing_url( true, 'license_page' ); ?>"
7
+ class="purchase-premium" target="_blank" rel="noopener">
8
+ <span class="btn btn-gold">
9
+ <?php printf( __( 'Upgrade to Premium for $%s', 'insert-php' ), WAPT_Plugin::app()->premium->get_price() ) ?>
10
+ </span><br>
11
+ </a>
12
+ <?php
13
+ }
14
+ if(empty($slug) && WAPT_Plugin::app()->premium->is_activate())
15
+ {
16
+ echo __( "You have activated a premium license, but not install premium add-on to use pro features now." );
17
+ }
18
+
19
+ ?>
admin/views/pro_column.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ echo __( "Thumbnails of posts available in the PRO version" );
3
+ ?>
4
+ <a href="<?php echo WAPT_Plugin::app()->get_support()->get_pricing_url( true, 'license_page' ); ?>"
5
+ class="purchase-premium" target="_blank" rel="noopener">
6
+ <span class="btn btn-gold">
7
+ <?php printf( __( 'Upgrade to Premium for $%s', 'insert-php' ), WAPT_Plugin::app()->premium->get_price() ) ?>
8
+ </span>
9
+ </a>
10
+
admin/views/sources/google.php ADDED
@@ -0,0 +1,167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php $ajaxloader = WAPT_PLUGIN_URL."/admin/assets/img/ajax-loader-line.gif";
2
+ $apt_google_nonce = wp_create_nonce( 'apt_upload' );
3
+
4
+ $apt_google_key = WAPT_Plugin::app()->getOption('google_apikey');
5
+ $apt_google_cse = WAPT_Plugin::app()->getOption('google_cse');
6
+
7
+ if(isset($_REQUEST['post'])) $pid = $_REQUEST['post'];
8
+ else $pid = 0;
9
+
10
+ if($apt_google_key && $apt_google_cse)
11
+ {
12
+ ?>
13
+ <script type="text/javascript">
14
+ var thisModal = window.parent.window.parent.window.wp.media.frame;
15
+ var API_KEY = '<?php echo $apt_google_key;?>';
16
+ var CSE = '<?php echo $apt_google_cse;?>';
17
+ function call_api(query, page = 1) {
18
+ if (page < 1) page = 1; //защита
19
+ var start = ((page-1)*10) + 1;
20
+ var URL = "https://www.googleapis.com/customsearch/v1?searchType=image&start="+start+"&q=" + encodeURIComponent(query) + "&key=" + API_KEY + "&cx=" + CSE;
21
+
22
+ jQuery.getJSON(URL, function (data) {
23
+ if (!parseInt(data.searchInformation.totalResults) > 0) {
24
+ jQuery('#loader_flex').hide();
25
+ jQuery('#page_num_div').hide();
26
+ jQuery('#prev_page').hide();
27
+ jQuery('#next_page').hide();
28
+ jQuery('#google_results').html('<?php echo __( 'No hits', 'apt' ); ?>');
29
+ return false;
30
+ }
31
+ show_images(data, page);
32
+ });
33
+ }
34
+
35
+ function show_images(data, page) {
36
+ var s = '';
37
+ var totalhits = data.searchInformation.totalResults;
38
+ jQuery.each(data.items, function (k, v) {
39
+ descr = v.title;
40
+ if(!descr) descr = "google_image";
41
+ s += '<div class="item upload_google" ' +
42
+ 'data-service="google" ' +
43
+ 'data-title="'+ descr +'" ' +
44
+ 'data-url="' + v.link +'" '+
45
+ 'data-link="' + v.image.contextLink + '" ' +
46
+ 'data-w="' + v.image.width + '" ' +
47
+ 'data-h="' + v.image.height + '">' +
48
+ '<img src="' + v.image.thumbnailLink + '">' +
49
+ '<div class="download"><img src="<?php echo WAPT_PLUGIN_URL . '/admin/assets/img/download.svg' ?>">' +
50
+ '<div>' + v.image.width + '×' + v.image.height + '<br>' +
51
+ '<a href="'+ v.image.contextLink +'" target="_blank">'+descr.substr(0,15)+'</a>' +
52
+ '</div>' +
53
+ '</div>' +
54
+ '</div>';
55
+ //console.log(v.urls.regular);
56
+ });
57
+ jQuery('#google_results').html(jQuery('#google_results').html() + s);
58
+ jQuery('.flex-images').flexImages({rowHeight: 160});
59
+ jQuery('#loader_flex').hide();
60
+
61
+ if (page > 1) jQuery('#prev_page').show();
62
+ else jQuery('#prev_page').hide();
63
+ if (page < parseInt(totalhits, 10) / 20) jQuery('#next_page').show();
64
+
65
+ jQuery('#page_num_div').html(page);
66
+ jQuery('#page_num_div').show();
67
+ }
68
+
69
+ function do_submit() {
70
+ jQuery('#loader_flex').show();
71
+ q = jQuery('#query', form).val();
72
+ p = jQuery('#page_num', form).val();
73
+
74
+ jQuery('#google_results').html('');
75
+ call_api(q, p);
76
+ }
77
+
78
+ jQuery('#prev_page').click(function (e) {
79
+ jQuery('#page_num', form).val(parseInt(jQuery('#page_num', form).val(), 10) - 1);
80
+ do_submit();
81
+ });
82
+ jQuery('#next_page').click(function (e) {
83
+ jQuery('#page_num', form).val(parseInt(jQuery('#page_num', form).val(), 10) + 1);
84
+ do_submit();
85
+ });
86
+
87
+ //Кнопка поиска
88
+ jQuery(document).ready(function () {
89
+ form = jQuery('#google_images_form');
90
+
91
+ form.submit(function (e) {
92
+ e.preventDefault();
93
+ do_submit();
94
+ });
95
+ });
96
+
97
+ //загрузка в медиабиблиотеку
98
+ jQuery(document).on('click', '.upload_google', function (e) {
99
+ if (jQuery(e.target).is('a')) return;
100
+ //jQuery(document).off('click', '.upload_google');
101
+ // loading animation
102
+ var downdiv = jQuery(this);
103
+ downdiv.addClass('uploading').find('.download img').replaceWith('<img src="<?php echo WAPT_PLUGIN_URL . '/admin/assets/img/loading.svg' ?>" style="height:80px !important">');
104
+ jQuery.post(ajaxurl,
105
+ {
106
+ action: 'upload_to_library',
107
+ is_upload: "1",
108
+ service: jQuery(this).data('service'),
109
+ image_url: jQuery(this).data('url'),
110
+ image_user: jQuery(this).data('user'),
111
+ q: q,
112
+ postid: <?php echo $pid;?>,
113
+ title: jQuery(this).data('title'),
114
+ excerpt: '<a href="'+ jQuery(this).data('link') +'" target="_blank">'+jQuery(this).data('title')+'</a>',
115
+ wpnonce: '<?php echo $apt_google_nonce; ?>'
116
+ },
117
+ function (data) {
118
+ if (parseInt(data) == data)
119
+ {
120
+ downdiv.removeClass('uploading').find('.download img').replaceWith('DOWNLOADED');
121
+ downdiv.removeClass('upload_google');
122
+ jQuery('#apt-button-next').prop('disabled',false);
123
+
124
+ if(window.cvapt_media_refresh !== undefined) {
125
+ window.parent.window.cvapt_media_refresh();
126
+ }
127
+ }
128
+ else
129
+ {
130
+ alert(data);
131
+ downdiv.removeClass('uploading').find('.download img').replaceWith('ERROR');
132
+ downdiv.removeClass('upload_google');
133
+ }
134
+ });
135
+ return false;
136
+ });
137
+ </script>
138
+
139
+ <div style="padding:10px 15px 25px">
140
+ <form id="google_images_form" style="margin:0">
141
+ <div class="divform">
142
+ <input id="query" type="text" value="" class="input_query" autofocus
143
+ placeholder="<?php echo __( 'Search...', 'apt' ); ?>">
144
+ <input id="page_num" type="hidden" value="1">
145
+ <button type="submit" class="submit_button" title="<?php echo __( 'Search', 'apt' ); ?>"><img
146
+ src="<?php echo WAPT_PLUGIN_URL . '/admin/assets/img/search.png' ?>"></button>
147
+ </div>
148
+ </form>
149
+ <div id="loader_flex" style="display: none;"><img src='<?php echo $ajaxloader; ?>' width='100px' alt=''></div>
150
+ <div id="google_results" class="flex-images"></div>
151
+ <div class="apt_pages">
152
+ <button id="prev_page" style="display: none;"><span class="dashicons dashicons-arrow-left-alt"></span> <?php echo __('Prev','apt'); ?>
153
+ </button>
154
+ <div id="page_num_div" style="display: none;"></div>
155
+ <button id="next_page" style="display: none;"><?php echo __('Next','apt'); ?> <span class="dashicons dashicons-arrow-right-alt"></span>
156
+ </button>
157
+ </div>
158
+ </div>
159
+ <?php
160
+ }
161
+ else
162
+ {
163
+ ?>
164
+ <div><?php echo __('API key is missing. Add it in APT settings','apt');?> ->
165
+ <a href="<?= admin_url('admin.php?page=wapt_settings-wbcr_apt'); ?>" target="_blank">here</a></div>
166
+ <?php
167
+ } ?>
admin/views/tab-about.php ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <style>
2
+ .apt-section-wrapper {
3
+ width: 100%;
4
+ margin-top: 10px;
5
+ padding-right: 20px;
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ .apt-section {
10
+ padding: 29px 29px 29px 29px;
11
+ }
12
+
13
+ .apt-section .container {
14
+ display: block;
15
+ margin-right: auto;
16
+ margin-left: auto;
17
+ position: relative;
18
+ max-width: 1140px;
19
+ min-height: 400px;
20
+ }
21
+
22
+ .apt-section-intro {
23
+ width: 1280px;
24
+ height: 414px;
25
+ box-shadow: 0px 0px 24px rgba(107, 107, 107, 0.5);
26
+ text-align: center;
27
+ margin: 0 auto;
28
+ padding: 0;
29
+ }
30
+
31
+ .apt-section-intro img {
32
+ width: 100%;
33
+ height: auto;
34
+ }
35
+
36
+ .apt-section-intro .container h2 {
37
+ font-size: 61px;
38
+ font-weight: 500;
39
+ text-transform: uppercase;
40
+ line-height: 1.1em;
41
+ color: #fff;
42
+ text-align: center;
43
+ }
44
+
45
+ .apt-section-intro .container p {
46
+ margin-bottom: 1.6em;
47
+ color: #fffcfc;
48
+ font-family: "Arial", Sans-serif;
49
+ font-size: 22px;
50
+ line-height: 1.3em;
51
+ letter-spacing: 1.1px;
52
+ }
53
+
54
+ .apt-section-video p {
55
+ font-size: 16px;
56
+ text-align: center;
57
+ padding: 30px;
58
+ }
59
+
60
+ .apt-section-video iframe {
61
+ margin: 0 auto;
62
+ display: block;
63
+ }
64
+
65
+ .apt-section-changelog h4 {
66
+ font-size: 1.3333333333333rem;
67
+ }
68
+
69
+ .apt-section-changelog p,
70
+ .apt-section-changelog ul > li {
71
+ font-size: 15px;
72
+ }
73
+
74
+ .apt-section-changelog ul {
75
+ list-style: inherit;
76
+ margin-left: 40px;
77
+ }
78
+
79
+ #wpfooter {
80
+ position: relative !important;
81
+ }
82
+
83
+ @media screen and (max-width: 1500px) {
84
+ .apt-section .container {
85
+ min-height: 300px;
86
+ }
87
+
88
+ .apt-section-intro {
89
+ box-sizing: border-box;
90
+ width: 100%;
91
+ min-height: auto;
92
+ height: calc(100% - 10px);
93
+ }
94
+
95
+ .apt-section-video p {
96
+ padding: 10px;
97
+ }
98
+
99
+ .apt-section-video iframe {
100
+ width: 100%;
101
+ }
102
+ }
103
+ </style>
104
+ <div class="apt-section-wrapper">
105
+ <div class="apt-section apt-section-intro">
106
+ <img src="<?php echo WAPT_PLUGIN_URL; ?>/admin/assets/img/photo_2019-09-10_11-21-14.jpg" alt="">
107
+ </div>
108
+ <section class="apt-section apt-section-video">
109
+ <div class="container">
110
+ <p><?php printf( __( 'We suppose you’ve noticed the changes which happened with <a href="%s" target="_blank" rel="noopener">Auto Post Thumbnail</a>. In this tutorial you can get more information about new features.', 'apt' ), 'https://cm-wp.com/apt/' ) ?></p>
111
+ <iframe width="800" height="441" src="https://www.youtube.com/embed/rucqKNdVQGY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
112
+ </div>
113
+ </section>
114
+ <section class="apt-section apt-section-changelog">
115
+ <div class="container">
116
+ <div>
117
+ <h4>3.4.2</h4>
118
+ <p><?php _e( 'As you’ve already noticed, we haven’t updated the plugin for more than 2 years. This new version fixes existing problems. APT becomes a fully functional plugin.', 'apt' ) ?></p>
119
+ <h4>3.5.0</h4>
120
+ <p><?php _e( 'Starting from this version, the APT plugin evolves from being an aiding tool to the full-featured search & image editing system with a Creative Commons license for your website. It means that you get:', 'apt' ) ?></p>
121
+ <ul>
122
+ <li><?php _e( 'Search and download images from Google', 'apt' ) ?></li>
123
+ <li><?php _e( 'Auto generate feature image in editor', 'apt' ) ?></li>
124
+ <li><?php _e( 'Image search through the 3 popular stock services from the plugin interface. Just enter a search query and choose an image (images) you like.', 'apt' ) ?></li>
125
+ </ul>
126
+ <h4>3.6.0</h4>
127
+ <ul>
128
+ <li><?php _e( 'Upload images from the external URL to your post or product (for Woocommerce).', 'apt' ) ?></li>
129
+ <li><?php _e( 'Compatibility with the most popular builders.', 'apt' ) ?></li>
130
+ </ul>
131
+ <h4>3.7.0</h4>
132
+ <ul>
133
+ <li><?php _e( 'Advanced APT editor. You can edit images using layers. It means that you can overlay text, logo, or mask, adjust color, brightness, and contract and use other great features. Save presets and apply them on any image in one click. The editor doesn’t replace the default WordPress editor.', 'apt' ) ?></li>
134
+ </ul>
135
+ </div>
136
+ </div>
137
+ </section>
138
+ </div>
admin/views/tab-license.php ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <div class="factory-bootstrap-422 factory-fontawesome-000">
3
+ <?php wp_nonce_field( 'license' ); ?>
4
+ <div id="wapt-license-wrapper"
5
+ data-loader="<?php echo WAPT_PLUGIN_URL . '/admin/assets/img/loader.gif'; ?>"
6
+ data-plugin="<?php echo get_class( $this->plugin ) ?>">
7
+
8
+ <div class="factory-bootstrap-413 onp-page-wrap <?php echo $this->get_license_type() ?>-license-manager-content"
9
+ id="license-manager">
10
+ <div>
11
+ <h3><?php printf( __( 'Activate %s', 'insert-php' ), $this->plan_name ) ?></h3>
12
+ <?php echo $this->get_plan_description() ?>
13
+ </div>
14
+ <br>
15
+
16
+ <div class="onp-container">
17
+ <div class="license-details">
18
+ <?php if ( $this->get_license_type() == 'free' ): ?>
19
+ <a href="<?php echo $this->plugin->get_support()->get_pricing_url( true, 'license_page' ); ?>"
20
+ class="purchase-premium" target="_blank" rel="noopener">
21
+ <span class="btn btn-gold btn-inner-wrap">
22
+ <?php printf( __( 'Upgrade to Premium for $%s', 'insert-php' ), $this->premium->get_price() ) ?>
23
+ </span>
24
+ </a>
25
+ <p><?php printf( __( 'Your current license for %1$s:', 'insert-php' ), $this->plugin->getPluginTitle() ) ?></p>
26
+ <?php endif; ?>
27
+ <div class="license-details-block <?php echo $this->get_license_type() ?>-details-block">
28
+ <?php if ( $this->is_premium ): ?>
29
+ <a data-action="deactivate" href="#"
30
+ class="btn btn-default btn-small license-delete-button wapt-control-btn">
31
+ <?php _e( 'Delete Key', 'insert-php' ) ?>
32
+ </a>
33
+ <a data-action="sync" href="#"
34
+ class="btn btn-default btn-small license-synchronization-button wapt-control-btn">
35
+ <?php _e( 'Synchronization', 'insert-php' ) ?>
36
+ </a>
37
+ <?php endif; ?>
38
+ <h3>
39
+ <?php echo ucfirst( $this->get_plan() ); ?>
40
+
41
+ <?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
42
+ <span style="font-size: 15px;">
43
+ (<?php printf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ); ?>
44
+ )
45
+ </span>
46
+ <?php endif; ?>
47
+ </h3>
48
+ <?php if ( $this->is_premium ): ?>
49
+ <div class="license-key-identity">
50
+ <code><?php echo esc_attr( $this->get_hidden_license_key() ) ?></code>
51
+ </div>
52
+ <?php endif; ?>
53
+ <div class="license-key-description">
54
+ <p><?php _e( 'Public License is a GPLv2 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'insert-php' ) ?>
55
+ </p>
56
+ <?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
57
+ <p class="activate-trial-hint">
58
+ <?php _e( 'You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wapt-control-btn" href="#">cancel subscription</a>', 'insert-php' ) ?>
59
+ </p>
60
+ <?php endif; ?>
61
+
62
+ <?php if ( $this->get_license_type() == 'trial' ): ?>
63
+ <p class="activate-error-hint">
64
+ <?php printf( __( 'Your license has expired, please extend the license to get updates and support.', 'insert-php' ), '' ) ?>
65
+ </p>
66
+ <?php endif; ?>
67
+ </div>
68
+ <table class="license-params" colspacing="0" colpadding="0">
69
+ <tr>
70
+ <!--<td class="license-param license-param-domain">
71
+ <span class="license-value"><?php echo esc_attr( $_SERVER['SERVER_NAME'] ); ?></span>
72
+ <span class="license-value-name"><?php _e( 'domain', 'insert-php' ) ?></span>
73
+ </td>-->
74
+ <td class="license-param license-param-days">
75
+ <span class="license-value"><?php echo $this->get_plan() ?></span>
76
+ <span class="license-value-name"><?php _e( 'plan', 'insert-php' ) ?></span>
77
+ </td>
78
+ <?php if ( $this->is_premium ) : ?>
79
+ <td class="license-param license-param-sites">
80
+ <span class="license-value">
81
+ <?php echo esc_attr( $this->premium_license->get_count_active_sites() ); ?>
82
+ <?php _e( 'of', 'insert-php' ) ?>
83
+ <?php echo esc_attr( $this->premium_license->get_sites_quota() ); ?></span>
84
+ <span class="license-value-name"><?php _e( 'active sites', 'insert-php' ) ?></span>
85
+ </td>
86
+ <?php endif; ?>
87
+ <td class="license-param license-param-version">
88
+ <span class="license-value"><?php echo $this->plugin->getPluginVersion() ?></span>
89
+ <span class="license-value-name"><span><?php _e( 'version', 'insert-php' ) ?></span></span>
90
+ </td>
91
+ <?php if ( $this->is_premium ): ?>
92
+ <td class="license-param license-param-days">
93
+ <?php if ( $this->get_license_type() == 'trial' ): ?>
94
+ <span class="license-value"><?php _e( 'EXPIRED!', 'insert-php' ) ?></span>
95
+ <span class="license-value-name"><?php _e( 'please update the key', 'insert-php' ) ?></span>
96
+ <?php else: ?>
97
+ <span class="license-value">
98
+ <?php
99
+ if ( $this->premium_license->is_lifetime() ) {
100
+ echo 'infiniate';
101
+ } else {
102
+ echo $this->get_expiration_days();
103
+ }
104
+ ?>
105
+ <small> <?php _e( 'day(s)', 'insert-php' ) ?></small>
106
+ </span>
107
+ <span class="license-value-name"><?php _e( 'remained', 'insert-php' ) ?></span>
108
+ <?php endif; ?>
109
+ </td>
110
+ <?php endif; ?>
111
+ </tr>
112
+ </table>
113
+ </div>
114
+ </div>
115
+ <div class="license-input">
116
+ <form action="" method="post">
117
+ <?php if ( $this->is_premium ): ?>
118
+ <p><?php _e( 'Have a key to activate the premium version? Paste it here:', 'insert-php' ) ?><p>
119
+ <?php else: ?>
120
+ <p><?php _e( 'Have a key to activate the plugin? Paste it here:', 'insert-php' ) ?>
121
+ <p>
122
+ <?php endif; ?>
123
+ <button data-action="activate" class="btn btn-default wapt-control-btn"
124
+ type="button"
125
+ id="license-submit">
126
+ <?php _e( 'Submit Key', 'insert-php' ) ?>
127
+ </button>
128
+ <div class="license-key-wrap">
129
+ <input type="text" id="license-key" name="licensekey" value=""
130
+ class="form-control"/>
131
+ </div>
132
+ <?php if ( $this->is_premium ): ?>
133
+ <p style="margin-top: 10px;">
134
+ <?php printf( __( '<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'insert-php' ), $this->plugin->get_support()->get_pricing_url( true, 'license_page' ) ); ?>
135
+ </p>
136
+ <?php else: ?>
137
+ <p style="margin-top: 10px;">
138
+ <?php printf( __( 'Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'insert-php' ), 'https://users.freemius.com/password/recover' ) ?>
139
+ </p>
140
+ <?php endif; ?>
141
+ </form>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ </div>
admin/views/tab-main.php ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="wrap">
2
+ <h2><?php esc_html_e( 'Generate Featured images for all of your published posts', 'apt' ) ?></h2>
3
+ <div class="factory-bootstrap-422 factory-fontawesome-000">
4
+ <div class="row">
5
+ <div class="col-md-9">
6
+ <div class="wrap genpostthumbs">
7
+ <p><?php _e( 'Note: Thumbnails won\'t be generated for posts that already have post thumbnail or <strong><em>skip_post_thumb</em></strong> custom meta field.', 'apt' ) ?></p>
8
+ <p>
9
+ <button class="button button-primary button-large hide-if-no-js" name="generate-post-thumbnails" id="generate-post-thumbnails">
10
+ <?php esc_attr_e( 'Generate Featured images', 'apt' ) ?>
11
+ </button>
12
+ <div id="message" class="updated fade" style="display:none"></div>
13
+ </p>
14
+ <noscript><p>
15
+ <em><?php esc_html_e( 'You must enable Javascript in order to proceed!', 'apt' ) ?></em>
16
+ </p>
17
+ </noscript>
18
+ <div id="genpostthumbsbar" style="position:relative;height:25px;">
19
+ <div id="genpostthumbsbar-percent"
20
+ style="position:absolute;left:50%;top:50%;width:50px;margin-left:-25px;height:25px;margin-top:-9px;font-weight:bold;text-align:center;"></div>
21
+ </div>
22
+ <!-- esc_html_e( 'We are generating post thumbnails. Please be patient!', 'apt' ); -->
23
+ <script type="text/javascript">
24
+ // <![CDATA[
25
+ jQuery(document).ready(function($) {
26
+ jQuery('#generate-post-thumbnails').on('click', function(event) {
27
+ rt_images = [];
28
+
29
+ $("#generate-post-thumbnails").hide();
30
+ $("#genpostthumbsbar").progressbar();
31
+ $("#genpostthumbsbar-percent").html("1%");
32
+
33
+ $.post("admin-ajax.php", {
34
+ action: "get-posts-ids",
35
+ _ajax_nonce: '<?php echo wp_create_nonce( 'get-posts' ); ?>'
36
+ }, function(ids) {
37
+ rt_images = JSON.parse("[" + ids + "]");
38
+
39
+ var rt_total = rt_images.length;
40
+ var rt_count = 1;
41
+ var rt_percent = 0;
42
+ var posted_count = 0;
43
+
44
+ function genPostThumb(id) {
45
+ $.post("admin-ajax.php", {
46
+ action: "generatepostthumbnail",
47
+ id: id,
48
+ _ajax_nonce: '<?php echo wp_create_nonce( 'generate-post-thumbnails' ); ?>'
49
+ }, function(posted) {
50
+ console.log(posted);
51
+ if( Number(posted) !== 0 ) {
52
+ posted_count++;
53
+ }
54
+ rt_percent = (rt_count / rt_total) * 100;
55
+ $("#genpostthumbsbar").progressbar("value", rt_percent);
56
+ $("#genpostthumbsbar-percent").html(Math.round(rt_percent) + "%");
57
+ rt_count = rt_count + 1;
58
+
59
+ if( rt_images.length ) {
60
+ genPostThumb(rt_images.shift());
61
+ } else {
62
+ $("#genpostthumbsbar").hide();
63
+ $("#message").html("<p><strong><?php echo esc_html__( 'All done! Processed posts:', 'apt' ); ?> " + rt_total + "<br><?php echo esc_html__( 'Set featured image in posts:', 'apt' ); ?> " + posted_count + "</strong></p>");
64
+ $("#message").show();
65
+ }
66
+ });
67
+ }
68
+
69
+ genPostThumb(rt_images.shift());
70
+ });
71
+ });
72
+ });
73
+ // ]]>
74
+ </script>
75
+ </div>
76
+ </div>
77
+ <div class="col-md-3">
78
+ <div style="padding:20px">
79
+ <?php WAPT_Plugin::app()->get_adverts_manager()->render_placement( 'right_sidebar' ); ?>
80
+ </div>
81
+ <div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
82
+ <p><strong>Having Issues?</strong></p>
83
+ <div class="wbcr-clr-support-widget-body">
84
+ <p>
85
+ We provide free support for this plugin. If you are pushed with a problem, just create a new
86
+ ticket.
87
+ We will definitely help you! </p>
88
+ <ul>
89
+ <li><span class="dashicons dashicons-sos"></span>
90
+ <a href="https://forum.webcraftic.com" target="_blank" rel="noopener">Get starting free
91
+ support</a>
92
+ </li>
93
+ </ul>
94
+ </div>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ </div>
99
+ </div>
admin/views/tab-settings.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php global $form; ?>
2
+ <div class="wrap">
3
+ <div class="factory-bootstrap-422 factory-fontawesome-000">
4
+ <h3><?php _e( 'Settings', 'insert-php' ) ?></h3>
5
+ <div class="row">
6
+ <div class="col-md-9">
7
+ <form method="post" class="form-horizontal">
8
+ <?php if ( ! empty( $wbcr_saved ) ) { ?>
9
+ <div id="message" class="alert alert-success">
10
+ <p><?php _e( 'The settings have been updated successfully!', 'insert-php' ) ?></p>
11
+ </div>
12
+ <?php } ?>
13
+ <div style="padding-top: 10px;">
14
+ <?php $form->html(); ?>
15
+ </div>
16
+ <div class="form-group form-horizontal">
17
+ <label class="col-sm-2 control-label"> </label>
18
+ <div class="control-group controls col-sm-10">
19
+ <?php wp_nonce_field( $this->plugin->getPrefix() . 'settings_form', $this->plugin->getPrefix() . 'nonce' ); ?>
20
+ <input name="<?php echo $this->plugin->getPrefix() . 'saved' ?>" class="btn btn-primary" type="submit" value="<?php _e( 'Save settings', 'insert-php' ) ?>"/>
21
+ </div>
22
+ </div>
23
+ </form>
24
+ </div>
25
+ <div class="col-md-3">
26
+ <div id="wapt-dashboard-widget" class="wapt-right-widget">
27
+ <div style="padding:20px">
28
+ <?php WAPT_Plugin::app()->get_adverts_manager()->render_placement( 'right_sidebar'); ?>
29
+ </div>
30
+ </div>
31
+ <div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
32
+ <p><strong>Having Issues?</strong></p>
33
+ <div class="wbcr-clr-support-widget-body">
34
+ <p>
35
+ We provide free support for this plugin. If you are pushed with a problem, just create a new ticket. We will definitely help you! </p>
36
+ <ul>
37
+ <li><span class="dashicons dashicons-sos"></span>
38
+ <a href="https://forum.webcraftic.com" target="_blank" rel="noopener">Get starting free support</a>
39
+ </li>
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
auto-post-thumbnail.php CHANGED
@@ -1,17 +1,16 @@
1
  <?php
2
-
3
  /*
4
  Plugin Name: Auto Post Thumbnail
5
- Plugin URI: http://cm-wp.com/apt/
6
  Description: Automatically generate the Post Thumbnail (Featured Thumbnail) from the first image in post (or any custom post type) only if Post Thumbnail is not set manually.
7
- Version: 3.4.2
8
- Author: Сreativemotion
9
- Author URI: http://cm-wp.com
10
  Text Domain: apt
11
  Domain Path: /languages
12
  */
13
 
14
- /* Copyright 2019 Сreativemotion (email : cmwp@gmail.com)
15
 
16
  This program is free software; you can redistribute it and/or modify
17
  it under the terms of the GNU General Public License as published by
@@ -32,481 +31,157 @@ if ( ! defined( 'ABSPATH' ) ) {
32
  exit; // Exit if accessed directly.
33
  }
34
 
35
- defined( 'APT_PLUGIN_FILE' ) or define( 'APT_PLUGIN_FILE', __FILE__ );
36
- defined( 'APT_ABSPATH' ) or define( 'APT_ABSPATH', dirname( __FILE__ ) );
37
- defined( 'APT_PLUGIN_BASENAME' ) or define( 'APT_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
38
- defined( 'APT_PLUGIN_URL' ) or define( 'APT_PLUGIN_URL', plugins_url( null, __FILE__ ) );
39
-
40
  /**
41
- * Class AutoPostThumbnails
42
- *
43
- * @author Alexander Teshabaev <sasha.tesh@gmail.com>
44
- * @copyright (c) 2018, Webcraftic Ltd
 
45
  */
46
- class AutoPostThumbnails {
47
-
48
- /**
49
- * @var AutoPostThumbnails
50
- */
51
- public static $instance;
52
-
53
- /**
54
- * AutoPostThumbnails constructor.
55
- */
56
- public function __construct () {
57
-
58
- $this->init_includes();
59
- $this->init();
60
- $this->init_textdomain();
61
- }
62
-
63
- /**
64
- * Get existing instance or create new one.
65
- *
66
- * @return AutoPostThumbnails
67
- */
68
- public static function instance () {
69
- if ( static::$instance === null ) {
70
- static::$instance = new self();
71
- }
72
-
73
- return static::$instance;
74
- }
75
-
76
- /**
77
- * Init includes.
78
- */
79
- private function init_includes () {
80
- require __DIR__ . '/src/class.template.php';
81
- }
82
-
83
- /**
84
- * Initiate all required hooks.
85
- */
86
- private function init () {
87
- $apt_ag = get_option( 'wbcr_apt_auto_generation' );
88
-
89
- if ( $apt_ag ) {
90
- add_action( 'publish_post', [ $this, 'publish_post' ] );
91
-
92
- // This hook will now handle all sort publishing including posts, custom types, scheduled posts, etc.
93
- add_action( 'transition_post_status', [ $this, 'check_required_transition' ], 10, 3 );
94
- }
95
-
96
- add_action( 'admin_notices', [ $this, 'check_perms' ] );
97
- add_action( 'admin_menu', [ $this, 'init_admin_menu' ] );
98
-
99
- // Plugin hook for adding CSS and JS files required for this plugin
100
- add_action( 'admin_enqueue_scripts', [
101
- $this,
102
- 'enqueue_assets',
103
- ] );
104
-
105
- // Hook to implement AJAX request
106
- add_action( 'wp_ajax_generatepostthumbnail', [
107
- $this,
108
- 'ajax_process_post',
109
- ] );
110
- }
111
-
112
- /**
113
- * Init language support.
114
- */
115
- public function init_textdomain () {
116
- load_plugin_textdomain( "apt", false, basename( dirname( __FILE__ ) ) . '/languages' );
117
- }
118
-
119
- /**
120
- * Register the management page
121
- */
122
- public function init_admin_menu () {
123
- add_options_page(
124
- 'Auto Post Thumbnail',
125
- 'Auto Post Thumbnail',
126
- 'manage_options',
127
- 'generate-post-thumbnails',
128
- [ $this, 'render' ]
129
- );
130
- }
131
-
132
- /**
133
- * Enqueue assets.
134
- *
135
- * @param $hook_suffix
136
- *
137
- * @return void
138
- */
139
- public function enqueue_assets ( $hook_suffix ) {
140
- if ( 'settings_page_generate-post-thumbnails' != $hook_suffix ) {
141
- return;
142
- }
143
-
144
- // WordPress 3.1 vs older version compatibility
145
- if ( wp_script_is( 'jquery-ui-widget', 'registered' ) ) {
146
- wp_enqueue_script( 'jquery-ui-progressbar', plugins_url( 'jquery-ui/jquery.ui.progressbar.min.js', __FILE__ ), array(
147
- 'jquery-ui-core',
148
- 'jquery-ui-widget',
149
- ), '1.7.2' );
150
- } else {
151
- wp_enqueue_script( 'jquery-ui-progressbar', plugins_url( 'jquery-ui/ui.progressbar.js', __FILE__ ), array( 'jquery-ui-core' ), '1.7.2' );
152
- }
153
-
154
- wp_enqueue_style( 'style', plugins_url( 'css/style.css', __FILE__ ) );
155
-
156
- wp_enqueue_style( 'jquery-ui-genpostthumbs', plugins_url( 'jquery-ui/redmond/jquery-ui-1.7.2.custom.css', __FILE__ ), array(), '1.7.2' );
157
- }
158
-
159
- /**
160
- * Renders main HTML content of the admin page.
161
- */
162
- public function render () {
163
- echo APT_Template::render( 'index' );
164
- }
165
-
166
- /**
167
- * Process single post to generate the post thumbnail
168
- *
169
- * @return void
170
- */
171
- public function ajax_process_post () {
172
- if ( ! current_user_can( 'manage_options' ) ) {
173
- die( '-1' );
174
- }
175
-
176
- $id = (int) $_POST['id'];
177
-
178
- if ( empty( $id ) ) {
179
- die( '-1' );
180
- }
181
-
182
- set_time_limit( 60 );
183
-
184
- // Pass on the id to our 'publish' callback function.
185
- echo $this->publish_post( $id );
186
-
187
- die( - 1 );
188
- }
189
-
190
- /**
191
- * Check whether the required directory structure is available so that the plugin can create thumbnails if needed.
192
- * If not, don't allow plugin activation.
193
- */
194
- public function check_perms () {
195
- $uploads = wp_upload_dir( current_time( 'mysql' ) );
196
-
197
- if ( $uploads['error'] ) {
198
- echo '<div class="updated"><p>';
199
- echo $uploads['error'];
200
-
201
- if ( function_exists( 'deactivate_plugins' ) ) {
202
- deactivate_plugins( 'auto-post-thumbnail/auto-post-thumbnail.php', 'auto-post-thumbnail.php' );
203
- echo '<br /> ' . esc_html__( 'This plugin has been automatically deactivated.', 'apt' );
204
- }
205
-
206
- echo '</p></div>';
207
- }
208
- }
209
-
210
- /**
211
- * Function to check whether scheduled post is being published. If so, apt_publish_post should be called.
212
- *
213
- * @param $new_status
214
- * @param $old_status
215
- * @param WP_Post $post Instance of post.
216
- *
217
- * @return void
218
- */
219
- public function check_required_transition ( $new_status = '', $old_status = '', $post = '' ) {
220
-
221
- if ( 'publish' == $new_status ) {
222
- $this->publish_post( $post->ID );
223
- }
224
- }
225
-
226
- /**
227
- * Return sql query, which allows to receive all the posts without thumbnails
228
- *
229
- * @return string
230
- */
231
- public function get_posts_query() {
232
- global $wpdb;
233
-
234
- return "SELECT * FROM {$wpdb->posts} p WHERE p.post_status = 'publish' AND p.post_type = 'post' AND (
235
- p.ID NOT IN (
236
- SELECT DISTINCT post_id FROM {$wpdb->postmeta} WHERE meta_key IN ('_thumbnail_id', 'skip_post_thumb')
237
- ) OR
238
- NOT EXISTS (SELECT p2.ID FROM {$wpdb->posts} p2 WHERE p2.ID = (SELECT meta_value FROM {$wpdb->postmeta} WHERE meta_key = '_thumbnail_id' AND post_id = p.ID) AND p2.post_type = 'attachment')
239
- )";
240
- }
241
-
242
- /**
243
- * Function to save first image in post as post thumbmail.
244
- *
245
- * @param int $post_id Post ID.
246
- *
247
- * @return bool
248
- */
249
- public function publish_post( $post_id ) {
250
- global $wpdb;
251
-
252
- // First check whether Post Thumbnail is already set for this post.
253
- $_thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
254
- if (
255
- $_thumbnail_id && $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE id = '$_thumbnail_id' AND post_type = 'attachment'" )
256
- || get_post_meta( $post_id, 'skip_post_thumb', true )
257
- ) {
258
- return true;
259
- }
260
-
261
- $post = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE id = $post_id" );
262
-
263
- // Initialize variable used to store list of matched images as per provided regular expression
264
- $matches = array();
265
-
266
- $thumb_id = false;
267
 
268
- // Get all images from post's body
269
- preg_match_all( '/<\s*img [^\>]*src\s*=\s*[\""\']?([^\""\'>]*)/i', $post[0]->post_content, $matches );
270
-
271
- if ( count( $matches ) ) {
272
- foreach ( $matches[0] as $key => $image ) {
273
- /**
274
- * If the image is from the WordPress own media gallery, then it appends the thumbnail id to a css class.
275
- * Look for this id in the IMG tag.
276
- */
277
- preg_match( '/wp-image-([\d]*)/i', $image, $thumb_id );
278
-
279
- if ( $thumb_id ) {
280
- $thumb_id = $thumb_id[1];
281
- }
282
-
283
- if ( ! get_post( $thumb_id ) ) {
284
- $thumb_id = false;
285
- }
286
-
287
- // If thumb id is not found, try to look for the image in DB. Thanks to "Erwin Vrolijk" for providing this code.
288
- if ( ! $thumb_id ) {
289
- $image = substr( $image, strpos( $image, '"' ) + 1 );
290
- $result = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE guid = '" . $image . "'" );
291
- if ( $result ) {
292
- $thumb_id = $result[0]->ID;
293
- }
294
- }
295
-
296
- // Still no id found? Try found by post_name
297
- if ( ! $thumb_id ) {
298
- if ( isset( $matches[0][ $key ] ) && ! empty( $matches[0][ $key ] ) ) {
299
- $image_url = trim( $matches[0][ $key ] );
300
- $_parts = explode( '/', $image_url );
301
- $image_url = array_pop( $_parts );
302
- $_parts = explode( '.', $image_url );
303
- $image_url = array_shift( $_parts );
304
-
305
- if ( $image_url ) {
306
- $result = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_name = '" . $image_url . "' AND post_type = 'attachment'" );
307
- if ( $result ) {
308
- $thumb_id = $result[0]->ID;
309
- }
310
- }
311
- }
312
- }
313
-
314
- // Ok. Still no id found. Some other way used to insert the image in post. Now we must fetch the image from URL and do the needful.
315
- if ( ! $thumb_id ) {
316
- $thumb_id = $this->generate_post_thumb( $matches, $key, $post[0]->post_content, $post_id );
317
- }
318
-
319
- // If we succeed in generating thumb, let's update post meta
320
- if ( $thumb_id ) {
321
- update_post_meta( $post_id, '_thumbnail_id', $thumb_id );
322
- break;
323
- }
324
- }
325
- }
326
-
327
- return (bool) $thumb_id;
328
- }
329
-
330
- /**
331
- * Search through an array for a matching key.
332
- *
333
- * Examples:
334
- * <code>
335
- * $array = array(
336
- * "database.name" => "my_db_name",
337
- * "database.host" => "myhost.com",
338
- * "database.user" => "admin",
339
- * "database.pass" => "a secret."
340
- * );
341
- *
342
- * $search = array_contains_key($array, "database");
343
- * var_dump($search);
344
- *
345
- * Result:
346
- * array (size=4)
347
- * 'database.name' => string 'my_db_name' (length=10)
348
- * 'database.host' => string 'myhost.com' (length=10)
349
- * 'database.user' => string 'admin' (length=5)
350
- * 'database.pass' => string 'a secret.' (length=9)
351
- * </code>
352
- *
353
- * https://gist.github.com/steve-todorov/3671626
354
- *
355
- * @param array $input_array
356
- * @param string $search_value
357
- * @param bool $case_sensitive
358
- *
359
- * @return array
360
- */
361
- function array_contains_key( array $input_array, $search_value, $case_sensitive = false ) {
362
- if ( $case_sensitive ) {
363
- $preg_match = '/' . $search_value . '/';
364
- } else {
365
- $preg_match = '/' . $search_value . '/i';
366
- }
367
- $return_array = array();
368
- $keys = array_keys( $input_array );
369
- foreach ( $keys as $k ) {
370
- if ( preg_match( $preg_match, $k ) ) {
371
- $return_array[ $k ] = $input_array[ $k ];
372
- }
373
- }
374
-
375
- return $return_array;
376
- }
377
-
378
- /**
379
- * Fetch image from URL and generate required thumbnails.
380
- *
381
- * @param $matches
382
- * @param $key
383
- * @param $post_content
384
- * @param $post_id
385
- *
386
- * @return int|WP_Error|null
387
- */
388
- public function generate_post_thumb ( $matches, $key, $post_content, $post_id ) {
389
- // Make sure to assign correct title to the image. Extract it from img tag
390
- $imageTitle = '';
391
- preg_match_all( '/<\s*img [^\>]*title\s*=\s*[\""\']?([^\""\'>]*)/i', $post_content, $matchesTitle );
392
-
393
- if ( count( $matchesTitle ) && isset( $matchesTitle[1] ) && isset( $matchesTitle[1][ $key ] ) ) {
394
- $imageTitle = $matchesTitle[1][ $key ];
395
- }
396
-
397
- // Get the URL now for further processing
398
- $imageUrl = $matches[1][ $key ];
399
-
400
- // Get the file name
401
- $filename = substr( $imageUrl, ( strrpos( $imageUrl, '/' ) ) + 1 );
402
-
403
- if ( ! ( ( $uploads = wp_upload_dir( current_time( 'mysql' ) ) ) && false === $uploads['error'] ) ) {
404
- return null;
405
- }
406
-
407
- // Generate unique file name
408
- $filename = wp_unique_filename( $uploads['path'], $filename );
409
-
410
- // Move the file to the uploads dir
411
- $new_file = $uploads['path'] . "/$filename";
412
-
413
- if ( ! ini_get( 'allow_url_fopen' ) ) {
414
- $file_data = $this->curl_get_file_contents( $imageUrl );
415
- } else {
416
- $file_data = @file_get_contents( $imageUrl );
417
- }
418
-
419
- if ( ! $file_data ) {
420
- return null;
421
- }
422
-
423
- //Fix for checking file extensions
424
- $exts = explode( ".", $filename );
425
- if ( count( $exts ) > 2 ) {
426
- return null;
427
- }
428
-
429
- $allowed = get_allowed_mime_types();
430
- $ext = pathinfo( $new_file, PATHINFO_EXTENSION );
431
- if ( ! $this->array_contains_key( $allowed, $ext ) ) {
432
- return null;
433
- }
434
-
435
- file_put_contents( $new_file, $file_data );
436
-
437
- // Set correct file permissions
438
- $stat = stat( dirname( $new_file ) );
439
- $perms = $stat['mode'] & 0000666;
440
- @ chmod( $new_file, $perms );
441
-
442
- $mimes = $type = $file = null;
443
-
444
- // Get the file type. Must to use it as a post thumbnail.
445
- $wp_filetype = wp_check_filetype( $filename, $mimes );
446
-
447
- extract( $wp_filetype );
448
-
449
- // No file type! No point to proceed further
450
- if ( ( ! $type || ! $ext ) && ! current_user_can( 'unfiltered_upload' ) ) {
451
- return null;
452
- }
453
-
454
- // Compute the URL
455
- $url = $uploads['url'] . "/$filename";
456
-
457
- // Construct the attachment array
458
- $attachment = array(
459
- 'post_mime_type' => $type,
460
- 'guid' => $url,
461
- 'post_parent' => null,
462
- 'post_title' => $imageTitle,
463
- 'post_content' => '',
464
- );
465
-
466
- $thumb_id = wp_insert_attachment( $attachment, $file, $post_id );
467
- if ( ! is_wp_error( $thumb_id ) ) {
468
- require_once( ABSPATH . '/wp-admin/includes/image.php' );
469
 
470
- // Added fix by misthero as suggested
471
- wp_update_attachment_metadata( $thumb_id, wp_generate_attachment_metadata( $thumb_id, $new_file ) );
472
- update_attached_file( $thumb_id, $new_file );
473
 
474
- return $thumb_id;
475
- }
 
 
476
 
477
- return null;
478
- }
 
 
 
 
 
 
479
 
480
- /**
481
- * Function to fetch the contents of URL using curl in absence of allow_url_fopen.
482
- *
483
- * Copied from user comment on php.net (http://in.php.net/manual/en/function.file-get-contents.php#82255)
484
- */
485
- public function curl_get_file_contents ( $URL ) {
486
- $c = curl_init();
487
- curl_setopt( $c, CURLOPT_RETURNTRANSFER, 1 );
488
- curl_setopt( $c, CURLOPT_URL, $URL );
489
- $contents = curl_exec( $c );
490
- curl_close( $c );
491
 
492
- if ( $contents ) {
493
- return $contents;
494
- }
495
 
496
- return false;
497
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
498
  }
 
499
 
500
  /**
501
  * Get instance of the core class.
502
  *
503
  * @return AutoPostThumbnails
504
  */
505
- function auto_post_thumbnails () {
 
 
506
  return AutoPostThumbnails::instance();
507
  }
508
-
509
- // Bootstrap
510
- auto_post_thumbnails();
511
-
512
-
1
  <?php
 
2
  /*
3
  Plugin Name: Auto Post Thumbnail
4
+ Plugin URI: https://cm-wp.com/apt
5
  Description: Automatically generate the Post Thumbnail (Featured Thumbnail) from the first image in post (or any custom post type) only if Post Thumbnail is not set manually.
6
+ Version: 3.5.1
7
+ Author: Creativemotion <support@cm-wp.com>
8
+ Author URI: cm-wp.com
9
  Text Domain: apt
10
  Domain Path: /languages
11
  */
12
 
13
+ /* Copyright 2009 Creativemotion
14
 
15
  This program is free software; you can redistribute it and/or modify
16
  it under the terms of the GNU General Public License as published by
31
  exit; // Exit if accessed directly.
32
  }
33
 
 
 
 
 
 
34
  /**
35
+ * -----------------------------------------------------------------------------
36
+ * CHECK REQUIREMENTS
37
+ * Check compatibility with php and wp version of the user's site. As well as checking
38
+ * compatibility with other plugins from Creativemotion.
39
+ * -----------------------------------------------------------------------------
40
  */
41
+ // @formatter:off
42
+ // Подключаем класс проверки совместимости
43
+ require_once( dirname( __FILE__ ) . '/libs/factory/core/includes/class-factory-requirements.php' );
44
+
45
+ $plugin_info = array(
46
+ 'prefix' => 'wapt_', // Префикс для базы данных и полей формы. Строка должна соответствовать условию [A-z0-9_].
47
+ 'plugin_name' => 'wbcr_apt', // Кодовое название плагина, используется как уникальный идентификатор. Строка должна соответствовать условию [A-z0-9_].
48
+ 'plugin_title' => __( 'Auto Post Thumbnail', 'apt' ), // Название плагина. То же что и Plugin Name. Используется в интерфейсе и сообщениях.
49
+
50
+ // Служба поддержки
51
+ // Указываем ссылки и имена страниц сайта плагина, чтобы иметь к ним доступ внутри плагина.
52
+ 'support_details' => array(
53
+ 'url' => 'https://cm-wp.com/apt',// Ссылка на сайт плагина
54
+ 'pages_map' => array(
55
+ 'features' => 'premium-features', // {site}/premium-features "страница возможности"
56
+ 'pricing' => 'pricing', // {site}/prices страница "цены"
57
+ 'support' => '', // {site}/support страница "служба поддержки"
58
+ 'docs' => 'docs' // {site}/docs страница "документация"
59
+ )
60
+ ),
61
+
62
+ // Настройка обновлений плагина
63
+ // Имеется ввиду настройка обновлений из удаленного репозитория. Это может быть wordpress.org, freemius.com, codecanyon.com
64
+ 'has_updates' => true, // Нужно ли проверять обновления для этого плагина
65
+ 'updates_settings' => array(
66
+ 'repository' => 'wordpress', // Тип репозитория из которого получаем обновления. Может быть wordpress, freemius
67
+ 'slug' => 'auto-post-thumbnail', // Слаг плагина в удаленном репозитории
68
+ 'maybe_rollback' => true, // Можно ли делать откат к предыдущей версии плагина?
69
+ 'rollback_settings' => array(
70
+ 'prev_stable_version' => '0.0.0' // Нужно указать предыдущую стабильную версию, к которой нужно сделать откат.
71
+ )
72
+ ),
73
+
74
+ // Настройка премиум плагина
75
+ // Сюда входят настройки лицензирования и премиум обновлений плагина и его надстройки
76
+ 'has_premium' => true, // Есть ли у текущего плагина премиум? Если false, премиум модуль загружен не будет
77
+ 'license_settings' => array(
78
+ 'has_updates' => true,
79
+ 'provider' => 'freemius', // Тип лицензионного поставщика, может быть freemius, codecanyon, templatemonster
80
+ 'slug' => 'auto-post-thumbnail-premium', // Слаг плагина в выбранном поставщике лицензий и обновлений
81
+ 'plugin_id' => '4146', // ID плагина в freemius.com
82
+ 'public_key' => 'pk_5e3ec7615d3abb543e25ee6eb2fc7', // Публичный ключ плагина в freemius.com
83
+ 'price' => 29, // Минимальная цена плагина, выводится в рекламных блоках
84
+ // Настройка обновлений премиум плагина
85
+ 'updates_settings' => array(
86
+ 'maybe_rollback' => true, // Можно ли делать откат к предыдущей версии плагина?
87
+ 'rollback_settings' => array(
88
+ 'prev_stable_version' => '0.0.0' // Нужно указать предыдущую стабильную версию, к которой нужно сделать откат.
89
+ )
90
+ )
91
+ ),
92
+
93
+ // Настройки рекламы от CreativeMotion
94
+ 'render_adverts' => true, // Показывать рекламу CreativeMotion в админке Wordpress?
95
+ 'adverts_settings' => array(
96
+ 'dashboard_widget' => true, // если true, показывать виджет новостей на страницу Dashboard
97
+ 'right_sidebar' => true, // если true, показывать виджет в правом сайбаре интерфейса плагина
98
+ 'notice' => true, // если true, показывать сквозное уведомление на всех страницах админ панели Wordpress
99
+ ),
100
+
101
+ // Подключаемые модуль фреймворка
102
+ // Необходимые для ускоренной разработки продуктов Webcrfatic
103
+ 'load_factory_modules' => array(
104
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_422', 'admin' ), // Модуль позволяет использовать различные js виджеты и стили оформление форм.
105
+ array( 'libs/factory/forms', 'factory_forms_419', 'admin' ), // Модуль позволяет быстро создавать формы и готовые поля настроек
106
+ array( 'libs/factory/pages', 'factory_pages_421', 'admin' ), // Модуль позволяет создавать страницы плагина, в том числе шаблонизированные страницы
107
+ array( 'libs/factory/freemius', 'factory_freemius_109', 'all' ), // Модуль для работы с freemius.com, содержит api библиотеку и провайдеры для премиум менеджера
108
+ array( 'libs/factory/adverts', 'factory_adverts_103', 'admin') // Модуль для показа рекламы в админпанели Wordpress, вся реклама вытягивается через API Creative Motion
109
+ )
110
+ );
111
+
112
+ $wapt_compatibility = new Wbcr_Factory421_Requirements( __FILE__, array_merge( $plugin_info, array(
113
+ 'plugin_already_activate' => defined( 'WAPT_PLUGIN_ACTIVE' ),
114
+ 'required_php_version' => '5.4',
115
+ 'required_wp_version' => '4.2.0',
116
+ //'required_clearfy_check_component' => false
117
+ ) ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
 
119
+ /**
120
+ * If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
121
+ * and the user will throw a warning.
122
+ */
123
+ if ( ! $wapt_compatibility->check() ) {
124
+ return;
125
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
 
127
+ /********************************************/
 
 
128
 
129
+ // Устанавливает статус плагина, как активный
130
+ define( 'WAPT_PLUGIN_ACTIVE', true );
131
+ // Версия плагина
132
+ define( 'WAPT_PLUGIN_VERSION', $wapt_compatibility->get_plugin_version() );
133
 
134
+ define( 'WAPT_PLUGIN_FILE', __FILE__ );
135
+ define( 'WAPT_ABSPATH', dirname( __FILE__ ) );
136
+ define( 'WAPT_PLUGIN_BASENAME', plugin_basename( __FILE__ ));
137
+ define( 'WAPT_PLUGIN_SLUG', dirname(plugin_basename( __FILE__ )));
138
+ // Ссылка к директории плагина
139
+ define( 'WAPT_PLUGIN_URL', plugins_url( null, __FILE__ ) );
140
+ // Директория плагина
141
+ define( 'WAPT_PLUGIN_DIR', dirname( __FILE__ ) );
142
 
 
 
 
 
 
 
 
 
 
 
 
143
 
 
 
 
144
 
145
+ /**
146
+ * -----------------------------------------------------------------------------
147
+ * PLUGIN INIT
148
+ * -----------------------------------------------------------------------------
149
+ */
150
+ require_once( WAPT_PLUGIN_DIR . '/libs/factory/core/boot.php' );
151
+ require_once( WAPT_PLUGIN_DIR . '/includes/class-wapt-plugin.php' );
152
+
153
+ try {
154
+ new WAPT_Plugin( __FILE__, array_merge( $plugin_info, array(
155
+ 'plugin_version' => WAPT_PLUGIN_VERSION,
156
+ 'plugin_text_domain' => $wapt_compatibility->get_text_domain()
157
+ ) ) );
158
+ auto_post_thumbnails();
159
+ } catch( Exception $e ) {
160
+ global $wapt_exeption;
161
+
162
+ $wapt_exeption = $e;
163
+ // Plugin wasn't initialized due to an error
164
+ define( 'WAPT_PLUGIN_THROW_ERROR', true );
165
+
166
+ function wapt_exception_notice() {
167
+ global $wapt_exeption;
168
+
169
+ $error = sprintf( "The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Auto Post Thumbnail', $wapt_exeption->getMessage(), $wapt_exeption->getCode() );
170
+ echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
171
+ };
172
+
173
+ add_action( 'admin_notices', 'wapt_exception_notice' );
174
+ add_action( 'network_admin_notices', 'wapt_exception_notice' );
175
  }
176
+ // @formatter:on
177
 
178
  /**
179
  * Get instance of the core class.
180
  *
181
  * @return AutoPostThumbnails
182
  */
183
+ function auto_post_thumbnails() {
184
+ require_once( WAPT_PLUGIN_DIR . '/includes/class-wapt-base.php' );
185
+
186
  return AutoPostThumbnails::instance();
187
  }
 
 
 
 
 
css/style.css DELETED
@@ -1,67 +0,0 @@
1
- .apt_pro_advertisement {
2
- float: right;
3
- width: 230px;
4
- margin-top: 15px;
5
- margin-right: -240px;
6
- border: medium none;
7
- border-radius: 4px;
8
- box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
9
- padding: 5px 5px 15px 5px;
10
- background: #fff;
11
- }
12
-
13
- .apt_pro_logo {
14
- float: left;
15
- box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.3);
16
- margin: 10px;
17
- border-radius: 3px;
18
- }
19
-
20
- .apt_pro_logo img {
21
- border-radius: 3px;
22
- }
23
-
24
- .apt_pro_check_out {
25
- float: left;
26
- font-size: 35px;
27
- line-height: 35px;
28
- width: 120px;
29
- padding-top: 10px;
30
- text-align: center;
31
- font-family: message-box;
32
- color: #EEEEEE;
33
- text-shadow: 1px 1px 2px #000000;
34
- }
35
-
36
- .apt_pro_features {
37
- padding-left: 10px;
38
- clear: both;
39
- }
40
-
41
- .apt_pro_features ul {
42
- list-style: disc inside;
43
- }
44
-
45
- .apt_pro_buy_now {
46
- text-align: center;
47
- }
48
-
49
- .apt_loading {
50
- width: 100%;
51
- height: 100%;
52
- top: 0;
53
- left: 0;
54
- position: fixed;
55
- display: none;
56
- opacity: 0.7;
57
- background-color: #fff;
58
- z-index: 99;
59
- text-align: center;
60
- }
61
-
62
- .apt-loading-image {
63
- position: absolute;
64
- top: 50%;
65
- left: 50%;
66
- z-index: 100;
67
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
img/ajax-loader.gif DELETED
Binary file
includes/class-wapt-base.php ADDED
@@ -0,0 +1,907 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Class AutoPostThumbnails
5
+ *
6
+ * @author Alexander Teshabaev <sasha.tesh@gmail.com>
7
+ * @copyright (c) 2018, Webcraftic Ltd
8
+ */
9
+ class AutoPostThumbnails {
10
+
11
+ /**
12
+ * @var AutoPostThumbnails
13
+ */
14
+ public static $instance;
15
+
16
+ /**
17
+ * После какой по счёту колонки вставлять новую (если 0, то в самом начале)
18
+ *
19
+ * @var AutoPostThumbnails
20
+ */
21
+ public $numberOfColumn;
22
+
23
+ /**
24
+ * После какой по счёту колонки вставлять новую (если 0, то в самом начале)
25
+ *
26
+ * @var AutoPostThumbnails
27
+ */
28
+ private $nonce;
29
+
30
+ /**
31
+ * Массив с параметрами сервисов
32
+ *
33
+ * @var array(string)
34
+ */
35
+ public $sources;
36
+
37
+ /**
38
+ * Открывается в медиабиблиотеке?
39
+ *
40
+ * @var bool
41
+ */
42
+ public $is_in_medialibrary = false;
43
+
44
+ /**
45
+ * AutoPostThumbnails constructor.
46
+ */
47
+ public function __construct() {
48
+ $this->numberOfColumn = 4;
49
+
50
+ $this->sources = [
51
+ 'google' => WAPT_PLUGIN_SLUG,
52
+ 'pixabay' => '',
53
+ 'unsplash' => '',
54
+ ];
55
+
56
+ $this->init_includes();
57
+ $this->init();
58
+ }
59
+
60
+ /**
61
+ * Get existing instance or create new one.
62
+ *
63
+ * @return AutoPostThumbnails
64
+ */
65
+ public static function instance() {
66
+ if ( static::$instance === null ) {
67
+ static::$instance = new self();
68
+ }
69
+
70
+ return static::$instance;
71
+ }
72
+
73
+ /**
74
+ * Init includes.
75
+ */
76
+ private function init_includes() {
77
+ //require __DIR__ . '/src/class.template.php';
78
+ }
79
+
80
+ /**
81
+ * Initiate all required hooks.
82
+ */
83
+ private function init() {
84
+ add_action( 'admin_menu', [ $this, 'my_custom_submenu_page' ] );
85
+
86
+ $apt_ag = WAPT_Plugin::app()->getOption( 'auto_generation' );
87
+
88
+ if ( $apt_ag ) {
89
+ add_action( 'publish_post', [ $this, 'publish_post' ], 10, 1 );
90
+
91
+ // This hook will now handle all sort publishing including posts, custom types, scheduled posts, etc.
92
+ add_action( 'transition_post_status', [ $this, 'check_required_transition' ], 10, 3 );
93
+ }
94
+
95
+ add_action( 'admin_notices', [ $this, 'check_perms' ] );
96
+ //add_action( 'admin_menu', [ $this, 'init_admin_menu' ] );
97
+
98
+ // Plugin hook for adding CSS and JS files required for this plugin
99
+ add_action( 'admin_enqueue_scripts', [
100
+ $this,
101
+ 'enqueue_assets',
102
+ ] );
103
+
104
+ add_action( 'wp_enqueue_media', [
105
+ $this,
106
+ 'enqueue_media',
107
+ ] );
108
+
109
+ //Hook to adding "image" column in Posts table
110
+ add_filter( 'manage_post_posts_columns', [ $this, 'add_image_column' ], 4 );
111
+
112
+ //Hook to filling "image" column in Posts table
113
+ add_action( 'manage_post_posts_custom_column', [ $this, 'fill_image_column' ], 5, 2 );
114
+
115
+ //ADD tab and button to medialibrary
116
+ add_filter( "media_upload_tabs", [ $this, "addTab" ] );
117
+ add_action( "media_upload_apttab", [ $this, "aptTabHandle" ] );
118
+
119
+ //AJAX actions
120
+ add_action( 'wp_ajax_generatepostthumbnail', [
121
+ $this,
122
+ 'ajax_process_post',
123
+ ] );
124
+ add_action( 'wp_ajax_get-posts-ids', [ $this, 'get_posts_ids' ] );
125
+ add_action( 'wp_ajax_apt_replace_thumbnail', [ $this, 'apt_replace_thumbnail' ] );
126
+ add_action( 'wp_ajax_apt_get_thumbnail', [ $this, 'apt_get_thumbnail' ] );
127
+ add_action( 'wp_ajax_source_content', [ $this, 'source_content' ] );
128
+ add_action( 'wp_ajax_upload_to_library', [ $this, 'upload_to_library' ] );
129
+ }
130
+
131
+ /**
132
+ * Register the management page
133
+ */
134
+ public function init_admin_menu() {
135
+
136
+ //add_options_page(
137
+ add_menu_page( 'Auto Post Thumbnail', 'Auto Post Thumbnail', 'manage_options', 'generate-post-thumbnails', [
138
+ $this,
139
+ 'render'
140
+ ] );
141
+ }
142
+
143
+ public function enqueue_media() {
144
+ global $post;
145
+
146
+ if ( is_plugin_active( 'dreamstime-stock-photos/dreamstime.php' ) && ! ( isset( $_GET['action'] ) && $_GET['action'] == 'elementor' ) ) {
147
+ wp_deregister_script( 'dreamstime-media-views' );
148
+ wp_enqueue_script( 'dreamstime-media-views', WAPT_PLUGIN_URL . '/admin/assets/js/dreamstime-media-views.js', [ 'jquery' ], false, true );
149
+ $handler = 'dreamstime-media-views';
150
+ } else {
151
+ wp_enqueue_script( 'apt-media-views', WAPT_PLUGIN_URL . '/admin/assets/js/media-views.js', [ 'jquery' ], false, true );
152
+ $handler = 'apt-media-views';
153
+ }
154
+
155
+ $apt_media_iframe_src = ! empty( $post ) ? get_admin_url( get_current_blog_id(), 'media-upload.php?chromeless=1&post_id=' . $post->ID . '&tab=apttab' ) : "";
156
+ wp_localize_script( $handler, 'apt_media_iframe', [ 'src' => esc_url( $apt_media_iframe_src ) ] );
157
+ }
158
+
159
+ /**
160
+ * Enqueue assets.
161
+ *
162
+ * @param $hook_suffix
163
+ *
164
+ * @return void
165
+ */
166
+ public function enqueue_assets( $hook_suffix ) {
167
+ //Подключаем стили и скрипты всегда в админке
168
+ add_thickbox();
169
+ wp_enqueue_media();
170
+ wp_enqueue_script( 'apt-admin-script-thumbnail', WAPT_PLUGIN_URL . '/admin/assets/js/admin-thumbnail.js', [], false, true );
171
+ if ( isset( $_REQUEST['post'] ) ) {
172
+ $pid = $_REQUEST['post'];
173
+ } else {
174
+ $pid = '0';
175
+ }
176
+ wp_localize_script( 'apt-admin-script-thumbnail', 'apt_postid', $pid );
177
+
178
+ $action_column_get_thumbnails = "apt_get_thumbnail";
179
+ $action_column_get_thumbnails = apply_filters( 'wapt/get-thumbnails/action', $action_column_get_thumbnails );
180
+ wp_localize_script( 'apt-admin-script-thumbnail', 'action_column_get_thumbnails', $action_column_get_thumbnails );
181
+
182
+ /*
183
+ wp_enqueue_script(
184
+ 'apt-media-views',
185
+ plugins_url( 'admin/assets/js/media.js', __FILE__ ),
186
+ array( 'jquery' ),
187
+ false,
188
+ true
189
+ );
190
+ */
191
+ /*
192
+ //global $post;
193
+ $aptIframeSrc = get_admin_url(get_current_blog_id(), 'media-upload.php?chromeless=1&post_id=' . $_REQUEST['post'] . '&tab=apttab');
194
+ wp_localize_script('apt-media-views', 'aptIframeSrc', $aptIframeSrc);
195
+ */
196
+ if ( is_admin() ) {
197
+ wp_enqueue_script( 'jquery-progress', WAPT_PLUGIN_URL . '/admin/assets/jquery-ui/jquery-ui.progressbar.min.js', [], false, true );
198
+ wp_enqueue_script( 'jquery-autocolumnlist', WAPT_PLUGIN_URL . '/admin/assets/jquery-ui/jquery.autocolumnlist.js', [], false, true );
199
+ wp_enqueue_script( 'jquery-flex-images', WAPT_PLUGIN_URL . '/admin/assets/jquery-ui/jquery.flex-images.min.js', [ 'jquery' ], false, true );
200
+ wp_enqueue_style( 'style', WAPT_PLUGIN_URL . '/admin/assets/css/style.css' );
201
+ wp_enqueue_style( 'flex-images', WAPT_PLUGIN_URL . '/admin/assets/css/jquery.flex-images.css' );
202
+ wp_localize_script( 'apt-admin-script-thumbnail', 'apt_thumb', [
203
+ 'button_text' => __( 'Use as thumbnail', 'apt' ),
204
+ 'modal_title' => __( 'Change featured image', 'apt' ),
205
+ ] );
206
+ wp_enqueue_style( 'jquery-ui-genpostthumbs', WAPT_PLUGIN_URL . '/admin/assets/jquery-ui/jquery-ui.min.css', [], '1.7.2' );
207
+ //wp_enqueue_style( 'jquery-ui-genpostthumbs', plugins_url( 'admin/assets/jquery-ui/redmond/jquery-ui-1.7.2.custom.css', __FILE__ ), array(), '1.7.2' );
208
+ }
209
+
210
+ //-----------------------------------
211
+ if ( 'settings_page_generate-post-thumbnails' != $hook_suffix ) {
212
+ return;
213
+ }
214
+ }
215
+
216
+ /**
217
+ * Get posts id's
218
+ *
219
+ * @return void
220
+ */
221
+ public function get_posts_ids() {
222
+ if ( ! current_user_can( 'manage_options' ) ) {
223
+ die( '-1' );
224
+ }
225
+ check_ajax_referer( 'get-posts' );
226
+
227
+ global $wpdb;
228
+
229
+ // Get id's of all the published posts for which post thumbnails does not exist.
230
+ $query = $this->get_posts_query();
231
+ $posts = $wpdb->get_results( $query );
232
+
233
+ if ( ! empty( $posts ) ) {
234
+ // Generate the list of IDs
235
+ $ids = [];
236
+ foreach ( $posts as $post ) {
237
+ $ids[] = $post->ID;
238
+ }
239
+ $ids = implode( ',', $ids );
240
+ echo $ids;
241
+ } else {
242
+ echo "0";
243
+ //esc_html_e( 'Currently there are no published posts available to generate thumbnails.', 'apt' );
244
+ }
245
+ die( - 1 );
246
+ }
247
+
248
+ /**
249
+ * Process single post to generate the post thumbnail
250
+ *
251
+ * @return void
252
+ */
253
+ public function ajax_process_post() {
254
+ if ( ! current_user_can( 'manage_options' ) ) {
255
+ die( '-1' );
256
+ }
257
+ check_ajax_referer( 'generate-post-thumbnails' );
258
+ if ( isset( $_POST['id'] ) && ! empty( $_POST['id'] ) ) {
259
+ $id = intval( $_POST['id'] );
260
+
261
+ if ( empty( $id ) ) {
262
+ die( '-1' );
263
+ }
264
+
265
+ set_time_limit( 60 );
266
+
267
+ // Pass on the id to our 'publish' callback function.
268
+ echo (int) $this->publish_post( $id );
269
+
270
+ die( - 1 );
271
+ }
272
+ die( - 1 );
273
+ }
274
+
275
+ /**
276
+ * Check whether the required directory structure is available so that the plugin can create thumbnails if needed.
277
+ * If not, don't allow plugin activation.
278
+ */
279
+ public function check_perms() {
280
+ $uploads = wp_upload_dir( current_time( 'mysql' ) );
281
+
282
+ if ( $uploads['error'] ) {
283
+ echo '<div class="updated"><p>';
284
+ echo $uploads['error'];
285
+
286
+ if ( function_exists( 'deactivate_plugins' ) ) {
287
+ deactivate_plugins( 'auto-post-thumbnail/auto-post-thumbnail.php', 'auto-post-thumbnail.php' );
288
+ echo '<br /> ' . esc_html__( 'This plugin has been automatically deactivated.', 'apt' );
289
+ }
290
+
291
+ echo '</p></div>';
292
+ }
293
+ }
294
+
295
+ /**
296
+ * Function to check whether scheduled post is being published. If so, apt_publish_post should be called.
297
+ *
298
+ * @param $new_status
299
+ * @param $old_status
300
+ * @param WP_Post $post Instance of post.
301
+ *
302
+ * @return void
303
+ */
304
+ public function check_required_transition( $new_status = '', $old_status = '', $post = '' ) {
305
+
306
+ if ( 'publish' == $new_status ) {
307
+ $this->publish_post( $post->ID );
308
+ }
309
+ }
310
+
311
+ /**
312
+ * Return sql query, which allows to receive all the posts without thumbnails
313
+ *
314
+ * @return string
315
+ */
316
+ public function get_posts_query() {
317
+ global $wpdb;
318
+
319
+ return "SELECT * FROM {$wpdb->posts} p WHERE p.post_status = 'publish' AND p.post_type = 'post' AND (
320
+ p.ID NOT IN (
321
+ SELECT DISTINCT post_id FROM {$wpdb->postmeta} WHERE meta_key IN ('_thumbnail_id', 'skip_post_thumb')
322
+ ) OR
323
+ NOT EXISTS (SELECT p2.ID FROM {$wpdb->posts} p2 WHERE p2.ID = (SELECT meta_value FROM {$wpdb->postmeta} WHERE meta_key = '_thumbnail_id' AND post_id = p.ID) AND p2.post_type = 'attachment')
324
+ )";
325
+ }
326
+
327
+ /**
328
+ * Get an array of images url, contained in the post
329
+ *
330
+ * @param $post_id
331
+ *
332
+ * @return array
333
+ */
334
+ public function get_images_from_post( $post_id ) {
335
+ $post = get_post( $post_id );
336
+
337
+ // Initialize variable used to store list of matched images as per provided regular expression
338
+ $matches = [];
339
+ $images = [];
340
+
341
+ // Get all images from post's body
342
+ preg_match_all( '/<\s*img [^\>]*src\s*=\s*[\""\']?([^\""\'>]*).*?>/i', $post->post_content, $matches );
343
+
344
+ if ( count( $matches ) ) {
345
+ foreach ( $matches[0] as $key => $image ) {
346
+ // Make sure to assign correct title to the image. Extract it from img tag
347
+ preg_match_all( '/<\s*img [^\>]*title\s*=\s*[\""\']?([^\""\'>]*)/i', $image, $matchesTitle );
348
+
349
+ if ( count( $matchesTitle ) && isset( $matchesTitle[1] ) && isset( $matchesTitle[1][ $key ] ) ) {
350
+ $images['titles'][] = $matches[1][ $key ];
351
+ }
352
+
353
+ $images['tags'][] = htmlspecialchars( $image );
354
+ $images['urls'][] = $matches[1][ $key ];
355
+ }
356
+ }
357
+
358
+ return $images;
359
+ }
360
+
361
+ /**
362
+ * Get thumbnail id for image
363
+ *
364
+ * @param $post_id
365
+ * @param $image
366
+ * @param $key
367
+ * @param array $images_urls
368
+ *
369
+ * @return bool|int
370
+ */
371
+ public function get_thumbnail_id( $image, $key ) {
372
+ global $wpdb;
373
+
374
+ /**
375
+ * If the image is from the WordPress own media gallery, then it appends the thumbnail id to a css class.
376
+ * Look for this id in the IMG tag.
377
+ */
378
+ preg_match( '/wp-image-([\d]*)/i', $image, $thumb_id );
379
+
380
+ if ( $thumb_id ) {
381
+ $thumb_id = $thumb_id[1];
382
+ }
383
+
384
+ if ( ! get_post( $thumb_id ) ) {
385
+ $thumb_id = false;
386
+ }
387
+
388
+ // If thumb id is not found, try to look for the image in DB. Thanks to "Erwin Vrolijk" for providing this code.
389
+ if ( ! $thumb_id ) {
390
+ $image = substr( $image, strpos( $image, '"' ) + 1 );
391
+ $result = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE guid = '" . $image . "'" );
392
+ if ( $result ) {
393
+ $thumb_id = $result[0]->ID;
394
+ }
395
+ }
396
+
397
+ // Still no id found? Try found by post_name
398
+ if ( ! $thumb_id ) {
399
+ if ( isset( $images['tags'][ $key ] ) && ! empty( $images['tags'][ $key ] ) ) {
400
+ $image_url = trim( $images['tags'][ $key ] );
401
+ $_parts = explode( '/', $image_url );
402
+ $image_url = array_pop( $_parts );
403
+ $_parts = explode( '.', $image_url );
404
+ $image_url = array_shift( $_parts );
405
+
406
+ if ( $image_url ) {
407
+ $result = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_name = '" . $image_url . "' AND post_type = 'attachment'" );
408
+ if ( $result ) {
409
+ $thumb_id = $result[0]->ID;
410
+ }
411
+ }
412
+ }
413
+ }
414
+
415
+ return is_numeric( $thumb_id ) ? $thumb_id : false;
416
+ }
417
+
418
+ /**
419
+ * Function to save first image in post as post thumbnail.
420
+ *
421
+ * @param int $post_id Post ID.
422
+ *
423
+ * @return int
424
+ */
425
+ public function publish_post( $post_id ) {
426
+ global $wpdb;
427
+
428
+ // First check whether Post Thumbnail is already set for this post.
429
+ $_thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
430
+ if ( $_thumbnail_id && $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE id = '$_thumbnail_id' AND post_type = 'attachment'" ) || get_post_meta( $post_id, 'skip_post_thumb', true ) ) {
431
+ return 0;
432
+ }
433
+
434
+ $thumb_id = 0;
435
+
436
+ $images = $this->get_images_from_post( $post_id );
437
+ if ( isset( $images['tags'] ) && count( $images['tags'] ) ) {
438
+ foreach ( $images['tags'] as $key => $image ) {
439
+ $thumb_id = $this->get_thumbnail_id( $image, $key );
440
+ // If we succeed in generating thumb, let's update post meta
441
+ if ( $thumb_id ) {
442
+ update_post_meta( $post_id, '_thumbnail_id', $thumb_id );
443
+
444
+ return $thumb_id;
445
+ } else {
446
+ $thumb_id = $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE guid LIKE '" . $images['urls'][ $key ] . "'" );
447
+ update_post_meta( $post_id, '_thumbnail_id', $thumb_id );
448
+
449
+ return $thumb_id ? $thumb_id : 0;
450
+ }
451
+ }
452
+ }
453
+
454
+ return $thumb_id;
455
+ }
456
+
457
+ /**
458
+ * Search through an array for a matching key.
459
+ *
460
+ * Examples:
461
+ * <code>
462
+ * $array = array(
463
+ * "database.name" => "my_db_name",
464
+ * "database.host" => "myhost.com",
465
+ * "database.user" => "admin",
466
+ * "database.pass" => "a secret."
467
+ * );
468
+ *
469
+ * $search = array_contains_key($array, "database");
470
+ * var_dump($search);
471
+ *
472
+ * Result:
473
+ * array (size=4)
474
+ * 'database.name' => string 'my_db_name' (length=10)
475
+ * 'database.host' => string 'myhost.com' (length=10)
476
+ * 'database.user' => string 'admin' (length=5)
477
+ * 'database.pass' => string 'a secret.' (length=9)
478
+ * </code>
479
+ *
480
+ * https://gist.github.com/steve-todorov/3671626
481
+ *
482
+ * @param array $input_array
483
+ * @param string $search_value
484
+ * @param bool $case_sensitive
485
+ *
486
+ * @return array
487
+ */
488
+ function array_contains_key( array $input_array, $search_value, $case_sensitive = false ) {
489
+ if ( $case_sensitive ) {
490
+ $preg_match = '/' . $search_value . '/';
491
+ } else {
492
+ $preg_match = '/' . $search_value . '/i';
493
+ }
494
+ $return_array = [];
495
+ $keys = array_keys( $input_array );
496
+ foreach ( $keys as $k ) {
497
+ if ( preg_match( $preg_match, $k ) ) {
498
+ $return_array[ $k ] = $input_array[ $k ];
499
+ }
500
+ }
501
+
502
+ return $return_array;
503
+ }
504
+
505
+ /**
506
+ * Fetch image from URL and generate required thumbnails.
507
+ *
508
+ * @param $matches
509
+ * @param $key
510
+ * @param $post_content
511
+ * @param $post_id
512
+ *
513
+ * @return int|WP_Error|null
514
+ */
515
+ public function generate_post_thumb( $matches, $titles, $key, $post_id ) {
516
+ // Get the URL now for further processing
517
+ //$imageUrl = $matches[1][ $key ];
518
+ $imageUrl = $matches[ $key ];
519
+ if ( ! empty( $titles ) ) {
520
+ $imageTitle = $titles[ $key ];
521
+ } else {
522
+ $imageTitle = '';
523
+ }
524
+
525
+ // Get the file name
526
+ $filename = substr( $imageUrl, ( strrpos( $imageUrl, '/' ) ) + 1 );
527
+
528
+ if ( ! ( ( $uploads = wp_upload_dir( current_time( 'mysql' ) ) ) && false === $uploads['error'] ) ) {
529
+ return null;
530
+ }
531
+
532
+ // Generate unique file name
533
+ $filename = wp_unique_filename( $uploads['path'], $filename );
534
+
535
+ // Move the file to the uploads dir
536
+ $new_file = $uploads['path'] . "/$filename";
537
+
538
+ if ( ! ini_get( 'allow_url_fopen' ) ) {
539
+ $file_data = $this->curl_get_file_contents( $imageUrl );
540
+ } else {
541
+ $file_data = @file_get_contents( $imageUrl );
542
+ }
543
+
544
+ if ( ! $file_data ) {
545
+ return null;
546
+ }
547
+
548
+ //Fix for checking file extensions
549
+ $exts = explode( ".", $filename );
550
+ if ( count( $exts ) > 2 ) {
551
+ return null;
552
+ }
553
+
554
+ $allowed = get_allowed_mime_types();
555
+ $ext = pathinfo( $new_file, PATHINFO_EXTENSION );
556
+ if ( ! $this->array_contains_key( $allowed, $ext ) ) {
557
+ return null;
558
+ }
559
+
560
+ file_put_contents( $new_file, $file_data );
561
+
562
+ // Set correct file permissions
563
+ $stat = stat( dirname( $new_file ) );
564
+ $perms = $stat['mode'] & 0000666;
565
+ @ chmod( $new_file, $perms );
566
+
567
+ $mimes = $type = $file = null;
568
+
569
+ // Get the file type. Must to use it as a post thumbnail.
570
+ $wp_filetype = wp_check_filetype( $filename, $mimes );
571
+
572
+ extract( $wp_filetype );
573
+
574
+ // No file type! No point to proceed further
575
+ if ( ( ! $type || ! $ext ) && ! current_user_can( 'unfiltered_upload' ) ) {
576
+ return null;
577
+ }
578
+
579
+ // Compute the URL
580
+ $url = $uploads['url'] . "/$filename";
581
+
582
+ // Construct the attachment array
583
+ $attachment = [
584
+ 'post_mime_type' => $type,
585
+ 'guid' => $url,
586
+ 'post_parent' => null,
587
+ 'post_title' => $imageTitle,
588
+ 'post_content' => '',
589
+ ];
590
+
591
+ $thumb_id = wp_insert_attachment( $attachment, $file, $post_id );
592
+ if ( ! is_wp_error( $thumb_id ) ) {
593
+ require_once( ABSPATH . '/wp-admin/includes/image.php' );
594
+
595
+ // Added fix by misthero as suggested
596
+ wp_update_attachment_metadata( $thumb_id, wp_generate_attachment_metadata( $thumb_id, $new_file ) );
597
+ update_attached_file( $thumb_id, $new_file );
598
+
599
+ return $thumb_id;
600
+ }
601
+
602
+ return null;
603
+ }
604
+
605
+ /**
606
+ * Function to fetch the contents of URL using curl in absence of allow_url_fopen.
607
+ *
608
+ * Copied from user comment on php.net (http://in.php.net/manual/en/function.file-get-contents.php#82255)
609
+ */
610
+ public function curl_get_file_contents( $URL ) {
611
+ $c = curl_init();
612
+ curl_setopt( $c, CURLOPT_RETURNTRANSFER, 1 );
613
+ curl_setopt( $c, CURLOPT_URL, $URL );
614
+ $contents = curl_exec( $c );
615
+ curl_close( $c );
616
+
617
+ if ( $contents ) {
618
+ return $contents;
619
+ }
620
+
621
+ return false;
622
+ }
623
+
624
+ /**
625
+ * Function for adding "image" column in Posts table
626
+ *
627
+ * @param array $columns
628
+ *
629
+ * @return array
630
+ */
631
+ public function add_image_column( $columns ) {
632
+ $new_columns = [
633
+ 'apt-image' => __( 'Image', 'apt' ) . ' <sup class="wapt-sup-pro">(PRO)<sup>',
634
+ ];
635
+
636
+ return array_slice( $columns, 0, $this->numberOfColumn ) + $new_columns + array_slice( $columns, $this->numberOfColumn );
637
+ }
638
+
639
+ /**
640
+ * Function to filling "image" column in Posts table
641
+ *
642
+ * @param string $colname
643
+ * @param int $post_id
644
+ */
645
+ public function fill_image_column( $colname, $post_id ) {
646
+ if ( $colname === 'apt-image' ) {
647
+ $thumb_id = get_post_thumbnail_id( $post_id );
648
+ //$this->nonce = wp_create_nonce( 'set_post_thumbnail-' . $post_id );
649
+ echo $this->apt_getThumbHtml( $post_id, $thumb_id );
650
+ }
651
+ }
652
+
653
+ /**
654
+ * Используется для динамического обновления столбца "Image" после выбора изображения в общем списке постов
655
+ *
656
+ * @return array|bool
657
+ *
658
+ * @uses apt_thumb
659
+ */
660
+ public function apt_replace_thumbnail() {
661
+
662
+ if ( isset( $_POST['post_id'] ) && ! empty( $_POST['post_id'] ) ) {
663
+ $post_id = intval( $_POST['post_id'] );
664
+ if ( ! current_user_can( 'edit_post', $post_id ) ) {
665
+ wp_die( - 1 );
666
+ } else {
667
+ check_ajax_referer( 'set_post_thumbnail-' . $post_id );
668
+ if ( isset( $_POST['thumbnail_id'] ) && ! empty( $_POST['thumbnail_id'] ) ) {
669
+ $thumb_id = intval( $_POST['thumbnail_id'] );
670
+ } else {
671
+ if ( isset( $_POST['image'] ) && ! empty( $_POST['image'] ) ) {
672
+ $thumb_id = $this->generate_post_thumb( [ 0 => $_POST['image'] ], [], 0, $post_id );
673
+ }
674
+ }
675
+
676
+ if ( $thumb_id ) {
677
+ update_post_meta( $post_id, '_thumbnail_id', $thumb_id );
678
+ } else {
679
+ global $wpdb;
680
+ $thumb_id = $wpdb->get_var( "SELECT ID FROM {$wpdb->posts} WHERE guid LIKE '" . $_POST['image'] . "'" );
681
+ if ( $thumb_id ) {
682
+ update_post_meta( $post_id, '_thumbnail_id', $thumb_id );
683
+ } else {
684
+ $thumb_id = 0;
685
+ }
686
+ }
687
+ echo $this->apt_getThumbHtml( $post_id, $thumb_id );
688
+ }
689
+ }
690
+ die();
691
+ }
692
+
693
+ /**
694
+ * Используется для динамической загрузки изображений поста в окно выбора
695
+ *
696
+ * @return array|bool
697
+ * @uses apt_thumb
698
+ */
699
+ public function apt_get_thumbnail() {
700
+ include WAPT_ABSPATH . "/admin/views/pro_column.php";
701
+ die();
702
+ }
703
+
704
+ /**
705
+ * Формирует HTML конструкцию для вывода картинки поста в общей таблице постов
706
+ *
707
+ * @param $post_id
708
+ * @param $thumb_id
709
+ *
710
+ * @return string HTML конструкция готовая для вывода
711
+ */
712
+ public function apt_getThumbHtml( $post_id, $thumb_id ) {
713
+ $imgTag = get_the_post_thumbnail( $post_id, [ 100, 0 ], [ 'class' => 'img' ] );
714
+ if ( empty( $imgTag ) ) {
715
+ $imgTag = __( 'No image', 'apt' );
716
+ }
717
+
718
+ $title = __( 'Change featured image', 'apt' );
719
+ $wpnonce = wp_create_nonce( 'set_post_thumbnail-' . $post_id );
720
+ $ajaxloader = WAPT_PLUGIN_URL . "/admin/assets/img/ajax-loader.gif";
721
+ $content = "";
722
+ $html = "<a title='{$title}' href='#' class='modal-init-js' id='modal-init-js_{$post_id}' " . "onclick='return window.aptModalShow(this, {$post_id}, \"$wpnonce\");'>{$imgTag}</a>" . "<span id='loader_{$post_id}' style='display:none;'><img src='{$ajaxloader}' width='100px' alt=''></span>" . "<div id='post_imgs_{$post_id}' class='imgs' style='display:none;'>" . "<span style='display:none;'><img src='{$ajaxloader}' alt=''></span><p>{$content}</p></div>";
723
+
724
+ return $html;
725
+ }
726
+
727
+ /**
728
+ * Add subpage to media menu
729
+ *
730
+ * @param $hook_suffix
731
+ *
732
+ * @return void
733
+ */
734
+ public function my_custom_submenu_page() {
735
+ add_media_page( __( 'Auto Post Thumbnails', 'apt' ), __( 'Add from APT', 'apt' ), 'manage_options', 'menu-media-apt', [
736
+ $this,
737
+ 'addToMediaFromApt'
738
+ ] );
739
+ }
740
+
741
+ /**
742
+ * Контент подпункта меню в Медиафайлы
743
+ *
744
+ */
745
+ public function addToMediaFromApt() {
746
+ //media_upload_header();
747
+ $this->is_in_medialibrary = true;
748
+ $this->sources = apply_filters( 'wapt/sources', $this->sources );
749
+ require_once WAPT_ABSPATH . "/admin/views/media-library.php";
750
+ }
751
+
752
+
753
+ /**
754
+ * Добавляет вкладку в медиабиблиотеку
755
+ *
756
+ * @param $tabs
757
+ *
758
+ * @return array
759
+ */
760
+ public function addTab( $tabs ) {
761
+ $tabs['apttab'] = __( "Auto Post Thumbnail", "apt" );
762
+
763
+ return ( $tabs );
764
+ }
765
+
766
+ /**
767
+ * Обработчик вывода во вкладку
768
+ *
769
+ */
770
+ public function aptTabHandle() {
771
+ // wp_iframe() adds css for "media" when callback function has "media_" as prefix
772
+ wp_iframe( [ $this, "media_AptTabContent" ] );
773
+ }
774
+
775
+ /**
776
+ * Контент вкладки
777
+ *
778
+ */
779
+ public function media_AptTabContent() {
780
+ media_upload_header();
781
+ $this->sources = apply_filters( 'wapt/sources', $this->sources );
782
+ require_once WAPT_ABSPATH . "/admin/views/media-library.php";
783
+ }
784
+
785
+ /**
786
+ * AJAX вывод содержимого вкладки сервиса
787
+ *
788
+ */
789
+ public function source_content() {
790
+ if ( ! wp_verify_nonce( $_POST['wpnonce'], 'apt_content' ) ) {
791
+ die( 'Error: Invalid request.' );
792
+ }
793
+ $this->sources = apply_filters( 'wapt/sources', $this->sources );
794
+ if ( isset( $_POST['source'] ) && ! empty( $_POST['source'] ) ) {
795
+ $source = str_replace( "tab-", "", sanitize_text_field( $_POST['source'] ) );
796
+
797
+ //if( empty($this->sources[$source]) && !WAPT_Plugin::app()->premium->is_activate() )
798
+ if ( empty( $this->sources[ $source ] ) ) {
799
+ require_once WAPT_PLUGIN_DIR . '/admin/views/pro.php';
800
+ } else {
801
+ require_once WP_PLUGIN_DIR . '/' . $this->sources[ $source ] . '/admin/views/sources/' . $source . '.php';
802
+ }
803
+ }
804
+ die();
805
+ }
806
+
807
+ /**
808
+ * AJAX загрузка выбраного изображения
809
+ *
810
+ */
811
+ public function upload_to_library() {
812
+
813
+ if ( ! wp_verify_nonce( $_POST['wpnonce'], 'apt_upload' ) ) {
814
+ die( 'Error: Invalid request.' );
815
+ }
816
+ if ( isset( $_POST['is_upload'] ) ) {
817
+
818
+ $postid = $_POST['postid'];
819
+
820
+ // get image file
821
+ $response = wp_remote_get( $_POST['image_url'], [ 'timeout' => 100 ] );
822
+ if ( is_wp_error( $response ) ) {
823
+ die( 'Error: ' . $response->get_error_message() );
824
+ }
825
+
826
+ $file_ext = '';
827
+ switch ( $_POST['service'] ) {
828
+ case 'pixabay':
829
+ $path_info = pathinfo( $_POST['image_url'] );
830
+ $file_ext = $path_info['extension'];
831
+ $image_title = sanitize_text_field( $_POST['q'] );
832
+ break;
833
+ case 'unsplash':
834
+ parse_str( parse_url( $_POST['image_url'], PHP_URL_QUERY ), $url_query );
835
+ $file_ext = $url_query['fm'];
836
+ $image_title = sanitize_text_field( $_POST['title'] );
837
+ break;
838
+ case 'google':
839
+ $path_info = pathinfo( $_POST['image_url'] );
840
+ $file_ext = $path_info['extension'];
841
+ if ( $file_ext !== 'jpg' && $file_ext !== 'jpeg' && $file_ext !== 'png' && $file_ext !== 'gif' ) {
842
+ $file_ext = 'jpg';
843
+ }
844
+ if ( empty( $file_ext ) ) {
845
+ $file_ext = 'jpg';
846
+ }
847
+ $image_title = sanitize_text_field( $_POST['title'] );
848
+ break;
849
+ }
850
+
851
+ $file_name = sanitize_file_name( implode( '_', explode( ' ', $_POST['q'] ) ) . '_' . time() . '.' . $file_ext );
852
+ $wp_upload_dir = wp_upload_dir();
853
+ $image_upload_path = $wp_upload_dir['path'];
854
+
855
+ if ( ! is_dir( $image_upload_path ) ) {
856
+ if ( ! @mkdir( $image_upload_path, 0777, true ) ) {
857
+ die( 'Error: Failed to create upload folder ' . $image_upload_path );
858
+ }
859
+ }
860
+
861
+ $target_file_name = $image_upload_path . '/' . $file_name;
862
+ $result = @file_put_contents( $target_file_name, $response['body'] );
863
+ unset( $response['body'] );
864
+ if ( $result === false ) {
865
+ die( 'Error: Failed to write file ' . $target_file_name );
866
+ }
867
+
868
+ // are we dealing with an image
869
+ require_once( ABSPATH . 'wp-admin/includes/image.php' );
870
+ if ( ! wp_read_image_metadata( $target_file_name ) ) {
871
+ unlink( $target_file_name );
872
+ die( 'Error: File is not an image.' );
873
+ }
874
+
875
+ $attachment_caption = '';
876
+
877
+ // insert attachment
878
+ $wp_filetype = wp_check_filetype( basename( $target_file_name ), null );
879
+ $attachment = [
880
+ 'guid' => $wp_upload_dir['url'] . '/' . basename( $target_file_name ),
881
+ 'post_mime_type' => $wp_filetype['type'],
882
+ 'post_title' => preg_replace( '/\.[^.]+$/', '', $image_title ),
883
+ 'post_status' => 'inherit'
884
+ ];
885
+
886
+ $attach_id = wp_insert_attachment( $attachment, $target_file_name, $postid );
887
+ if ( $attach_id == 0 ) {
888
+ die( 'Error: File attachment error' );
889
+ }
890
+
891
+ $attach_data = wp_generate_attachment_metadata( $attach_id, $target_file_name );
892
+ $result = wp_update_attachment_metadata( $attach_id, $attach_data );
893
+ if ( $result === false ) {
894
+ die( 'Error: File attachment metadata error' );
895
+ }
896
+
897
+ $image_data = [];
898
+ $image_data['ID'] = $attach_id;
899
+ $image_data['post_excerpt'] = $_POST['excerpt'];
900
+ wp_update_post( $image_data );
901
+
902
+ echo $attach_id;
903
+
904
+ exit;
905
+ }
906
+ }
907
+ }
includes/class-wapt-plugin.php ADDED
@@ -0,0 +1,252 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ /**
9
+ * Основной класс плагина Auto Post Thumbnail
10
+ *
11
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
12
+ * @copyright (c) 2018 Webraftic Ltd
13
+ * @version 1.0
14
+ */
15
+
16
+ class WAPT_Plugin extends Wbcr_Factory421_Plugin {
17
+
18
+ /**
19
+ * @see self::app()
20
+ * @var Wbcr_Factory421_Plugin
21
+ */
22
+ private static $app;
23
+
24
+ /**
25
+ * @var integer
26
+ */
27
+ public $numberOfColumn;
28
+ /**
29
+ * Конструктор
30
+ *
31
+ * Применяет конструктор родительского класса и записывает экземпляр текущего класса в свойство $app.
32
+ * Подробнее о свойстве $app см. self::app()
33
+ *
34
+ * @param string $plugin_path
35
+ * @param array $data
36
+ *
37
+ * @throws Exception
38
+ */
39
+ public function __construct( $plugin_path, $data ) {
40
+ parent::__construct( $plugin_path, $data );
41
+
42
+ self::$app = $this;
43
+
44
+ if ( is_admin() ) {
45
+ // Регистрации класса активации/деактивации плагина
46
+ $this->initActivation();
47
+
48
+ require( WAPT_PLUGIN_DIR . '/admin/ajax/check-license.php' );
49
+
50
+ // Инициализация скриптов для бэкенда
51
+ $this->admin_scripts();
52
+ //------ ACTIONS ------
53
+ // filter posts
54
+ add_action( 'restrict_manage_posts', [ $this, 'add_posts_filters']);
55
+ add_action( 'pre_get_posts', [ $this, 'posts_filter'], 10, 1 );
56
+ add_filter( 'views_edit-post', [ $this, 'add_filter_link' ], 10, 1 );
57
+ // bulk actions
58
+ add_filter( 'bulk_actions-edit-post', [ $this, 'register_bulk_action_generate'] );
59
+ add_filter( 'handle_bulk_actions-edit-post', [ $this, 'bulk_action_generate_handler'], 10, 3 );
60
+ add_action( 'admin_notices', [ $this, 'apt_bulk_action_admin_notice'] );
61
+ }
62
+ $this->global_scripts();
63
+ }
64
+
65
+ /**
66
+ * Статический метод для быстрого доступа к интерфейсу плагина.
67
+ *
68
+ * Позволяет разработчику глобально получить доступ к экземпляру класса плагина в любом месте
69
+ * плагина, но при этом разработчик не может вносить изменения в основной класс плагина.
70
+ *
71
+ * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
72
+ * классам.
73
+ *
74
+ * @return Wbcr_Factory421_Plugin
75
+ */
76
+ public static function app() {
77
+ return self::$app;
78
+ }
79
+
80
+ /**
81
+ * Регистрации класса активации/деактивации плагина
82
+ */
83
+ protected function initActivation() {
84
+ include_once( WAPT_PLUGIN_DIR . '/admin/class-wapt-activation.php' );
85
+ $this->registerActivation( 'WAPT_Activation' );
86
+ }
87
+
88
+ /**
89
+ * Регистрирует классы страниц в плагине
90
+ *
91
+ */
92
+ private function register_pages() {
93
+ self::app()->registerPage( 'WAPT_Generate', WAPT_PLUGIN_DIR . '/admin/pages/generate.php' );
94
+ self::app()->registerPage( 'WAPT_License', WAPT_PLUGIN_DIR . '/admin/pages/license.php' );
95
+ self::app()->registerPage( 'WAPT_Settings', WAPT_PLUGIN_DIR . '/admin/pages/settings.php' );
96
+ self::app()->registerPage( 'WAPT_About', WAPT_PLUGIN_DIR . '/admin/pages/about.php' );
97
+ }
98
+
99
+ /**
100
+ * Код который должен инициализироваться на бэкенде
101
+ */
102
+ private function admin_scripts() {
103
+
104
+ // Регистрация страниц
105
+ $this->register_pages();
106
+ }
107
+
108
+ /**
109
+ * Код который должен инициализироваться на бэкенде и фронтэнде
110
+ */
111
+ private function global_scripts() {
112
+ // Код который должен инициализироваться на бэкенде и фронтенде
113
+ }
114
+
115
+ /**
116
+ * Register bulk option for posts
117
+ *
118
+ * @return array(string)
119
+ */
120
+ public function register_bulk_action_generate($bulk_actions)
121
+ {
122
+ $bulk_actions['apt_generate_thumb'] = __('Generate featured image', 'apt');
123
+ $bulk_actions['apt_delete_thumb'] = __('Unset featured image', 'apt');
124
+ return $bulk_actions;
125
+ }
126
+ /**
127
+ * Handler of bulk option for posts
128
+ *
129
+ * @return string
130
+ */
131
+ public function bulk_action_generate_handler($redirect_to, $doaction, $post_ids)
132
+ {
133
+ if( $doaction !== 'apt_generate_thumb' && $doaction !== 'apt_delete_thumb' )
134
+ return $redirect_to;
135
+
136
+ foreach( $post_ids as $post_id )
137
+ {
138
+ switch($doaction)
139
+ {
140
+ case 'apt_generate_thumb':
141
+ auto_post_thumbnails()->publish_post($post_id);
142
+ break;
143
+ case 'apt_delete_thumb':
144
+ delete_post_thumbnail($post_id);
145
+ break;
146
+ }
147
+ }
148
+
149
+ $redirect_to = add_query_arg( 'apt_bulk_action', count( $post_ids ), $redirect_to );
150
+
151
+ return $redirect_to;
152
+ }
153
+ /**
154
+ * Admin notice after bulk action
155
+ *
156
+ */
157
+ public function apt_bulk_action_admin_notice()
158
+ {
159
+ if( empty( $_GET['apt_bulk_action'] ) )
160
+ return;
161
+
162
+ $data = $_GET['apt_bulk_action'];
163
+ $msg = __('Processed posts: ','apt').intval($data);
164
+ echo '<div id="message" class="updated"><p>'. $msg .'</p></div>';
165
+ }
166
+ /**
167
+ * Add filter on the Posts list tables.
168
+ *
169
+ * @param $post_type string
170
+ * @param $witch string
171
+ */
172
+ public function add_posts_filters()
173
+ {
174
+ $screen = get_current_screen();
175
+
176
+ if(!empty($screen) && "post" == $screen->post_type)
177
+ {
178
+ $apt_is_image = false;
179
+ if(isset($_GET['apt_is_image'])) $apt_is_image = $_GET['apt_is_image'];
180
+
181
+ echo '<select name="apt_is_image">' .
182
+ '<option value="-1">' . __( 'Featured Image', 'apt' ) . '</option>' .
183
+ '<option value="1" ' . selected( 1, $apt_is_image, 0 ) . '>' . __( 'With image', 'apt' ) . '</option>' .
184
+ '<option value="0" ' . selected( 0, $apt_is_image, 0 ) . '>' . __( 'Without image', 'apt' ) . '</option>' .
185
+ '</select>';
186
+ }
187
+ }
188
+
189
+ /**
190
+ * Filter the Posts list tables.
191
+ *
192
+ * @param $query WP_Query
193
+ *
194
+ */
195
+ public function posts_filter($query)
196
+ {
197
+ if( ! is_admin() ) return; // выходим если не админка
198
+
199
+ // убедимся что мы на нужной странице админки
200
+ require_once(ABSPATH.'wp-admin/includes/screen.php');
201
+ $cs = get_current_screen();
202
+ if( empty($cs->post_type) || $cs->post_type != 'post' || $cs->id != 'edit-post' ) return;
203
+
204
+ if(isset($_GET['apt_is_image']) && $_GET['apt_is_image'] != -1) {
205
+ if((int)$_GET['apt_is_image'] == 1)
206
+ $compare = 'EXISTS';
207
+ else
208
+ $compare = 'NOT EXISTS';
209
+ $query->set( 'meta_query', array(array('key' => '_thumbnail_id','compare' => $compare)) );
210
+ }
211
+ }
212
+
213
+ /**
214
+ * Add filter on the Posts list tables.
215
+ *
216
+ */
217
+ public function add_filter_link($views)
218
+ {
219
+ $args = array(
220
+ 'post_type' => 'post',
221
+ 'meta_query' => array(
222
+ array(
223
+ 'key' => '_thumbnail_id',
224
+ 'compare' => 'NOT EXISTS',
225
+ ),
226
+ ),
227
+ );
228
+ $my = new WP_Query($args);
229
+ $q = add_query_arg( array('apt_is_image' => '0', 'post_type' => 'post'), 'edit.php' );
230
+ $views['apt_filter'] = '<a href="'.$q.'">'.__('Without featured image','apt').'</a> ('.$my->post_count.')';
231
+ unset($my);
232
+ return $views;
233
+
234
+ }
235
+
236
+ /**
237
+ * Adding button fields
238
+ * @param \Elementor\Widget_Base $button
239
+ * @param array $args
240
+ */
241
+ public function elementor_gallery_custom_button($button, $args)
242
+ {
243
+ $button->add_control( 'custom_button_type',
244
+ [
245
+ 'label' => __( 'Add image from APT', 'apt' ),
246
+ 'type' => \Elementor\Controls_Manager::BUTTON,
247
+ 'text' => 'Add image',
248
+ 'event' => 'apt:editor:gallery'
249
+ ]
250
+ );
251
+ }
252
+ }
jquery-ui/jquery.ui.progressbar.min.js DELETED
@@ -1,16 +0,0 @@
1
- /*
2
- * jQuery UI Progressbar 1.8.6
3
- *
4
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
5
- * Dual licensed under the MIT or GPL Version 2 licenses.
6
- * http://jquery.org/license
7
- *
8
- * http://docs.jquery.com/UI/Progressbar
9
- *
10
- * Depends:
11
- * jquery.ui.core.js
12
- * jquery.ui.widget.js
13
- */
14
- (function(b,c){b.widget("ui.progressbar",{options:{value:0},min:0,max:100,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
15
- this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===c)return this._value();this._setOption("value",a);return this},_setOption:function(a,d){if(a==="value"){this.options.value=d;this._refreshValue();this._trigger("change");this._value()===this.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.max,Math.max(this.min,a))},_refreshValue:function(){var a=
16
- this.value();this.valueDiv.toggleClass("ui-corner-right",a===this.max).width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.6"})})(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
jquery-ui/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png DELETED
Binary file
jquery-ui/redmond/images/ui-bg_flat_55_fbec88_40x100.png DELETED
Binary file
jquery-ui/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png DELETED
Binary file
jquery-ui/redmond/images/ui-bg_glass_85_dfeffc_1x400.png DELETED
Binary file
jquery-ui/redmond/images/ui-bg_glass_95_fef1ec_1x400.png DELETED
Binary file
jquery-ui/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png DELETED
Binary file
jquery-ui/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png DELETED
Binary file
jquery-ui/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png DELETED
Binary file
jquery-ui/redmond/jquery-ui-1.7.2.custom.css DELETED
@@ -1,406 +0,0 @@
1
- /*
2
- * jQuery UI CSS Framework
3
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
4
- * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
5
- */
6
-
7
- /* Layout helpers
8
- ----------------------------------*/
9
- .ui-helper-hidden { display: none; }
10
- .ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
11
- .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
12
- .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
13
- .ui-helper-clearfix { display: inline-block; }
14
- /* required comment for clearfix to work in Opera \*/
15
- * html .ui-helper-clearfix { height:1%; }
16
- .ui-helper-clearfix { display:block; }
17
- /* end clearfix */
18
- .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
19
-
20
-
21
- /* Interaction Cues
22
- ----------------------------------*/
23
- .ui-state-disabled { cursor: default !important; }
24
-
25
-
26
- /* Icons
27
- ----------------------------------*/
28
-
29
- /* states and images */
30
- .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
31
-
32
-
33
- /* Misc visuals
34
- ----------------------------------*/
35
-
36
- /* Overlays */
37
- .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
38
-
39
-
40
-
41
- /*
42
- * jQuery UI CSS Framework
43
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
44
- * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
45
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
46
- */
47
-
48
-
49
- /* Component containers
50
- ----------------------------------*/
51
- .ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; }
52
- .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; }
53
- .ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; }
54
- .ui-widget-content a { color: #222222; }
55
- .ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
56
- .ui-widget-header a { color: #ffffff; }
57
-
58
- /* Interaction states
59
- ----------------------------------*/
60
- .ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; outline: none; }
61
- .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; outline: none; }
62
- .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; outline: none; }
63
- .ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; outline: none; }
64
- .ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; outline: none; }
65
- .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; outline: none; text-decoration: none; }
66
-
67
- /* Interaction Cues
68
- ----------------------------------*/
69
- .ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; }
70
- .ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
71
- .ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
72
- .ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; }
73
- .ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; }
74
- .ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
75
- .ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
76
- .ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
77
-
78
- /* Icons
79
- ----------------------------------*/
80
-
81
- /* states and images */
82
- .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); }
83
- .ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); }
84
- .ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); }
85
- .ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); }
86
- .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); }
87
- .ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); }
88
- .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
89
- .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
90
-
91
- /* positioning */
92
- .ui-icon-carat-1-n { background-position: 0 0; }
93
- .ui-icon-carat-1-ne { background-position: -16px 0; }
94
- .ui-icon-carat-1-e { background-position: -32px 0; }
95
- .ui-icon-carat-1-se { background-position: -48px 0; }
96
- .ui-icon-carat-1-s { background-position: -64px 0; }
97
- .ui-icon-carat-1-sw { background-position: -80px 0; }
98
- .ui-icon-carat-1-w { background-position: -96px 0; }
99
- .ui-icon-carat-1-nw { background-position: -112px 0; }
100
- .ui-icon-carat-2-n-s { background-position: -128px 0; }
101
- .ui-icon-carat-2-e-w { background-position: -144px 0; }
102
- .ui-icon-triangle-1-n { background-position: 0 -16px; }
103
- .ui-icon-triangle-1-ne { background-position: -16px -16px; }
104
- .ui-icon-triangle-1-e { background-position: -32px -16px; }
105
- .ui-icon-triangle-1-se { background-position: -48px -16px; }
106
- .ui-icon-triangle-1-s { background-position: -64px -16px; }
107
- .ui-icon-triangle-1-sw { background-position: -80px -16px; }
108
- .ui-icon-triangle-1-w { background-position: -96px -16px; }
109
- .ui-icon-triangle-1-nw { background-position: -112px -16px; }
110
- .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
111
- .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
112
- .ui-icon-arrow-1-n { background-position: 0 -32px; }
113
- .ui-icon-arrow-1-ne { background-position: -16px -32px; }
114
- .ui-icon-arrow-1-e { background-position: -32px -32px; }
115
- .ui-icon-arrow-1-se { background-position: -48px -32px; }
116
- .ui-icon-arrow-1-s { background-position: -64px -32px; }
117
- .ui-icon-arrow-1-sw { background-position: -80px -32px; }
118
- .ui-icon-arrow-1-w { background-position: -96px -32px; }
119
- .ui-icon-arrow-1-nw { background-position: -112px -32px; }
120
- .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
121
- .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
122
- .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
123
- .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
124
- .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
125
- .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
126
- .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
127
- .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
128
- .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
129
- .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
130
- .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
131
- .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
132
- .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
133
- .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
134
- .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
135
- .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
136
- .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
137
- .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
138
- .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
139
- .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
140
- .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
141
- .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
142
- .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
143
- .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
144
- .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
145
- .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
146
- .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
147
- .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
148
- .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
149
- .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
150
- .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
151
- .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
152
- .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
153
- .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
154
- .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
155
- .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
156
- .ui-icon-arrow-4 { background-position: 0 -80px; }
157
- .ui-icon-arrow-4-diag { background-position: -16px -80px; }
158
- .ui-icon-extlink { background-position: -32px -80px; }
159
- .ui-icon-newwin { background-position: -48px -80px; }
160
- .ui-icon-refresh { background-position: -64px -80px; }
161
- .ui-icon-shuffle { background-position: -80px -80px; }
162
- .ui-icon-transfer-e-w { background-position: -96px -80px; }
163
- .ui-icon-transferthick-e-w { background-position: -112px -80px; }
164
- .ui-icon-folder-collapsed { background-position: 0 -96px; }
165
- .ui-icon-folder-open { background-position: -16px -96px; }
166
- .ui-icon-document { background-position: -32px -96px; }
167
- .ui-icon-document-b { background-position: -48px -96px; }
168
- .ui-icon-note { background-position: -64px -96px; }
169
- .ui-icon-mail-closed { background-position: -80px -96px; }
170
- .ui-icon-mail-open { background-position: -96px -96px; }
171
- .ui-icon-suitcase { background-position: -112px -96px; }
172
- .ui-icon-comment { background-position: -128px -96px; }
173
- .ui-icon-person { background-position: -144px -96px; }
174
- .ui-icon-print { background-position: -160px -96px; }
175
- .ui-icon-trash { background-position: -176px -96px; }
176
- .ui-icon-locked { background-position: -192px -96px; }
177
- .ui-icon-unlocked { background-position: -208px -96px; }
178
- .ui-icon-bookmark { background-position: -224px -96px; }
179
- .ui-icon-tag { background-position: -240px -96px; }
180
- .ui-icon-home { background-position: 0 -112px; }
181
- .ui-icon-flag { background-position: -16px -112px; }
182
- .ui-icon-calendar { background-position: -32px -112px; }
183
- .ui-icon-cart { background-position: -48px -112px; }
184
- .ui-icon-pencil { background-position: -64px -112px; }
185
- .ui-icon-clock { background-position: -80px -112px; }
186
- .ui-icon-disk { background-position: -96px -112px; }
187
- .ui-icon-calculator { background-position: -112px -112px; }
188
- .ui-icon-zoomin { background-position: -128px -112px; }
189
- .ui-icon-zoomout { background-position: -144px -112px; }
190
- .ui-icon-search { background-position: -160px -112px; }
191
- .ui-icon-wrench { background-position: -176px -112px; }
192
- .ui-icon-gear { background-position: -192px -112px; }
193
- .ui-icon-heart { background-position: -208px -112px; }
194
- .ui-icon-star { background-position: -224px -112px; }
195
- .ui-icon-link { background-position: -240px -112px; }
196
- .ui-icon-cancel { background-position: 0 -128px; }
197
- .ui-icon-plus { background-position: -16px -128px; }
198
- .ui-icon-plusthick { background-position: -32px -128px; }
199
- .ui-icon-minus { background-position: -48px -128px; }
200
- .ui-icon-minusthick { background-position: -64px -128px; }
201
- .ui-icon-close { background-position: -80px -128px; }
202
- .ui-icon-closethick { background-position: -96px -128px; }
203
- .ui-icon-key { background-position: -112px -128px; }
204
- .ui-icon-lightbulb { background-position: -128px -128px; }
205
- .ui-icon-scissors { background-position: -144px -128px; }
206
- .ui-icon-clipboard { background-position: -160px -128px; }
207
- .ui-icon-copy { background-position: -176px -128px; }
208
- .ui-icon-contact { background-position: -192px -128px; }
209
- .ui-icon-image { background-position: -208px -128px; }
210
- .ui-icon-video { background-position: -224px -128px; }
211
- .ui-icon-script { background-position: -240px -128px; }
212
- .ui-icon-alert { background-position: 0 -144px; }
213
- .ui-icon-info { background-position: -16px -144px; }
214
- .ui-icon-notice { background-position: -32px -144px; }
215
- .ui-icon-help { background-position: -48px -144px; }
216
- .ui-icon-check { background-position: -64px -144px; }
217
- .ui-icon-bullet { background-position: -80px -144px; }
218
- .ui-icon-radio-off { background-position: -96px -144px; }
219
- .ui-icon-radio-on { background-position: -112px -144px; }
220
- .ui-icon-pin-w { background-position: -128px -144px; }
221
- .ui-icon-pin-s { background-position: -144px -144px; }
222
- .ui-icon-play { background-position: 0 -160px; }
223
- .ui-icon-pause { background-position: -16px -160px; }
224
- .ui-icon-seek-next { background-position: -32px -160px; }
225
- .ui-icon-seek-prev { background-position: -48px -160px; }
226
- .ui-icon-seek-end { background-position: -64px -160px; }
227
- .ui-icon-seek-first { background-position: -80px -160px; }
228
- .ui-icon-stop { background-position: -96px -160px; }
229
- .ui-icon-eject { background-position: -112px -160px; }
230
- .ui-icon-volume-off { background-position: -128px -160px; }
231
- .ui-icon-volume-on { background-position: -144px -160px; }
232
- .ui-icon-power { background-position: 0 -176px; }
233
- .ui-icon-signal-diag { background-position: -16px -176px; }
234
- .ui-icon-signal { background-position: -32px -176px; }
235
- .ui-icon-battery-0 { background-position: -48px -176px; }
236
- .ui-icon-battery-1 { background-position: -64px -176px; }
237
- .ui-icon-battery-2 { background-position: -80px -176px; }
238
- .ui-icon-battery-3 { background-position: -96px -176px; }
239
- .ui-icon-circle-plus { background-position: 0 -192px; }
240
- .ui-icon-circle-minus { background-position: -16px -192px; }
241
- .ui-icon-circle-close { background-position: -32px -192px; }
242
- .ui-icon-circle-triangle-e { background-position: -48px -192px; }
243
- .ui-icon-circle-triangle-s { background-position: -64px -192px; }
244
- .ui-icon-circle-triangle-w { background-position: -80px -192px; }
245
- .ui-icon-circle-triangle-n { background-position: -96px -192px; }
246
- .ui-icon-circle-arrow-e { background-position: -112px -192px; }
247
- .ui-icon-circle-arrow-s { background-position: -128px -192px; }
248
- .ui-icon-circle-arrow-w { background-position: -144px -192px; }
249
- .ui-icon-circle-arrow-n { background-position: -160px -192px; }
250
- .ui-icon-circle-zoomin { background-position: -176px -192px; }
251
- .ui-icon-circle-zoomout { background-position: -192px -192px; }
252
- .ui-icon-circle-check { background-position: -208px -192px; }
253
- .ui-icon-circlesmall-plus { background-position: 0 -208px; }
254
- .ui-icon-circlesmall-minus { background-position: -16px -208px; }
255
- .ui-icon-circlesmall-close { background-position: -32px -208px; }
256
- .ui-icon-squaresmall-plus { background-position: -48px -208px; }
257
- .ui-icon-squaresmall-minus { background-position: -64px -208px; }
258
- .ui-icon-squaresmall-close { background-position: -80px -208px; }
259
- .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
260
- .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
261
- .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
262
- .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
263
- .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
264
- .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
265
-
266
-
267
- /* Misc visuals
268
- ----------------------------------*/
269
-
270
- /* Corner radius */
271
- .ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; }
272
- .ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; }
273
- .ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; }
274
- .ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; }
275
- .ui-corner-top { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; }
276
- .ui-corner-bottom { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; }
277
- .ui-corner-right { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; }
278
- .ui-corner-left { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; }
279
- .ui-corner-all { -moz-border-radius: 5px; -webkit-border-radius: 5px; }
280
-
281
- /* Overlays */
282
- .ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
283
- .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Accordion
284
- ----------------------------------*/
285
- .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
286
- .ui-accordion .ui-accordion-li-fix { display: inline; }
287
- .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
288
- .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
289
- .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
290
- .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
291
- .ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
292
- ----------------------------------*/
293
- .ui-datepicker { width: 17em; padding: .2em .2em 0; }
294
- .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
295
- .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
296
- .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
297
- .ui-datepicker .ui-datepicker-prev { left:2px; }
298
- .ui-datepicker .ui-datepicker-next { right:2px; }
299
- .ui-datepicker .ui-datepicker-prev-hover { left:1px; }
300
- .ui-datepicker .ui-datepicker-next-hover { right:1px; }
301
- .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
302
- .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
303
- .ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
304
- .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
305
- .ui-datepicker select.ui-datepicker-month,
306
- .ui-datepicker select.ui-datepicker-year { width: 49%;}
307
- .ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
308
- .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
309
- .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
310
- .ui-datepicker td { border: 0; padding: 1px; }
311
- .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
312
- .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
313
- .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
314
- .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
315
-
316
- /* with multiple calendars */
317
- .ui-datepicker.ui-datepicker-multi { width:auto; }
318
- .ui-datepicker-multi .ui-datepicker-group { float:left; }
319
- .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
320
- .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
321
- .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
322
- .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
323
- .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
324
- .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
325
- .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
326
- .ui-datepicker-row-break { clear:both; width:100%; }
327
-
328
- /* RTL support */
329
- .ui-datepicker-rtl { direction: rtl; }
330
- .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
331
- .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
332
- .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
333
- .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
334
- .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
335
- .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
336
- .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
337
- .ui-datepicker-rtl .ui-datepicker-group { float:right; }
338
- .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
339
- .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
340
-
341
- /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
342
- .ui-datepicker-cover {
343
- display: none; /*sorry for IE5*/
344
- display/**/: block; /*sorry for IE5*/
345
- position: absolute; /*must have*/
346
- z-index: -1; /*must have*/
347
- filter: mask(); /*must have*/
348
- top: -4px; /*must have*/
349
- left: -4px; /*must have*/
350
- width: 200px; /*must have*/
351
- height: 200px; /*must have*/
352
- }/* Dialog
353
- ----------------------------------*/
354
- .ui-dialog { position: relative; padding: .2em; width: 300px; }
355
- .ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
356
- .ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
357
- .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
358
- .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
359
- .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
360
- .ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
361
- .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
362
- .ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
363
- .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
364
- .ui-draggable .ui-dialog-titlebar { cursor: move; }
365
- /* Progressbar
366
- ----------------------------------*/
367
- .ui-progressbar { height:2em; text-align: left; }
368
- .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
369
- ----------------------------------*/
370
- .ui-resizable { position: relative;}
371
- .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
372
- .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
373
- .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
374
- .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
375
- .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
376
- .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
377
- .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
378
- .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
379
- .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
380
- .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
381
- ----------------------------------*/
382
- .ui-slider { position: relative; text-align: left; }
383
- .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
384
- .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
385
-
386
- .ui-slider-horizontal { height: .8em; }
387
- .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
388
- .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
389
- .ui-slider-horizontal .ui-slider-range-min { left: 0; }
390
- .ui-slider-horizontal .ui-slider-range-max { right: 0; }
391
-
392
- .ui-slider-vertical { width: .8em; height: 100px; }
393
- .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
394
- .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
395
- .ui-slider-vertical .ui-slider-range-min { bottom: 0; }
396
- .ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
397
- ----------------------------------*/
398
- .ui-tabs { padding: .2em; zoom: 1; }
399
- .ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
400
- .ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
401
- .ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
402
- .ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
403
- .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
404
- .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
405
- .ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
406
- .ui-tabs .ui-tabs-hide { display: none !important; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
jquery-ui/ui.progressbar.js DELETED
@@ -1,13 +0,0 @@
1
- /*
2
- * jQuery UI Progressbar 1.7.2
3
- *
4
- * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
5
- * Dual licensed under the MIT (MIT-LICENSE.txt)
6
- * and GPL (GPL-LICENSE.txt) licenses.
7
- *
8
- * http://docs.jquery.com/UI/Progressbar
9
- *
10
- * Depends:
11
- * ui.core.js
12
- */
13
- (function(a){a.widget("ui.progressbar",{_init:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=a('<div class="ui-progressbar-value ui-widget-header ui-corner-left"></div>').appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow").removeData("progressbar").unbind(".progressbar");this.valueDiv.remove();a.widget.prototype.destroy.apply(this,arguments)},value:function(b){if(b===undefined){return this._value()}this._setData("value",b);return this},_setData:function(b,c){switch(b){case"value":this.options.value=c;this._refreshValue();this._trigger("change",null,{});break}a.widget.prototype._setData.apply(this,arguments)},_value:function(){var b=this.options.value;if(b<this._valueMin()){b=this._valueMin()}if(b>this._valueMax()){b=this._valueMax()}return b},_valueMin:function(){var b=0;return b},_valueMax:function(){var b=100;return b},_refreshValue:function(){var b=this.value();this.valueDiv[b==this._valueMax()?"addClass":"removeClass"]("ui-corner-right");this.valueDiv.width(b+"%");this.element.attr("aria-valuenow",b)}});a.extend(a.ui.progressbar,{version:"1.7.2",defaults:{value:0}})})(jQuery);;
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/apt-ru_RU.po CHANGED
@@ -90,7 +90,7 @@ msgid ""
90
  msgstr ""
91
  "Прежде всего, хотим сообщить, что теперь над улучшением плагина работает "
92
  "новая команда разработчиков <span style=\"text-decoration: underline;"
93
- "\"><strong>Creatve Motion</strong></span>."
94
 
95
  #: views/tab-about.php:87
96
  msgid ""
90
  msgstr ""
91
  "Прежде всего, хотим сообщить, что теперь над улучшением плагина работает "
92
  "новая команда разработчиков <span style=\"text-decoration: underline;"
93
+ "\"><strong>Creative Motion</strong></span>."
94
 
95
  #: views/tab-about.php:87
96
  msgid ""
libs/factory/adverts/boot.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ use WBCR\Factory_Adverts_103\Base;
4
+
5
+ /**
6
+ * Factory Adverts
7
+ *
8
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
9
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
10
+ * @since 1.0.0
11
+ *
12
+ * @package factory-ad-inserter
13
+ * @copyright (c) 2019, Webcraftic Ltd
14
+ *
15
+ * @version 1.2.3
16
+ */
17
+
18
+ // Exit if accessed directly
19
+ if ( ! defined( 'ABSPATH' ) ) {
20
+ exit;
21
+ }
22
+
23
+ if ( defined( 'FACTORY_ADVERTS_103_LOADED' ) || ( defined( 'FACTORY_ADVERTS_BLOCK' ) && FACTORY_ADVERTS_BLOCK ) ) {
24
+ return;
25
+ }
26
+
27
+ # Устанавливаем константу, что модуль уже загружен
28
+ define( 'FACTORY_ADVERTS_103_LOADED', true );
29
+
30
+ # Устанавливаем версию модуля
31
+ define( 'FACTORY_ADVERTS_103_VERSION', '1.0.3' );
32
+
33
+ # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
+ load_plugin_textdomain( 'wbcr_factory_adverts_103', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
35
+
36
+ # Устанавливаем директорию модуля
37
+ define( 'FACTORY_ADVERTS_103_DIR', dirname( __FILE__ ) );
38
+
39
+ # Устанавливаем url модуля
40
+ define( 'FACTORY_ADVERTS_103_URL', plugins_url( null, __FILE__ ) );
41
+
42
+ require_once( FACTORY_ADVERTS_103_DIR . '/includes/class-rest-request.php' );
43
+ require_once( FACTORY_ADVERTS_103_DIR . '/includes/class-base.php' );
44
+
45
+ /**
46
+ * @param Wbcr_Factory421_Plugin $plugin
47
+ */
48
+ add_action( 'wbcr_factory_adverts_103_plugin_created', function ( $plugin ) {
49
+ $plugin->set_adverts_manager( "WBCR\Factory_Adverts_103\Base" );
50
+ } );
libs/factory/adverts/includes/class-base.php ADDED
@@ -0,0 +1,319 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WBCR\Factory_Adverts_103;
4
+
5
+ // Exit if accessed directly
6
+ if ( ! defined( 'ABSPATH' ) ) {
7
+ exit;
8
+ }
9
+
10
+ /**
11
+ * Base class for adverts module.
12
+ *
13
+ * Contains methods for retrieving banner data for a specific position.
14
+ * With this class user cat get advert content for a specific position.
15
+ * This class use functional design pattern.
16
+ *
17
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
18
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
19
+ *
20
+ * @since 1.0.0 Added
21
+ * @package factory-adverts
22
+ * @copyright (c) 2019 Webcraftic Ltd
23
+ */
24
+ class Base {
25
+
26
+ /**
27
+ * Экзепляр плагина с которым взаимодействует этот модуль
28
+ *
29
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
30
+ * @since 1.0.1
31
+ * @var \Wbcr_Factory421_Plugin
32
+ */
33
+ private $plugin;
34
+
35
+ /*
36
+ * Contain array data with the plugin information and the module settings.
37
+ * Mainly used to get the name of the plugin and how to get the adverts blocks.
38
+ *
39
+ * @since 1.0.0 Added
40
+ *
41
+ * @var array Example: array(
42
+ * 'dashboard_widget' => true,
43
+ * 'right_sidebar' => true,
44
+ * 'notice' => true,
45
+ * ...
46
+ * )
47
+ *
48
+ */
49
+ private $settings = [];
50
+
51
+ /**
52
+ * Экземпляр класса для работы API CreativeMotion
53
+ *
54
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
+ * @since 1.0.1
56
+ * @var \WBCR\Factory_Adverts_103\Creative_Motion_API
57
+ */
58
+ private $api;
59
+
60
+ /**
61
+ * Сохраняем уже полученные данные, для объектного кеширования
62
+ *
63
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
64
+ * @since 1.0.1
65
+ * @var array
66
+ */
67
+ private $placements = [];
68
+
69
+ /**
70
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
71
+ * @since 1.0.1
72
+ * @var array
73
+ */
74
+ private $errors = [];
75
+
76
+ /**
77
+ * Wbcr_Factory_Adinserter constructor.
78
+ *
79
+ * - Store plugin information and settings.
80
+ * - Add filter and actions.
81
+ * - Include dashboard widget.
82
+ *
83
+ * @since 1.0.0 Added
84
+ *
85
+ * @param \Wbcr_Factory421_Plugin $plugin
86
+ */
87
+ public function __construct( \Wbcr_Factory421_Plugin $plugin, $settings ) {
88
+ $this->plugin = $plugin;
89
+
90
+ $this->settings = wp_parse_args( $settings, [
91
+ 'dashboard_widget' => false, // show dashboard widget (default: false)
92
+ 'right_sidebar' => false, // show adverts sidebar (default: false)
93
+ 'notice' => false, // show notice message (default: false),
94
+ 'business_suggetion' => false,
95
+ 'support' => false
96
+ ] );
97
+
98
+ $this->api = new Creative_Motion_API( $this->plugin );
99
+
100
+ add_filter( 'wbcr/factory/pages/impressive/widgets', [ $this, 'register_plugin_widgets' ], 10, 3 );
101
+ add_action( 'wbcr/factory/admin_notices', [ $this, 'register_plugin_notice' ], 10, 2 );
102
+ add_action( 'current_screen', [ $this, 'register_dashboard_widget' ], 10, 2 );
103
+ }
104
+
105
+ /**
106
+ * Directly get advert content for selected position.
107
+ *
108
+ * @since 1.0.1 Rename method. Content should now be printed.
109
+ * @since 1.0.0 Added
110
+ *
111
+ * @param string $position Custom position name
112
+ *
113
+ * @return void
114
+ */
115
+ public function render_placement( $position = 'right_sidebar' ) {
116
+ $content = '';
117
+
118
+ if ( $position ) {
119
+ $content = $this->get_content( $position );
120
+ }
121
+
122
+ echo $content;
123
+ }
124
+
125
+ /**
126
+ * Register widgets.
127
+ *
128
+ * Depending on the settings, register new widgets.
129
+ *
130
+ * @since 1.0.0 Added
131
+ *
132
+ * @param array $widgets Already existing registered widgets
133
+ * @param string $position Position for the widget
134
+ * @param string $plugin Plugin object for which the hook is run
135
+ *
136
+ * @return array array(
137
+ * 'adverts_widget' => '<p></p>',
138
+ * 'business_suggetion' => '<p></p>',
139
+ * 'support' => '<p></p>',
140
+ * ...
141
+ * )
142
+ */
143
+ public function register_plugin_widgets( $widgets, $position, $plugin ) {
144
+ if ( $plugin->getPluginName() == $this->plugin->getPluginName() && 'right' == $position ) {
145
+
146
+ if ( $this->settings['right_sidebar'] ) {
147
+ $content = $this->get_content( 'right_sidebar' );
148
+ $widgets['adverts_widget'] = $content;
149
+
150
+ if ( empty( $widgets['adverts_widget'] ) ) {
151
+ if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
152
+ $debug_message = '<div style="background: #fff4f1;padding: 10px;color: #a58074;">';
153
+ $debug_message .= $this->get_debug_message( 'right_sidebar' );
154
+ $debug_message .= '</div>';
155
+
156
+ $widgets['adverts_widget'] = $debug_message;
157
+ } else {
158
+ unset( $widgets['adverts_widget'] );
159
+ }
160
+ }
161
+ }
162
+
163
+ if ( $this->settings['business_suggetion'] ) {
164
+ $content = $this->get_content( 'business_suggetion' );
165
+
166
+ if ( ! empty( $content ) ) {
167
+ $widgets['business_suggetion'] = $content;
168
+ }
169
+ }
170
+
171
+ if ( $this->settings['support'] ) {
172
+ $content = $this->get_content( 'support' );
173
+
174
+ if ( ! empty( $content ) ) {
175
+ $widgets['support'] = $content;
176
+ }
177
+ }
178
+ }
179
+
180
+ return $widgets;
181
+ }
182
+
183
+ /**
184
+ * Регистрирует уведомление для текущего плагина
185
+ *
186
+ * Мы добавляем уведомления в массив всех уведомлений плагина с ключем 'adverts_notice',
187
+ * то есть если другие плагины, тоже добавят свои рекламные уведомления, они просто
188
+ * будут перезаписывать друг друга, в итоге будет отображено только одно рекламное
189
+ * уведомеление. Это нужно для того, чтобы ограничить пользователя от спама.
190
+ *
191
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
192
+ *
193
+ * @since 1.0.1 Переделан полностью под интферфейс фреймворка. Используем встроенную систему уведомлений.
194
+ * @since 1.0.0 Added
195
+ *
196
+ * @param array $notices Массив со списком всех уведомлений, которые будут напечатыны в админ панели
197
+ * @param string $plugin_name Имя плагина, передано для того, чтобы выводить уведомления условно, только для конкретного плагина
198
+ */
199
+ public function register_plugin_notice( $notices, $plugin_name ) {
200
+ if ( $plugin_name !== $this->plugin->getPluginName() ) {
201
+ return $notices;
202
+ }
203
+
204
+ if ( $this->settings['notice'] ) {
205
+ $notice_content = $this->get_content( 'notice' );
206
+
207
+ if ( empty( $notice_content ) ) {
208
+ # Информация для отладки
209
+ if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
210
+ $debug_message = $this->get_debug_message( 'notice' );
211
+
212
+ $notices['adverts_notice'] = [
213
+ 'id' => 'adverts_debug',
214
+ 'type' => 'error',
215
+ 'dismissible' => false,
216
+ 'dismiss_expires' => 0,
217
+ 'text' => '<p><b>' . $this->plugin->getPluginTitle() . '</b>:<br>' . $debug_message . '</p>'
218
+ ];
219
+ }
220
+
221
+ return $notices;
222
+ }
223
+
224
+ $hash = md5( $notice_content );
225
+
226
+ $notices['adverts_notice'] = [
227
+ 'id' => 'adverts_' . $hash,
228
+ 'type' => 'success',
229
+ 'dismissible' => true,
230
+ 'dismiss_expires' => 0,
231
+ 'text' => '<p><b>' . $this->plugin->getPluginTitle() . '</b>:<br>' . $notice_content . '</p>'
232
+ ];
233
+ }
234
+
235
+ return $notices;
236
+ }
237
+
238
+ /**
239
+ * Include dashboard widget
240
+ *
241
+ * Include functionality the output of the widget on the dashboard.
242
+ * Only one dashboard widget must be shown for some plugins with this setting (dashboard_widget).
243
+ *
244
+ * @since 1.0.0 Added
245
+ */
246
+ public function register_dashboard_widget() {
247
+ if ( $this->settings['dashboard_widget'] && current_user_can( 'manage_options' ) ) {
248
+ $current_screen = get_current_screen();
249
+
250
+ if ( ! in_array( $current_screen->id, [ 'dashboard', 'dashboard-network' ] ) ) {
251
+ return;
252
+ }
253
+
254
+ $content = $this->get_content( 'dashboard_widget' );
255
+
256
+ if ( empty( $content ) && defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
257
+ $content = $this->get_debug_message( 'dashboard_widget' );
258
+ }
259
+
260
+ require_once FACTORY_ADVERTS_103_DIR . '/includes/class-dashboard-widget.php';
261
+ new Dashboard_Widget( $this->plugin, $content );
262
+ }
263
+ }
264
+
265
+ /**
266
+ * Позволяет получить сообщение об ошибках
267
+ *
268
+ * Метод проверяет последние ошибки, которые могли произойти в результате api запроса.
269
+ * Если ошибки есть, он выводит предупреждение и список последних ошибок. Если ошибок нет,
270
+ * метод вернет просто предупреждение, что реклама не настроена.
271
+ *
272
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
273
+ * @since 1.0.1
274
+ *
275
+ * @param string $position Position for the widget
276
+ *
277
+ * @return string Возвращает сообщение с последниеми ошибками для отладки
278
+ */
279
+ private function get_debug_message( $position ) {
280
+ $debug_massage = 'Plugin ads not configured or server unavailable. See full error report below.<br>';
281
+
282
+ if ( isset( $this->errors[ $position ] ) && ! empty( $this->errors ) ) {
283
+ $debug_massage .= '<b>Last errors:</b><br>';
284
+ foreach ( $this->errors[ $position ] as $error_code => $error_message ) {
285
+ $debug_massage .= 'Code: ' . $error_code . ' Error: ' . $error_message . '<br>';
286
+ }
287
+ }
288
+
289
+ return $debug_massage;
290
+ }
291
+
292
+ /**
293
+ * Get advert content for selected position.
294
+ *
295
+ * @since 1.0.1 Полностью переписан
296
+ * @since 1.0.0 Added
297
+ *
298
+ * @param string $position The position for advert
299
+ *
300
+ * @return string
301
+ */
302
+ private function get_content( $position ) {
303
+ if ( isset( $this->placements[ $position ] ) ) {
304
+ return $this->placements[ $position ];
305
+ }
306
+
307
+ $content = $this->api->get_content( $position );
308
+
309
+ if ( is_wp_error( $content ) ) {
310
+ $this->errors[ $position ][ $content->get_error_code() ] = $content->get_error_message();
311
+
312
+ return null;
313
+ }
314
+
315
+ $this->placements[ $position ] = $content;
316
+
317
+ return $content;
318
+ }
319
+ }
libs/factory/adverts/includes/class-dashboard-widget.php ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WBCR\Factory_Adverts_103;
4
+
5
+ // Exit if accessed directly
6
+ if ( ! defined( 'ABSPATH' ) ) {
7
+ exit;
8
+ }
9
+
10
+ /**
11
+ * Adverts Dashboard Widget.
12
+ *
13
+ * Adds a widget with a banner or a list of news.
14
+ *
15
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
16
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
+ *
18
+ * @since 1.0.0 Added
19
+ * @package factory-adverts
20
+ * @copyright (c) 2019 Webcraftic Ltd
21
+ */
22
+ class Dashboard_Widget {
23
+
24
+ /**
25
+ * Контент, который должен быть напечатан внутри дашбоард виджета
26
+ *
27
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
28
+ * @since 1.0.1
29
+ * @var string
30
+ */
31
+ private $content;
32
+
33
+ /**
34
+ * Экзепляр плагина с которым взаимодействует этот модуль
35
+ *
36
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
37
+ * @since 1.0.1
38
+ * @var \Wbcr_Factory421_Plugin
39
+ */
40
+ private $plugin;
41
+
42
+ /**
43
+ * Dashboard_Widget constructor.
44
+ *
45
+ * Call parent constructor. Registration hooks.
46
+ *
47
+ * @since 1.0.0 Added
48
+ *
49
+ * @param \Wbcr_Factory421_Plugin $plugin
50
+ * @param string $content
51
+ */
52
+ public function __construct( \Wbcr_Factory421_Plugin $plugin, $content ) {
53
+
54
+ $this->plugin = $plugin;
55
+ $this->content = $content;
56
+
57
+ if ( ! empty( $this->content ) ) {
58
+ if ( $this->plugin->isNetworkActive() && $this->plugin->isNetworkAdmin() ) {
59
+ add_action( 'wp_network_dashboard_setup', [ $this, 'add_dashboard_widgets' ], 999 );
60
+
61
+ return;
62
+ }
63
+
64
+ add_action( 'wp_dashboard_setup', [ $this, 'add_dashboard_widgets' ], 999 );
65
+ }
66
+ }
67
+
68
+ /**
69
+ * Add the News widget to the dashboard.
70
+ *
71
+ * @since 1.0.0 Added
72
+ */
73
+ public function add_dashboard_widgets() {
74
+ $widget_id = 'wbcr-factory-adverts-widget';
75
+
76
+ wp_add_dashboard_widget( $widget_id, $this->plugin->getPluginTitle() . ' News', [
77
+ $this,
78
+ 'print_widget_content'
79
+ ] );
80
+
81
+ $this->sort_dashboard_widgets( $widget_id );
82
+ }
83
+
84
+ /**
85
+ * Create the function to output the contents of the Dashboard Widget.
86
+ *
87
+ * @since 1.0.0 Added
88
+ */
89
+ public function print_widget_content() {
90
+ ?>
91
+ <div class="wordpress-news hide-if-no-js">
92
+ <div class="rss-widget">
93
+ <?php echo $this->content; ?>
94
+ </div>
95
+ </div>
96
+ <?php
97
+
98
+ }
99
+
100
+ /**
101
+ * Сортируем виджеты на странице дашбоард
102
+ *
103
+ * Виджеты должны быть в таком порядке, чтобы наш виджет был выше всех.
104
+ *
105
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
106
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
107
+ *
108
+ * @since 1.0.2 Добавлена поддержка мультисайтов
109
+ * @since 1.0.0 Добавлен
110
+ *
111
+ * @param string $widget_id ID нашего виджета
112
+ */
113
+ private function sort_dashboard_widgets( $widget_id ) {
114
+ global $wp_meta_boxes;
115
+
116
+ $location = $this->plugin->isNetworkAdmin() ? 'dashboard-network' : 'dashboard';
117
+
118
+ $normal_core = $wp_meta_boxes[ $location ]['normal']['core'];
119
+ $widget_backup = [ $widget_id => $normal_core[ $widget_id ] ];
120
+ unset( $normal_core[ $widget_id ] );
121
+ $sorted_core = array_merge( $widget_backup, $normal_core );
122
+
123
+ $wp_meta_boxes['dashboard']['normal']['core'] = $sorted_core;
124
+ }
125
+ }
libs/factory/adverts/includes/class-rest-request.php ADDED
@@ -0,0 +1,197 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WBCR\Factory_Adverts_103;
4
+
5
+ // Exit if accessed directly
6
+ if ( ! defined( 'ABSPATH' ) ) {
7
+ exit;
8
+ }
9
+
10
+ /**
11
+ * Factory request class.
12
+ *
13
+ * Performs a server request, retrieves banner data and stores it in the cache.
14
+ *
15
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
17
+ *
18
+ * @since 1.0.1 Изменил имя класса и доработал его.
19
+ * @since 1.0.0 Added
20
+ *
21
+ * @package factory-adverts
22
+ * @copyright (c) 2019 Webcraftic Ltd
23
+ */
24
+ class Creative_Motion_API {
25
+
26
+ /**
27
+ * Rest request url.
28
+ *
29
+ * Define rest request url for rest request to remote server.
30
+ *
31
+ * @since 1.2.1
32
+ */
33
+ const SERVER_URL = 'https://api.cm-wp.com';
34
+
35
+ /**
36
+ * Rest route path.
37
+ *
38
+ * Define rest route path for rest request.
39
+ *
40
+ * @since 1.0.0
41
+ */
42
+ const REST_ROUTE = '/adverds/v1/advt';
43
+
44
+ /**
45
+ * Интервал между запросами по умолчанию
46
+ *
47
+ * Значение в часах.
48
+ *
49
+ * @since 1.0.1
50
+ */
51
+ const DEFAULT_REQUESTS_INTERVAL = 24;
52
+
53
+ /**
54
+ * Интервал между запросами, если сервер недоступен
55
+ *
56
+ * Значение в часах.
57
+ *
58
+ * @since 1.0.1
59
+ */
60
+ const SERVER_UNAVAILABLE_INTERVAL = 4;
61
+
62
+
63
+ /**
64
+ * Экзепляр плагина с которым взаимодействует этот модуль
65
+ *
66
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
+ * @since 1.0.1
68
+ * @var \Wbcr_Factory421_Plugin
69
+ */
70
+ private $plugin;
71
+
72
+
73
+ /**
74
+ * Request constructor.
75
+ *
76
+ * Variable initialization.
77
+ *
78
+ * @since 1.0.0 Added
79
+ *
80
+ * @param \Wbcr_Factory421_Plugin $plugin_name
81
+ */
82
+ public function __construct( \Wbcr_Factory421_Plugin $plugin ) {
83
+ $this->plugin = $plugin;
84
+ }
85
+
86
+ /**
87
+ * Get adverts content.
88
+ *
89
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
90
+ * @since 1.0.1
91
+ *
92
+ * @param $position
93
+ *
94
+ * @return string|\WP_Error
95
+ */
96
+ public function get_content( $position ) {
97
+ $data = $this->get_cache( $position );
98
+
99
+ if ( is_wp_error( $data ) ) {
100
+ return $data;
101
+ }
102
+
103
+ return strip_tags( $data['content'], '<b>,<a>,<i>,<strong>,<img>,<ul>,<ol>,<li>' );
104
+ }
105
+
106
+ /**
107
+ * Get data from cache.
108
+ *
109
+ * If data in the cache, not empty and not expired, then get data from cache. Or get data from server.
110
+ *
111
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
112
+ *
113
+ * @since 1.0.1 Полностью переписан, с перехватом api ошибок
114
+ * @since 1.0.0 Added
115
+ *
116
+ * @return mixed array(
117
+ * 'plugin' => 'wbcr_insert_php',
118
+ * 'content' => '<p></p>',
119
+ * 'expires' => 1563542199,
120
+ * );
121
+ */
122
+ private function get_cache( $position ) {
123
+
124
+ if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
125
+ return $this->do_api_request( $position );
126
+ }
127
+
128
+ $key = $this->plugin->getPrefix() . md5( $position . 'advert_transient_' );
129
+
130
+ $cached = get_transient( $key );
131
+
132
+ if ( $cached !== false ) {
133
+ if ( isset( $cached['error_code'] ) && isset( $cached['error'] ) ) {
134
+ return new \WP_Error( $cached['error_code'], $cached['error'] );
135
+ }
136
+
137
+ return $cached;
138
+ }
139
+
140
+ $data = $this->do_api_request( $position );
141
+
142
+ if ( is_wp_error( $data ) ) {
143
+ set_transient( $key, [
144
+ 'error' => $data->get_error_message(),
145
+ 'error_code' => $data->get_error_code()
146
+ ], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS );
147
+
148
+ return $data;
149
+ }
150
+
151
+ set_transient( $key, $data, $data['expires'] );
152
+
153
+ return $data;
154
+ }
155
+
156
+ /**
157
+ * Performs rest api request.
158
+ *
159
+ * In some case on the server (Apache) in the .htaccess must be set
160
+ * RewriteRule ^wp-json/(.*)[?](.*) /?rest_route=/$1&$2 [L]
161
+ *
162
+ * @since 1.0.1 Добавлен перехват ошибок, рефакторинг кода.
163
+ * @since 1.0.0 Added
164
+ *
165
+ * @return mixed array(
166
+ * 'plugin' => 'wbcr_insert_php',
167
+ * 'content' => '<p></p>',
168
+ * 'expires' => 1563542199,
169
+ * );
170
+ */
171
+ private function do_api_request( $position ) {
172
+ $default_result = [
173
+ 'content' => '',
174
+ 'expires' => self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS,
175
+ ];
176
+
177
+ $url = untrailingslashit( self::SERVER_URL ) . '/wp-json' . self::REST_ROUTE;
178
+ $url = add_query_arg( [ 'plugin' => $this->plugin->getPluginName(), 'position' => $position ], $url );
179
+
180
+ $response = wp_remote_get( $url );
181
+
182
+ $code = wp_remote_retrieve_response_code( $response );
183
+ $body = wp_remote_retrieve_body( $response );
184
+
185
+ $data = @json_decode( $body, true );
186
+
187
+ if ( is_wp_error( $response ) ) {
188
+ return $response;
189
+ }
190
+
191
+ if ( 200 !== $code ) {
192
+ return new \WP_Error( 'http_request_error', 'Failed request to the remote server. Code: ' . $code );
193
+ }
194
+
195
+ return wp_parse_args( $data, $default_result );
196
+ }
197
+ }
libs/factory/adverts/includes/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
libs/factory/adverts/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
libs/factory/adverts/langs/wbcr_factory_adverts_103-ru_RU.mo ADDED
Binary file
libs/factory/adverts/langs/wbcr_factory_adverts_103-ru_RU.po ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: factory_forms\n"
4
+ "POT-Creation-Date: 2018-10-16 22:44+0300\n"
5
+ "PO-Revision-Date: 2018-10-16 22:45+0300\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: includes/check-compatibility.php:80
21
+ msgid "warning"
22
+ msgstr "предупреждение"
23
+
24
+ #: includes/check-compatibility.php:82
25
+ #, php-format
26
+ msgid "The %s plugin has stopped."
27
+ msgstr "Работа плагина %s была остановлена."
28
+
29
+ #: includes/check-compatibility.php:83
30
+ msgid "Possible reasons:"
31
+ msgstr "Возможные причины:"
32
+
33
+ #: includes/check-compatibility.php:89
34
+ #, php-format
35
+ msgid "You need to update the PHP version to %s or higher!"
36
+ msgstr "Вам нужно обновить версию PHP до %s или выше!"
37
+
38
+ #: includes/check-compatibility.php:94
39
+ #, php-format
40
+ msgid "You need to update WordPress to %s or higher!"
41
+ msgstr "Вам нужно обновить WordPress до %s или выше!"
42
+
43
+ #: includes/functions.php:132
44
+ #, php-format
45
+ msgid ""
46
+ "%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
47
+ msgstr ""
48
+ "%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
49
+ "Wordpress! Используйте %3$s."
50
+
51
+ #: includes/functions.php:134
52
+ #, php-format
53
+ msgid ""
54
+ "%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
55
+ "available."
56
+ msgstr ""
57
+ "%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
58
+ "начиная с версии %2$s , в настоящее время доступных альтернатив нет."
59
+
60
+ #: includes/plugin.class.php:202 includes/plugin.class.php:237
61
+ msgid ""
62
+ "You are trying to call this earlier than the plugin menu will be registered."
63
+ msgstr ""
64
+ "Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
65
+
66
+ #: includes/plugin.class.php:220
67
+ msgid ""
68
+ "You are trying to get a link to a page that does not have multisite mode. "
69
+ "Clicking this link will lead the user to a non-existent page."
70
+ msgstr ""
71
+ "Вы пытаетесь получить ссылку на страницу, которая не имеет "
72
+ "многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
73
+ "к несуществующей странице."
74
+
75
+ #: includes/plugin.class.php:222
76
+ msgid ""
77
+ "Trying to get a link to an unregistered page. You are trying to call this "
78
+ "earlier than the plugin menu will be registered."
79
+ msgstr ""
80
+ "Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
81
+ "вызвать это раньше, чем будет зарегистрировано меню плагина."
82
+
83
+
libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-422 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-422 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-422 .factory-accordion-item{display:none}.factory-bootstrap-422 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-422 .factory-accordion>h3.active:hover{cursor:default}
libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-422 .btn-primary:disabled,.factory-bootstrap-422 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-422 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-422 .pagination>.active>a,.factory-bootstrap-422 .pagination>.active>a:focus,.factory-bootstrap-422 .pagination>.active>a:hover,.factory-bootstrap-422 .pagination>.active>span,.factory-bootstrap-422 .pagination>.active>span:focus,.factory-bootstrap-422 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-422 .btn-primary:disabled,.factory-bootstrap-422 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-422 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-422 .pagination>.active>a,.factory-bootstrap-422 .pagination>.active>a:focus,.factory-bootstrap-422 .pagination>.active>a:hover,.factory-bootstrap-422 .pagination>.active>span,.factory-bootstrap-422 .pagination>.active>span:focus,.factory-bootstrap-422 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 article,.factory-bootstrap-422 aside,.factory-bootstrap-422 details,.factory-bootstrap-422 figcaption,.factory-bootstrap-422 figure,.factory-bootstrap-422 footer,.factory-bootstrap-422 header,.factory-bootstrap-422 hgroup,.factory-bootstrap-422 main,.factory-bootstrap-422 nav,.factory-bootstrap-422 section,.factory-bootstrap-422 summary{display:block}.factory-bootstrap-422 audio,.factory-bootstrap-422 canvas,.factory-bootstrap-422 video{display:inline-block}.factory-bootstrap-422 audio:not([controls]){display:none;height:0}.factory-bootstrap-422 [hidden],.factory-bootstrap-422 template{display:none}.factory-bootstrap-422 body{margin:0}.factory-bootstrap-422 a{background:0 0}.factory-bootstrap-422 a:focus{outline:thin dotted}.factory-bootstrap-422 a:active,.factory-bootstrap-422 a:hover{outline:0}.factory-bootstrap-422 h1{margin:.67em 0}.factory-bootstrap-422 b,.factory-bootstrap-422 strong{font-weight:700}.factory-bootstrap-422 dfn{font-style:italic}.factory-bootstrap-422 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-422 mark{color:#000;background:#ff0}.factory-bootstrap-422 code,.factory-bootstrap-422 kbd,.factory-bootstrap-422 pre,.factory-bootstrap-422 samp{font-size:1em}.factory-bootstrap-422 pre{white-space:pre-wrap}.factory-bootstrap-422 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-422 sub,.factory-bootstrap-422 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-422 sup{top:-.5em}.factory-bootstrap-422 sub{bottom:-.25em}.factory-bootstrap-422 img{border:0}.factory-bootstrap-422 svg:not(:root){overflow:hidden}.factory-bootstrap-422 figure{margin:0}.factory-bootstrap-422 button,.factory-bootstrap-422 input,.factory-bootstrap-422 select,.factory-bootstrap-422 textarea{margin:0}.factory-bootstrap-422 button,.factory-bootstrap-422 select{text-transform:none}.factory-bootstrap-422 select{padding-right:4px!important}.factory-bootstrap-422 button,.factory-bootstrap-422 input[type=reset],.factory-bootstrap-422 input[type=submit],html .factory-bootstrap-422 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-422 button[disabled],html .factory-bootstrap-422 input[disabled]{cursor:default}.factory-bootstrap-422 input[type=checkbox],.factory-bootstrap-422 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-422 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-422 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-422 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-422 button::-moz-focus-inner,.factory-bootstrap-422 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-422 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-422 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-422 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-422 a,.factory-bootstrap-422 a:visited{text-decoration:underline}.factory-bootstrap-422 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-422 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-422 a[href^="javascript:"]:after,.factory-bootstrap-422 a[href^="#"]:after{content:""}.factory-bootstrap-422 blockquote,.factory-bootstrap-422 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-422 thead{display:table-header-group}.factory-bootstrap-422 img,.factory-bootstrap-422 tr{page-break-inside:avoid}.factory-bootstrap-422 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-422 h2,.factory-bootstrap-422 h3,.factory-bootstrap-422 p{orphans:3;widows:3}.factory-bootstrap-422 h2,.factory-bootstrap-422 h3{page-break-after:avoid}.factory-bootstrap-422 select{background:#fff!important}.factory-bootstrap-422 .navbar{display:none}.factory-bootstrap-422 .table td,.factory-bootstrap-422 .table th{background-color:#fff!important}.factory-bootstrap-422 .btn>.caret,.factory-bootstrap-422 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-422 .label{border:1px solid #000}.factory-bootstrap-422 .table{border-collapse:collapse!important}.factory-bootstrap-422 .table-bordered td,.factory-bootstrap-422 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-422 *,.factory-bootstrap-422 :after,.factory-bootstrap-422 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-422{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-422 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-422 button,.factory-bootstrap-422 input,.factory-bootstrap-422 select,.factory-bootstrap-422 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-422 img{vertical-align:middle}.factory-bootstrap-422 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-422 .img-rounded{border-radius:6px}.factory-bootstrap-422 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-422 .img-circle{border-radius:50%}.factory-bootstrap-422 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-422 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-422 .h1,.factory-bootstrap-422 .h2,.factory-bootstrap-422 .h3,.factory-bootstrap-422 .h4,.factory-bootstrap-422 .h5,.factory-bootstrap-422 .h6,.factory-bootstrap-422 h1,.factory-bootstrap-422 h2,.factory-bootstrap-422 h3,.factory-bootstrap-422 h4,.factory-bootstrap-422 h5,.factory-bootstrap-422 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-422 .h1 .small,.factory-bootstrap-422 .h1 small,.factory-bootstrap-422 .h2 .small,.factory-bootstrap-422 .h2 small,.factory-bootstrap-422 .h3 .small,.factory-bootstrap-422 .h3 small,.factory-bootstrap-422 .h4 .small,.factory-bootstrap-422 .h4 small,.factory-bootstrap-422 .h5 .small,.factory-bootstrap-422 .h5 small,.factory-bootstrap-422 .h6 .small,.factory-bootstrap-422 .h6 small,.factory-bootstrap-422 h1 .small,.factory-bootstrap-422 h1 small,.factory-bootstrap-422 h2 .small,.factory-bootstrap-422 h2 small,.factory-bootstrap-422 h3 .small,.factory-bootstrap-422 h3 small,.factory-bootstrap-422 h4 .small,.factory-bootstrap-422 h4 small,.factory-bootstrap-422 h5 .small,.factory-bootstrap-422 h5 small,.factory-bootstrap-422 h6 .small,.factory-bootstrap-422 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-422 h1,.factory-bootstrap-422 h2,.factory-bootstrap-422 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-422 h1 .small,.factory-bootstrap-422 h1 small,.factory-bootstrap-422 h2 .small,.factory-bootstrap-422 h2 small,.factory-bootstrap-422 h3 .small,.factory-bootstrap-422 h3 small{font-size:65%}.factory-bootstrap-422 h4,.factory-bootstrap-422 h5,.factory-bootstrap-422 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-422 h4 .small,.factory-bootstrap-422 h4 small,.factory-bootstrap-422 h5 .small,.factory-bootstrap-422 h5 small,.factory-bootstrap-422 h6 .small,.factory-bootstrap-422 h6 small{font-size:75%}.factory-bootstrap-422 .h1,.factory-bootstrap-422 h1{font-size:36px}.factory-bootstrap-422 .h2,.factory-bootstrap-422 h2{font-size:30px}.factory-bootstrap-422 .h3,.factory-bootstrap-422 h3{font-size:24px}.factory-bootstrap-422 .h4,.factory-bootstrap-422 h4{font-size:18px}.factory-bootstrap-422 .h5,.factory-bootstrap-422 h5{font-size:14px}.factory-bootstrap-422 .h6,.factory-bootstrap-422 h6{font-size:12px}.factory-bootstrap-422 p{margin:0 0 10px}.factory-bootstrap-422 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-422 .small,.factory-bootstrap-422 small{font-size:85%}.factory-bootstrap-422 cite{font-style:normal}.factory-bootstrap-422 .text-muted{color:#999}.factory-bootstrap-422 .text-primary{color:#428bca}.factory-bootstrap-422 .text-primary:hover{color:#3071a9}.factory-bootstrap-422 .text-warning{color:#8a6d3b}.factory-bootstrap-422 .text-warning:hover{color:#66512c}.factory-bootstrap-422 .text-danger{color:#a94442}.factory-bootstrap-422 .text-danger:hover{color:#843534}.factory-bootstrap-422 .text-success{color:#3c763d}.factory-bootstrap-422 .text-success:hover{color:#2b542c}.factory-bootstrap-422 .text-info{color:#31708f}.factory-bootstrap-422 .text-info:hover{color:#245269}.factory-bootstrap-422 .text-left{text-align:left}.factory-bootstrap-422 .text-right{text-align:right}.factory-bootstrap-422 .text-center{text-align:center}.factory-bootstrap-422 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-422 ol,.factory-bootstrap-422 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-422 ol ol,.factory-bootstrap-422 ol ul,.factory-bootstrap-422 ul ol,.factory-bootstrap-422 ul ul{margin-bottom:0}.factory-bootstrap-422 .list-inline,.factory-bootstrap-422 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-422 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-422 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-422 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-422 dd,.factory-bootstrap-422 dt{line-height:1.428571429}.factory-bootstrap-422 dt{font-weight:700}.factory-bootstrap-422 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-422 abbr[data-original-title],.factory-bootstrap-422 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-422 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-422 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-422 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-422 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-422 blockquote .small,.factory-bootstrap-422 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-422 blockquote .small:before,.factory-bootstrap-422 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-422 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-422 blockquote.pull-right .small,.factory-bootstrap-422 blockquote.pull-right p,.factory-bootstrap-422 blockquote.pull-right small{text-align:right}.factory-bootstrap-422 blockquote.pull-right .small:before,.factory-bootstrap-422 blockquote.pull-right small:before{content:''}.factory-bootstrap-422 blockquote.pull-right .small:after,.factory-bootstrap-422 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-422 blockquote:after,.factory-bootstrap-422 blockquote:before{content:""}.factory-bootstrap-422 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-422 code,.factory-bootstrap-422 kbd,.factory-bootstrap-422 pre,.factory-bootstrap-422 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-422 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-422 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-422 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-422 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-422 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-422 .container:after,.factory-bootstrap-422 .container:before{display:table;content:" "}.factory-bootstrap-422 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-422 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-422 .row:after,.factory-bootstrap-422 .row:before{display:table;content:" "}.factory-bootstrap-422 .row:after{clear:both}.factory-bootstrap-422 .col-lg-1,.factory-bootstrap-422 .col-lg-10,.factory-bootstrap-422 .col-lg-11,.factory-bootstrap-422 .col-lg-12,.factory-bootstrap-422 .col-lg-2,.factory-bootstrap-422 .col-lg-3,.factory-bootstrap-422 .col-lg-4,.factory-bootstrap-422 .col-lg-5,.factory-bootstrap-422 .col-lg-6,.factory-bootstrap-422 .col-lg-7,.factory-bootstrap-422 .col-lg-8,.factory-bootstrap-422 .col-lg-9,.factory-bootstrap-422 .col-md-1,.factory-bootstrap-422 .col-md-10,.factory-bootstrap-422 .col-md-11,.factory-bootstrap-422 .col-md-12,.factory-bootstrap-422 .col-md-2,.factory-bootstrap-422 .col-md-3,.factory-bootstrap-422 .col-md-4,.factory-bootstrap-422 .col-md-5,.factory-bootstrap-422 .col-md-6,.factory-bootstrap-422 .col-md-7,.factory-bootstrap-422 .col-md-8,.factory-bootstrap-422 .col-md-9,.factory-bootstrap-422 .col-sm-1,.factory-bootstrap-422 .col-sm-10,.factory-bootstrap-422 .col-sm-11,.factory-bootstrap-422 .col-sm-12,.factory-bootstrap-422 .col-sm-2,.factory-bootstrap-422 .col-sm-3,.factory-bootstrap-422 .col-sm-4,.factory-bootstrap-422 .col-sm-5,.factory-bootstrap-422 .col-sm-6,.factory-bootstrap-422 .col-sm-7,.factory-bootstrap-422 .col-sm-8,.factory-bootstrap-422 .col-sm-9,.factory-bootstrap-422 .col-xs-1,.factory-bootstrap-422 .col-xs-10,.factory-bootstrap-422 .col-xs-11,.factory-bootstrap-422 .col-xs-12,.factory-bootstrap-422 .col-xs-2,.factory-bootstrap-422 .col-xs-3,.factory-bootstrap-422 .col-xs-4,.factory-bootstrap-422 .col-xs-5,.factory-bootstrap-422 .col-xs-6,.factory-bootstrap-422 .col-xs-7,.factory-bootstrap-422 .col-xs-8,.factory-bootstrap-422 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-422 .col-xs-1,.factory-bootstrap-422 .col-xs-10,.factory-bootstrap-422 .col-xs-11,.factory-bootstrap-422 .col-xs-12,.factory-bootstrap-422 .col-xs-2,.factory-bootstrap-422 .col-xs-3,.factory-bootstrap-422 .col-xs-4,.factory-bootstrap-422 .col-xs-5,.factory-bootstrap-422 .col-xs-6,.factory-bootstrap-422 .col-xs-7,.factory-bootstrap-422 .col-xs-8,.factory-bootstrap-422 .col-xs-9{float:left}.factory-bootstrap-422 .col-xs-12{width:100%}.factory-bootstrap-422 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-422 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-422 .col-xs-9{width:75%}.factory-bootstrap-422 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-422 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-422 .col-xs-6{width:50%}.factory-bootstrap-422 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-422 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-422 .col-xs-3{width:25%}.factory-bootstrap-422 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-422 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-422 .col-xs-pull-12{right:100%}.factory-bootstrap-422 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-422 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-422 .col-xs-pull-9{right:75%}.factory-bootstrap-422 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-422 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-422 .col-xs-pull-6{right:50%}.factory-bootstrap-422 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-422 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-422 .col-xs-pull-3{right:25%}.factory-bootstrap-422 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-422 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-422 .col-xs-pull-0{right:0}.factory-bootstrap-422 .col-xs-push-12{left:100%}.factory-bootstrap-422 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-422 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-422 .col-xs-push-9{left:75%}.factory-bootstrap-422 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-422 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-422 .col-xs-push-6{left:50%}.factory-bootstrap-422 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-422 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-422 .col-xs-push-3{left:25%}.factory-bootstrap-422 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-422 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-422 .col-xs-push-0{left:0}.factory-bootstrap-422 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-422 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-422 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-422 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-422 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-422 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-422 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-422 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-422 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-422 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-422 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-422 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-422 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-422 table{max-width:100%;background-color:transparent}.factory-bootstrap-422 th{text-align:left}.factory-bootstrap-422 .table{width:100%;margin-bottom:20px}.factory-bootstrap-422 .table>tbody>tr>td,.factory-bootstrap-422 .table>tbody>tr>th,.factory-bootstrap-422 .table>tfoot>tr>td,.factory-bootstrap-422 .table>tfoot>tr>th,.factory-bootstrap-422 .table>thead>tr>td,.factory-bootstrap-422 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-422 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-422 .table>caption+thead>tr:first-child>td,.factory-bootstrap-422 .table>caption+thead>tr:first-child>th,.factory-bootstrap-422 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-422 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-422 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-422 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-422 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-422 .table .table{background-color:#fff}.factory-bootstrap-422 .table-condensed>tbody>tr>td,.factory-bootstrap-422 .table-condensed>tbody>tr>th,.factory-bootstrap-422 .table-condensed>tfoot>tr>td,.factory-bootstrap-422 .table-condensed>tfoot>tr>th,.factory-bootstrap-422 .table-condensed>thead>tr>td,.factory-bootstrap-422 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-422 .table-bordered,.factory-bootstrap-422 .table-bordered>tbody>tr>td,.factory-bootstrap-422 .table-bordered>tbody>tr>th,.factory-bootstrap-422 .table-bordered>tfoot>tr>td,.factory-bootstrap-422 .table-bordered>tfoot>tr>th,.factory-bootstrap-422 .table-bordered>thead>tr>td,.factory-bootstrap-422 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-422 .table-bordered>thead>tr>td,.factory-bootstrap-422 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-422 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-422 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-422 .table-hover>tbody>tr:hover>td,.factory-bootstrap-422 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-422 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-422 table td[class*=col-],.factory-bootstrap-422 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-422 .table>tbody>.active>td,.factory-bootstrap-422 .table>tbody>.active>th,.factory-bootstrap-422 .table>tbody>tr>.active,.factory-bootstrap-422 .table>tfoot>.active>td,.factory-bootstrap-422 .table>tfoot>.active>th,.factory-bootstrap-422 .table>tfoot>tr>.active,.factory-bootstrap-422 .table>thead>.active>td,.factory-bootstrap-422 .table>thead>.active>th,.factory-bootstrap-422 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-422 .table-hover>tbody>.active:hover>td,.factory-bootstrap-422 .table-hover>tbody>.active:hover>th,.factory-bootstrap-422 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-422 .table>tbody>.success>td,.factory-bootstrap-422 .table>tbody>.success>th,.factory-bootstrap-422 .table>tbody>tr>.success,.factory-bootstrap-422 .table>tfoot>.success>td,.factory-bootstrap-422 .table>tfoot>.success>th,.factory-bootstrap-422 .table>tfoot>tr>.success,.factory-bootstrap-422 .table>thead>.success>td,.factory-bootstrap-422 .table>thead>.success>th,.factory-bootstrap-422 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-422 .table-hover>tbody>.success:hover>td,.factory-bootstrap-422 .table-hover>tbody>.success:hover>th,.factory-bootstrap-422 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-422 .table>tbody>.danger>td,.factory-bootstrap-422 .table>tbody>.danger>th,.factory-bootstrap-422 .table>tbody>tr>.danger,.factory-bootstrap-422 .table>tfoot>.danger>td,.factory-bootstrap-422 .table>tfoot>.danger>th,.factory-bootstrap-422 .table>tfoot>tr>.danger,.factory-bootstrap-422 .table>thead>.danger>td,.factory-bootstrap-422 .table>thead>.danger>th,.factory-bootstrap-422 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-422 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-422 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-422 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-422 .table>tbody>.warning>td,.factory-bootstrap-422 .table>tbody>.warning>th,.factory-bootstrap-422 .table>tbody>tr>.warning,.factory-bootstrap-422 .table>tfoot>.warning>td,.factory-bootstrap-422 .table>tfoot>.warning>th,.factory-bootstrap-422 .table>tfoot>tr>.warning,.factory-bootstrap-422 .table>thead>.warning>td,.factory-bootstrap-422 .table>thead>.warning>th,.factory-bootstrap-422 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-422 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-422 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-422 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-422 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-422 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-422 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-422 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-422 input[type=checkbox],.factory-bootstrap-422 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-422 input[type=file]{display:block}.factory-bootstrap-422 select[multiple],.factory-bootstrap-422 select[size]{height:auto}.factory-bootstrap-422 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-422 input[type=checkbox]:focus,.factory-bootstrap-422 input[type=file]:focus,.factory-bootstrap-422 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-422 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-422 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-422 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-422 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-422 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-422 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-422 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-422 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-422 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-422 .form-control[disabled],.factory-bootstrap-422 .form-control[readonly],.factory-bootstrap-422 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-422 textarea.form-control{height:auto}.factory-bootstrap-422 .form-group{margin-bottom:15px}.factory-bootstrap-422 .checkbox,.factory-bootstrap-422 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-422 .checkbox label,.factory-bootstrap-422 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-422 .checkbox input[type=checkbox],.factory-bootstrap-422 .checkbox-inline input[type=checkbox],.factory-bootstrap-422 .radio input[type=radio],.factory-bootstrap-422 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-422 .checkbox+.checkbox,.factory-bootstrap-422 .radio+.radio{margin-top:-5px}.factory-bootstrap-422 .checkbox-inline,.factory-bootstrap-422 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-422 .checkbox-inline+.checkbox-inline,.factory-bootstrap-422 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-422 .checkbox-inline[disabled],.factory-bootstrap-422 .checkbox[disabled],.factory-bootstrap-422 .radio-inline[disabled],.factory-bootstrap-422 .radio[disabled],.factory-bootstrap-422 fieldset[disabled] .checkbox,.factory-bootstrap-422 fieldset[disabled] .checkbox-inline,.factory-bootstrap-422 fieldset[disabled] .radio,.factory-bootstrap-422 fieldset[disabled] .radio-inline,.factory-bootstrap-422 fieldset[disabled] input[type=checkbox],.factory-bootstrap-422 fieldset[disabled] input[type=radio],.factory-bootstrap-422 input[type=checkbox][disabled],.factory-bootstrap-422 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-422 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-422 textarea.input-sm{height:auto}.factory-bootstrap-422 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-422 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-422 textarea.input-lg{height:auto}.factory-bootstrap-422 .has-warning .checkbox,.factory-bootstrap-422 .has-warning .checkbox-inline,.factory-bootstrap-422 .has-warning .control-label,.factory-bootstrap-422 .has-warning .help-block,.factory-bootstrap-422 .has-warning .radio,.factory-bootstrap-422 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-422 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-422 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-422 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-422 .has-error .checkbox,.factory-bootstrap-422 .has-error .checkbox-inline,.factory-bootstrap-422 .has-error .control-label,.factory-bootstrap-422 .has-error .help-block,.factory-bootstrap-422 .has-error .radio,.factory-bootstrap-422 .has-error .radio-inline{color:#a94442}.factory-bootstrap-422 .controls{display:block}.factory-bootstrap-422 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-422 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-422 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-422 .has-success .checkbox,.factory-bootstrap-422 .has-success .checkbox-inline,.factory-bootstrap-422 .has-success .control-label,.factory-bootstrap-422 .has-success .help-block,.factory-bootstrap-422 .has-success .radio,.factory-bootstrap-422 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-422 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-422 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-422 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-422 .form-control-static{margin-bottom:0}.factory-bootstrap-422 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-422 .form-horizontal .checkbox,.factory-bootstrap-422 .form-horizontal .checkbox-inline,.factory-bootstrap-422 .form-horizontal .control-label,.factory-bootstrap-422 .form-horizontal .radio,.factory-bootstrap-422 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-422 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-422 .form-horizontal .checkbox,.factory-bootstrap-422 .form-horizontal .radio{min-height:27px}.factory-bootstrap-422 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-422 .form-horizontal .form-group:after,.factory-bootstrap-422 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-422 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-422 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-422 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-422 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-422 .btn{text-decoration:none}.factory-bootstrap-422 .btn:focus,.factory-bootstrap-422 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-422 .btn.disabled,.factory-bootstrap-422 .btn[disabled],.factory-bootstrap-422 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-422 .btn-default.active,.factory-bootstrap-422 .btn-default:active,.factory-bootstrap-422 .btn-default:focus,.factory-bootstrap-422 .btn-default:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-422 .btn-default.active,.factory-bootstrap-422 .btn-default:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-422 .btn-default.disabled,.factory-bootstrap-422 .btn-default.disabled.active,.factory-bootstrap-422 .btn-default.disabled:active,.factory-bootstrap-422 .btn-default.disabled:focus,.factory-bootstrap-422 .btn-default.disabled:hover,.factory-bootstrap-422 .btn-default[disabled],.factory-bootstrap-422 .btn-default[disabled].active,.factory-bootstrap-422 .btn-default[disabled]:active,.factory-bootstrap-422 .btn-default[disabled]:focus,.factory-bootstrap-422 .btn-default[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-default,.factory-bootstrap-422 fieldset[disabled] .btn-default.active,.factory-bootstrap-422 fieldset[disabled] .btn-default:active,.factory-bootstrap-422 fieldset[disabled] .btn-default:focus,.factory-bootstrap-422 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-422 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-422 .btn-primary.active,.factory-bootstrap-422 .btn-primary:active,.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-422 .btn-primary.active,.factory-bootstrap-422 .btn-primary:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-422 .btn-primary.disabled,.factory-bootstrap-422 .btn-primary.disabled.active,.factory-bootstrap-422 .btn-primary.disabled:active,.factory-bootstrap-422 .btn-primary.disabled:focus,.factory-bootstrap-422 .btn-primary.disabled:hover,.factory-bootstrap-422 .btn-primary[disabled],.factory-bootstrap-422 .btn-primary[disabled].active,.factory-bootstrap-422 .btn-primary[disabled]:active,.factory-bootstrap-422 .btn-primary[disabled]:focus,.factory-bootstrap-422 .btn-primary[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-primary,.factory-bootstrap-422 fieldset[disabled] .btn-primary.active,.factory-bootstrap-422 fieldset[disabled] .btn-primary:active,.factory-bootstrap-422 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-422 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-422 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-422 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-422 .btn-warning.active,.factory-bootstrap-422 .btn-warning:active,.factory-bootstrap-422 .btn-warning:focus,.factory-bootstrap-422 .btn-warning:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-422 .btn-warning.active,.factory-bootstrap-422 .btn-warning:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-422 .btn-warning.disabled,.factory-bootstrap-422 .btn-warning.disabled.active,.factory-bootstrap-422 .btn-warning.disabled:active,.factory-bootstrap-422 .btn-warning.disabled:focus,.factory-bootstrap-422 .btn-warning.disabled:hover,.factory-bootstrap-422 .btn-warning[disabled],.factory-bootstrap-422 .btn-warning[disabled].active,.factory-bootstrap-422 .btn-warning[disabled]:active,.factory-bootstrap-422 .btn-warning[disabled]:focus,.factory-bootstrap-422 .btn-warning[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-warning,.factory-bootstrap-422 fieldset[disabled] .btn-warning.active,.factory-bootstrap-422 fieldset[disabled] .btn-warning:active,.factory-bootstrap-422 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-422 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-422 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-422 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-422 .btn-success.active,.factory-bootstrap-422 .btn-success:active,.factory-bootstrap-422 .btn-success:focus,.factory-bootstrap-422 .btn-success:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-422 .btn-success.active,.factory-bootstrap-422 .btn-success:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-422 .btn-success.disabled,.factory-bootstrap-422 .btn-success.disabled.active,.factory-bootstrap-422 .btn-success.disabled:active,.factory-bootstrap-422 .btn-success.disabled:focus,.factory-bootstrap-422 .btn-success.disabled:hover,.factory-bootstrap-422 .btn-success[disabled],.factory-bootstrap-422 .btn-success[disabled].active,.factory-bootstrap-422 .btn-success[disabled]:active,.factory-bootstrap-422 .btn-success[disabled]:focus,.factory-bootstrap-422 .btn-success[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-success,.factory-bootstrap-422 fieldset[disabled] .btn-success.active,.factory-bootstrap-422 fieldset[disabled] .btn-success:active,.factory-bootstrap-422 fieldset[disabled] .btn-success:focus,.factory-bootstrap-422 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-422 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-422 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-422 .btn-info.active,.factory-bootstrap-422 .btn-info:active,.factory-bootstrap-422 .btn-info:focus,.factory-bootstrap-422 .btn-info:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-422 .btn-info.active,.factory-bootstrap-422 .btn-info:active,.factory-bootstrap-422 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-422 .btn-info.disabled,.factory-bootstrap-422 .btn-info.disabled.active,.factory-bootstrap-422 .btn-info.disabled:active,.factory-bootstrap-422 .btn-info.disabled:focus,.factory-bootstrap-422 .btn-info.disabled:hover,.factory-bootstrap-422 .btn-info[disabled],.factory-bootstrap-422 .btn-info[disabled].active,.factory-bootstrap-422 .btn-info[disabled]:active,.factory-bootstrap-422 .btn-info[disabled]:focus,.factory-bootstrap-422 .btn-info[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-info,.factory-bootstrap-422 fieldset[disabled] .btn-info.active,.factory-bootstrap-422 fieldset[disabled] .btn-info:active,.factory-bootstrap-422 fieldset[disabled] .btn-info:focus,.factory-bootstrap-422 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-422 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-422 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-422 .btn-link,.factory-bootstrap-422 .btn-link:active,.factory-bootstrap-422 .btn-link[disabled],.factory-bootstrap-422 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-422 .btn-link,.factory-bootstrap-422 .btn-link:active,.factory-bootstrap-422 .btn-link:focus,.factory-bootstrap-422 .btn-link:hover{border-color:transparent}.factory-bootstrap-422 .btn-link:focus,.factory-bootstrap-422 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-422 .btn-link[disabled]:focus,.factory-bootstrap-422 .btn-link[disabled]:hover,.factory-bootstrap-422 fieldset[disabled] .btn-link:focus,.factory-bootstrap-422 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-422 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-422 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-422 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-422 input[type=button].btn-block,.factory-bootstrap-422 input[type=reset].btn-block,.factory-bootstrap-422 input[type=submit].btn-block{width:100%}.factory-bootstrap-422 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-422 .fade.in{opacity:1}.factory-bootstrap-422 .collapse{display:none}.factory-bootstrap-422 .collapse.in{display:block}.factory-bootstrap-422 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-422 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-422 .glyphicon:empty{width:1em}.factory-bootstrap-422 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-422 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-422 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-422 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-422 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-422 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-422 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-422 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-422 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-422 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-422 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-422 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-422 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-422 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-422 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-422 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-422 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-422 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-422 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-422 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-422 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-422 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-422 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-422 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-422 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-422 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-422 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-422 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-422 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-422 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-422 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-422 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-422 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-422 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-422 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-422 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-422 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-422 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-422 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-422 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-422 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-422 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-422 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-422 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-422 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-422 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-422 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-422 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-422 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-422 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-422 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-422 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-422 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-422 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-422 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-422 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-422 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-422 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-422 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-422 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-422 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-422 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-422 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-422 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-422 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-422 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-422 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-422 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-422 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-422 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-422 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-422 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-422 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-422 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-422 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-422 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-422 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-422 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-422 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-422 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-422 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-422 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-422 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-422 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-422 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-422 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-422 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-422 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-422 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-422 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-422 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-422 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-422 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-422 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-422 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-422 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-422 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-422 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-422 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-422 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-422 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-422 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-422 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-422 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-422 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-422 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-422 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-422 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-422 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-422 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-422 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-422 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-422 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-422 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-422 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-422 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-422 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-422 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-422 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-422 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-422 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-422 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-422 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-422 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-422 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-422 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-422 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-422 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-422 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-422 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-422 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-422 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-422 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-422 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-422 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-422 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-422 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-422 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-422 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-422 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-422 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-422 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-422 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-422 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-422 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-422 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-422 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-422 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-422 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-422 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-422 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-422 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-422 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-422 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-422 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-422 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-422 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-422 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-422 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-422 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-422 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-422 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-422 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-422 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-422 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-422 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-422 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-422 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-422 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-422 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-422 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-422 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-422 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-422 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-422 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-422 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-422 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-422 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-422 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-422 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-422 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-422 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-422 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-422 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-422 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-422 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-422 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-422 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-422 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-422 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-422 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-422 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-422 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-422 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-422 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-422 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-422 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-422 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-422 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-422 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-422 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-422 .dropdown{position:relative}.factory-bootstrap-422 .dropdown-toggle:focus{outline:0}.factory-bootstrap-422 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-422 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-422 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-422 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-422 .dropdown-menu>li>a:focus,.factory-bootstrap-422 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-422 .dropdown-menu>.active>a,.factory-bootstrap-422 .dropdown-menu>.active>a:focus,.factory-bootstrap-422 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-422 .dropdown-menu>.disabled>a,.factory-bootstrap-422 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-422 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-422 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-422 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-422 .open>.dropdown-menu{display:block}.factory-bootstrap-422 .open>a{outline:0}.factory-bootstrap-422 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-422 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-422 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-422 .dropup .caret,.factory-bootstrap-422 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-422 .dropup .dropdown-menu,.factory-bootstrap-422 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-422 .btn-group,.factory-bootstrap-422 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-422 .btn-group-vertical>.btn,.factory-bootstrap-422 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-422 .btn-group-vertical>.btn.active,.factory-bootstrap-422 .btn-group-vertical>.btn:active,.factory-bootstrap-422 .btn-group-vertical>.btn:focus,.factory-bootstrap-422 .btn-group-vertical>.btn:hover,.factory-bootstrap-422 .btn-group>.btn.active,.factory-bootstrap-422 .btn-group>.btn:active,.factory-bootstrap-422 .btn-group>.btn:focus,.factory-bootstrap-422 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-422 .btn-group-vertical>.btn:focus,.factory-bootstrap-422 .btn-group>.btn:focus{outline:0}.factory-bootstrap-422 .btn-group .btn+.btn,.factory-bootstrap-422 .btn-group .btn+.btn-group,.factory-bootstrap-422 .btn-group .btn-group+.btn,.factory-bootstrap-422 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-422 .btn-toolbar:after,.factory-bootstrap-422 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-422 .btn-toolbar:after{clear:both}.factory-bootstrap-422 .btn-toolbar .btn-group{float:left}.factory-bootstrap-422 .btn-toolbar>.btn+.btn,.factory-bootstrap-422 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-422 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-422 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-422 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-422 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-422 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-422 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-422 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .btn-group>.btn-group{float:left}.factory-bootstrap-422 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-422 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-422 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-422 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .btn-group .dropdown-toggle:active,.factory-bootstrap-422 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-422 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-422 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-422 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-422 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-422 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-422 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-422 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-422 .btn .caret{margin-left:0}.factory-bootstrap-422 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-422 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-422 .btn-group-vertical>.btn,.factory-bootstrap-422 .btn-group-vertical>.btn-group,.factory-bootstrap-422 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-422 .btn-group-vertical>.btn-group:after,.factory-bootstrap-422 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-422 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-422 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-422 .btn-group-vertical>.btn+.btn,.factory-bootstrap-422 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-422 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-422 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-422 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-422 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-422 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-422 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-422 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-422 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-422 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-422 .btn-group-justified>.btn,.factory-bootstrap-422 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-422 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-422 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-422 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-422 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-422 .input-group-lg>.form-control,.factory-bootstrap-422 .input-group-lg>.input-group-addon,.factory-bootstrap-422 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-422 select.input-group-lg>.form-control,.factory-bootstrap-422 select.input-group-lg>.input-group-addon,.factory-bootstrap-422 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-422 textarea.input-group-lg>.form-control,.factory-bootstrap-422 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-422 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-422 .input-group-sm>.form-control,.factory-bootstrap-422 .input-group-sm>.input-group-addon,.factory-bootstrap-422 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-422 select.input-group-sm>.form-control,.factory-bootstrap-422 select.input-group-sm>.input-group-addon,.factory-bootstrap-422 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-422 textarea.input-group-sm>.form-control,.factory-bootstrap-422 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-422 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-422 .input-group .form-control,.factory-bootstrap-422 .input-group-addon,.factory-bootstrap-422 .input-group-btn{display:table-cell}.factory-bootstrap-422 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-422 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-422 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-422 .input-group-addon,.factory-bootstrap-422 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-422 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-422 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-422 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-422 .input-group-addon input[type=checkbox],.factory-bootstrap-422 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-422 .input-group .form-control:first-child,.factory-bootstrap-422 .input-group-addon:first-child,.factory-bootstrap-422 .input-group-btn:first-child>.btn,.factory-bootstrap-422 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-422 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-422 .input-group-addon:first-child{border-right:0}.factory-bootstrap-422 .input-group .form-control:last-child,.factory-bootstrap-422 .input-group-addon:last-child,.factory-bootstrap-422 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-422 .input-group-btn:last-child>.btn,.factory-bootstrap-422 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .input-group-addon:last-child{border-left:0}.factory-bootstrap-422 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-422 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-422 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-422 .input-group-btn>.btn{position:relative}.factory-bootstrap-422 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-422 .input-group-btn>.btn:active,.factory-bootstrap-422 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-422 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-422 .nav:after,.factory-bootstrap-422 .nav:before{display:table;content:" "}.factory-bootstrap-422 .nav:after{clear:both}.factory-bootstrap-422 .nav>li{position:relative;display:block}.factory-bootstrap-422 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-422 .nav>li>a:focus,.factory-bootstrap-422 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-422 .nav>li.disabled>a{color:#999}.factory-bootstrap-422 .nav>li.disabled>a:focus,.factory-bootstrap-422 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-422 .nav .open>a,.factory-bootstrap-422 .nav .open>a:focus,.factory-bootstrap-422 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-422 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-422 .nav>li>a>img{max-width:none}.factory-bootstrap-422 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-422 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-422 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-422 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-422 .nav-tabs>li.active>a,.factory-bootstrap-422 .nav-tabs>li.active>a:focus,.factory-bootstrap-422 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-422 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-422 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-422 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-422 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-422 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-422 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-422 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-422 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-422 .nav-pills>li{float:left}.factory-bootstrap-422 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-422 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-422 .nav-pills>li.active>a,.factory-bootstrap-422 .nav-pills>li.active>a:focus,.factory-bootstrap-422 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-422 .nav-stacked>li{float:none}.factory-bootstrap-422 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-422 .nav-justified{width:100%}.factory-bootstrap-422 .nav-justified>li{float:none}.factory-bootstrap-422 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-422 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-422 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-422 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-422 .nav-tabs-justified>.active>a,.factory-bootstrap-422 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-422 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-422 .tab-content>.tab-pane{display:none}.factory-bootstrap-422 .tab-content>.active{display:block}.factory-bootstrap-422 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-422 .navbar:after,.factory-bootstrap-422 .navbar:before{display:table;content:" "}.factory-bootstrap-422 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-422 .navbar-header:after,.factory-bootstrap-422 .navbar-header:before{display:table;content:" "}.factory-bootstrap-422 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-422 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-422 .navbar-collapse:after,.factory-bootstrap-422 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-422 .navbar-collapse:after{clear:both}.factory-bootstrap-422 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-422 .container>.navbar-collapse,.factory-bootstrap-422 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-422 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-422 .navbar-fixed-bottom,.factory-bootstrap-422 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-422 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-422 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-422 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-422 .navbar-brand:focus,.factory-bootstrap-422 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-422 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-422 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-422 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-422 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-422 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-422 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-422 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-422 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-422 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-422 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-422 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-422 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-422 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-422 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-422 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-422 .navbar-default .navbar-brand:focus,.factory-bootstrap-422 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-422 .navbar-default .navbar-nav>li>a,.factory-bootstrap-422 .navbar-default .navbar-text{color:#777}.factory-bootstrap-422 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-422 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-422 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-422 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-422 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-422 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-422 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-422 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-422 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-422 .navbar-default .navbar-toggle:focus,.factory-bootstrap-422 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-422 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-422 .navbar-default .navbar-collapse,.factory-bootstrap-422 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-422 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-422 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-422 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-422 .navbar-default .navbar-link{color:#777}.factory-bootstrap-422 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-422 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-422 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-422 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-422 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-422 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-422 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-422 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-422 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-422 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-422 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-422 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-422 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-422 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-422 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-422 .navbar-inverse .navbar-collapse,.factory-bootstrap-422 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-422 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-422 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-422 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-422 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-422 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-422 .breadcrumb>li{display:inline-block}.factory-bootstrap-422 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-422 .breadcrumb>.active{color:#999}.factory-bootstrap-422 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-422 .pagination>li{display:inline}.factory-bootstrap-422 .pagination>li>a,.factory-bootstrap-422 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-422 .pagination>li:first-child>a,.factory-bootstrap-422 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-422 .pagination>li:last-child>a,.factory-bootstrap-422 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-422 .pagination>li>a:focus,.factory-bootstrap-422 .pagination>li>a:hover,.factory-bootstrap-422 .pagination>li>span:focus,.factory-bootstrap-422 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-422 .pagination>.active>a,.factory-bootstrap-422 .pagination>.active>a:focus,.factory-bootstrap-422 .pagination>.active>a:hover,.factory-bootstrap-422 .pagination>.active>span,.factory-bootstrap-422 .pagination>.active>span:focus,.factory-bootstrap-422 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-422 .pagination>.disabled>a,.factory-bootstrap-422 .pagination>.disabled>a:focus,.factory-bootstrap-422 .pagination>.disabled>a:hover,.factory-bootstrap-422 .pagination>.disabled>span,.factory-bootstrap-422 .pagination>.disabled>span:focus,.factory-bootstrap-422 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-422 .pagination-lg>li>a,.factory-bootstrap-422 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-422 .pagination-lg>li:first-child>a,.factory-bootstrap-422 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-422 .pagination-lg>li:last-child>a,.factory-bootstrap-422 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-422 .pagination-sm>li>a,.factory-bootstrap-422 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-422 .pagination-sm>li:first-child>a,.factory-bootstrap-422 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-422 .pagination-sm>li:last-child>a,.factory-bootstrap-422 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-422 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-422 .pager:after,.factory-bootstrap-422 .pager:before{display:table;content:" "}.factory-bootstrap-422 .pager:after{clear:both}.factory-bootstrap-422 .pager li{display:inline}.factory-bootstrap-422 .pager li>a,.factory-bootstrap-422 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-422 .pager li>a:focus,.factory-bootstrap-422 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-422 .pager .next>a,.factory-bootstrap-422 .pager .next>span{float:right}.factory-bootstrap-422 .pager .previous>a,.factory-bootstrap-422 .pager .previous>span{float:left}.factory-bootstrap-422 .pager .disabled>a,.factory-bootstrap-422 .pager .disabled>a:focus,.factory-bootstrap-422 .pager .disabled>a:hover,.factory-bootstrap-422 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-422 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-422 .label[href]:focus,.factory-bootstrap-422 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-422 .label:empty{display:none}.factory-bootstrap-422 .btn .label{position:relative;top:-1px}.factory-bootstrap-422 .label-default{background-color:#999}.factory-bootstrap-422 .label-default[href]:focus,.factory-bootstrap-422 .label-default[href]:hover{background-color:gray}.factory-bootstrap-422 .label-primary{background-color:#428bca}.factory-bootstrap-422 .label-primary[href]:focus,.factory-bootstrap-422 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-422 .label-success{background-color:#5cb85c}.factory-bootstrap-422 .label-success[href]:focus,.factory-bootstrap-422 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-422 .label-info{background-color:#5bc0de}.factory-bootstrap-422 .label-info[href]:focus,.factory-bootstrap-422 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-422 .label-warning{background-color:#f0ad4e}.factory-bootstrap-422 .label-warning[href]:focus,.factory-bootstrap-422 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-422 .label-danger{background-color:#d9534f}.factory-bootstrap-422 .label-danger[href]:focus,.factory-bootstrap-422 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-422 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-422 .badge:empty{display:none}.factory-bootstrap-422 .btn .badge{position:relative;top:-1px}.factory-bootstrap-422 a.badge:focus,.factory-bootstrap-422 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-422 .nav-pills>.active>a>.badge,.factory-bootstrap-422 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-422 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-422 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-422 .jumbotron .h1,.factory-bootstrap-422 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-422 .jumbotron p{line-height:1.4}.factory-bootstrap-422 .container .jumbotron{border-radius:6px}.factory-bootstrap-422 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-422 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-422 .thumbnail a>img,.factory-bootstrap-422 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-422 a.thumbnail.active,.factory-bootstrap-422 a.thumbnail:focus,.factory-bootstrap-422 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-422 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-422 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-422 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-422 .alert .alert-link{font-weight:700}.factory-bootstrap-422 .alert>p,.factory-bootstrap-422 .alert>ul{margin-bottom:0}.factory-bootstrap-422 .alert>p+p{margin-top:5px}.factory-bootstrap-422 .alert-dismissable{padding-right:35px}.factory-bootstrap-422 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-422 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-422 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-422 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-422 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-422 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-422 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-422 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-422 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-422 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-422 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-422 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-422 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-422 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-422 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-422 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-422 .media,.factory-bootstrap-422 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-422 .media,.factory-bootstrap-422 .media .media{margin-top:15px}.factory-bootstrap-422 .media:first-child{margin-top:0}.factory-bootstrap-422 .media-object{display:block}.factory-bootstrap-422 .media-heading{margin:0 0 5px}.factory-bootstrap-422 .media>.pull-left{margin-right:10px}.factory-bootstrap-422 .media>.pull-right{margin-left:10px}.factory-bootstrap-422 .media-list{padding-left:0;list-style:none}.factory-bootstrap-422 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-422 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-422 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-422 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-422 .list-group-item>.badge{float:right}.factory-bootstrap-422 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-422 a.list-group-item{color:#555}.factory-bootstrap-422 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-422 a.list-group-item:focus,.factory-bootstrap-422 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-422 a.list-group-item.active,.factory-bootstrap-422 a.list-group-item.active:focus,.factory-bootstrap-422 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-422 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-422 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-422 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-422 a.list-group-item.active .list-group-item-text,.factory-bootstrap-422 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-422 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-422 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-422 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-422 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-422 .panel-body{padding:15px}.factory-bootstrap-422 .panel-body:after,.factory-bootstrap-422 .panel-body:before{display:table;content:" "}.factory-bootstrap-422 .panel-body:after{clear:both}.factory-bootstrap-422 .panel>.list-group{margin-bottom:0}.factory-bootstrap-422 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-422 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-422 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-422 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-422 .panel>.table,.factory-bootstrap-422 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-422 .panel>.panel-body+.table,.factory-bootstrap-422 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-422 .panel>.table>tbody:first-child td,.factory-bootstrap-422 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-422 .panel>.table-bordered,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-422 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-422 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-422 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-422 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-422 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-422 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-422 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-422 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-422 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-422 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-422 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-422 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-422 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-422 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-422 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-422 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-422 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-422 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-422 .panel-title>a{color:inherit}.factory-bootstrap-422 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-422 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-422 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-422 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-422 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-422 .panel-group .panel-footer{border-top:0}.factory-bootstrap-422 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-422 .panel-default{border-color:#ddd}.factory-bootstrap-422 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-422 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-422 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-422 .panel-primary{border-color:#428bca}.factory-bootstrap-422 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-422 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-422 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-422 .panel-success{border-color:#d6e9c6}.factory-bootstrap-422 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-422 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-422 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-422 .panel-warning{border-color:#faebcc}.factory-bootstrap-422 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-422 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-422 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-422 .panel-danger{border-color:#ebccd1}.factory-bootstrap-422 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-422 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-422 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-422 .panel-info{border-color:#bce8f1}.factory-bootstrap-422 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-422 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-422 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-422 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-422 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-422 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-422 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-422 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-422 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-422 .close:focus,.factory-bootstrap-422 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-422 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-422 .modal-open{overflow:hidden}.factory-bootstrap-422 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-422 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-422 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-422 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-422 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-422 .modal-backdrop,.factory-bootstrap-422-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-422 .modal-backdrop.fade,.factory-bootstrap-422-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-422 .modal-backdrop.in,.factory-bootstrap-422-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-422 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-422 .modal-header .close{margin-top:-2px}.factory-bootstrap-422 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-422 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-422 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-422 .modal-footer:after,.factory-bootstrap-422 .modal-footer:before{display:table;content:" "}.factory-bootstrap-422 .modal-footer:after{clear:both}.factory-bootstrap-422 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-422 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-422 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-422 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-422 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-422 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-422 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-422 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-422 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-422 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-422 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-422 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-422 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-422 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-422 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-422 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-422 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-422 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-422 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-422 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-422 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-422 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-422 .popover.top{margin-top:-10px}.factory-bootstrap-422 .popover.right{margin-left:10px}.factory-bootstrap-422 .popover.bottom{margin-top:10px}.factory-bootstrap-422 .popover.left{margin-left:-10px}.factory-bootstrap-422 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-422 .popover-content{padding:9px 14px}.factory-bootstrap-422 .popover .arrow,.factory-bootstrap-422 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-422 .popover .arrow{border-width:11px}.factory-bootstrap-422 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-422 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-422 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-422 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-422 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-422 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-422 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-422 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-422 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-422 .carousel{position:relative}.factory-bootstrap-422 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-422 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-422 .carousel-inner>.item>a>img,.factory-bootstrap-422 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-422 .carousel-inner>.active,.factory-bootstrap-422 .carousel-inner>.next,.factory-bootstrap-422 .carousel-inner>.prev{display:block}.factory-bootstrap-422 .carousel-inner>.active{left:0}.factory-bootstrap-422 .carousel-inner>.next,.factory-bootstrap-422 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-422 .carousel-inner>.next{left:100%}.factory-bootstrap-422 .carousel-inner>.prev{left:-100%}.factory-bootstrap-422 .carousel-inner>.next.left,.factory-bootstrap-422 .carousel-inner>.prev.right{left:0}.factory-bootstrap-422 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-422 .carousel-inner>.active.right{left:100%}.factory-bootstrap-422 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-422 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-422 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-422 .carousel-control:focus,.factory-bootstrap-422 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-422 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-422 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-422 .carousel-control .icon-next,.factory-bootstrap-422 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-422 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-422 .carousel-control .icon-prev{left:50%}.factory-bootstrap-422 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-422 .carousel-control .icon-next{right:50%}.factory-bootstrap-422 .carousel-control .icon-next,.factory-bootstrap-422 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-422 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-422 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-422 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-422 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-422 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-422 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-422 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-422 .clearfix:after,.factory-bootstrap-422 .clearfix:before{display:table;content:" "}.factory-bootstrap-422 .clearfix:after{clear:both}.factory-bootstrap-422 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-422 .pull-right{float:right!important}.factory-bootstrap-422 .pull-left{float:left!important}.factory-bootstrap-422 .hide{display:none!important}.factory-bootstrap-422 .show{display:block!important}.factory-bootstrap-422 .invisible{visibility:hidden}.factory-bootstrap-422 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-422 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-422 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-422 .visible-lg,.factory-bootstrap-422 .visible-md,.factory-bootstrap-422 .visible-sm,.factory-bootstrap-422 .visible-xs,.factory-bootstrap-422 td.visible-lg,.factory-bootstrap-422 td.visible-md,.factory-bootstrap-422 td.visible-sm,.factory-bootstrap-422 td.visible-xs,.factory-bootstrap-422 th.visible-lg,.factory-bootstrap-422 th.visible-md,.factory-bootstrap-422 th.visible-sm,.factory-bootstrap-422 th.visible-xs,.factory-bootstrap-422 tr.visible-lg,.factory-bootstrap-422 tr.visible-md,.factory-bootstrap-422 tr.visible-sm,.factory-bootstrap-422 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-422 .hidden-xs{display:block!important}.factory-bootstrap-422 table.hidden-xs{display:table}.factory-bootstrap-422 tr.hidden-xs{display:table-row!important}.factory-bootstrap-422 td.hidden-xs,.factory-bootstrap-422 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-422 .hidden-sm{display:block!important}.factory-bootstrap-422 table.hidden-sm{display:table}.factory-bootstrap-422 tr.hidden-sm{display:table-row!important}.factory-bootstrap-422 td.hidden-sm,.factory-bootstrap-422 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-422 .hidden-md{display:block!important}.factory-bootstrap-422 table.hidden-md{display:table}.factory-bootstrap-422 tr.hidden-md{display:table-row!important}.factory-bootstrap-422 td.hidden-md,.factory-bootstrap-422 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-422 .hidden-lg{display:block!important}.factory-bootstrap-422 table.hidden-lg{display:table}.factory-bootstrap-422 tr.hidden-lg{display:table-row!important}.factory-bootstrap-422 td.hidden-lg,.factory-bootstrap-422 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-422 .hidden-lg.hidden-xs,.factory-bootstrap-422 td.hidden-lg.hidden-xs,.factory-bootstrap-422 th.hidden-lg.hidden-xs,.factory-bootstrap-422 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-422 .hidden-lg.hidden-sm,.factory-bootstrap-422 td.hidden-lg.hidden-sm,.factory-bootstrap-422 th.hidden-lg.hidden-sm,.factory-bootstrap-422 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-422 .hidden-lg.hidden-md,.factory-bootstrap-422 td.hidden-lg.hidden-md,.factory-bootstrap-422 th.hidden-lg.hidden-md,.factory-bootstrap-422 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-422 .hidden-lg,.factory-bootstrap-422 td.hidden-lg,.factory-bootstrap-422 th.hidden-lg,.factory-bootstrap-422 tr.hidden-lg{display:none!important}}.factory-bootstrap-422 .visible-print,.factory-bootstrap-422 td.visible-print,.factory-bootstrap-422 th.visible-print,.factory-bootstrap-422 tr.visible-print{display:none!important}@media print{.factory-bootstrap-422 .visible-print{display:block!important}.factory-bootstrap-422 table.visible-print{display:table}.factory-bootstrap-422 tr.visible-print{display:table-row!important}.factory-bootstrap-422 td.visible-print,.factory-bootstrap-422 th.visible-print{display:table-cell!important}.factory-bootstrap-422 .hidden-print,.factory-bootstrap-422 td.hidden-print,.factory-bootstrap-422 th.hidden-print,.factory-bootstrap-422 tr.hidden-print{display:none!important}}/*!
12
+ * Factory Default Bootstrap Theme
13
+ *
14
+ * The code is based on Bootstrap v2.1.1
15
+ *
16
+ * Bootstrap v3.0.3 (http://getbootstrap.com)
17
+ * Copyright 2013 Twitter, Inc.
18
+ * Licensed under http://www.apache.org/licenses/LICENSE-2.0
19
+ *
20
+ * @author Paul Kashtanoff <paul@byonepress.com>
21
+ * @copyright (c) 2013, OnePress Ltd
22
+ *
23
+ * @package factory-bootstrap
24
+ * @since 1.0.0
25
+ */.factory-bootstrap-422 .btn-danger,.factory-bootstrap-422 .btn-default,.factory-bootstrap-422 .btn-info,.factory-bootstrap-422 .btn-primary,.factory-bootstrap-422 .btn-success,.factory-bootstrap-422 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-422 .btn-danger.active,.factory-bootstrap-422 .btn-danger:active,.factory-bootstrap-422 .btn-default.active,.factory-bootstrap-422 .btn-default:active,.factory-bootstrap-422 .btn-info.active,.factory-bootstrap-422 .btn-info:active,.factory-bootstrap-422 .btn-primary.active,.factory-bootstrap-422 .btn-primary:active,.factory-bootstrap-422 .btn-success.active,.factory-bootstrap-422 .btn-success:active,.factory-bootstrap-422 .btn-warning.active,.factory-bootstrap-422 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-422 .btn.active,.factory-bootstrap-422 .btn:active{background-image:none}.factory-bootstrap-422 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-422 .btn-default.active,.factory-bootstrap-422 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-422 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-422 .btn-gold:focus,.factory-bootstrap-422 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-422 .btn-gold.active,.factory-bootstrap-422 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-422 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-422 .btn-primary.active,.factory-bootstrap-422 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-422 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-422 .btn-success:focus,.factory-bootstrap-422 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-422 .btn-success.active,.factory-bootstrap-422 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-422 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-422 .btn-warning:focus,.factory-bootstrap-422 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-422 .btn-warning.active,.factory-bootstrap-422 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-422 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-422 .btn-danger.active,.factory-bootstrap-422 .btn-danger:active,.factory-bootstrap-422 .btn-danger:focus,.factory-bootstrap-422 .btn-danger:hover,.factory-bootstrap-422 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-422 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-422 .btn-info:focus,.factory-bootstrap-422 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-422 .btn-info.active,.factory-bootstrap-422 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-422 .img-thumbnail,.factory-bootstrap-422 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-422 .dropdown-menu>li>a:focus,.factory-bootstrap-422 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-422 .dropdown-menu>.active>a,.factory-bootstrap-422 .dropdown-menu>.active>a:focus,.factory-bootstrap-422 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-422 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-422 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-422 .navbar-brand,.factory-bootstrap-422 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-422 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-422 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-422 .navbar-inverse .navbar-brand,.factory-bootstrap-422 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-422 .navbar-fixed-bottom,.factory-bootstrap-422 .navbar-fixed-top,.factory-bootstrap-422 .navbar-static-top{border-radius:0}.factory-bootstrap-422 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-422 .alert .actions{padding-top:10px}.factory-bootstrap-422 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-422 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-422 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-422 .alert-normal,.factory-bootstrap-422 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-422 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-422 .alert-danger a:not(.btn),.factory-bootstrap-422 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-422 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-422 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-422 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-422 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-422 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-422 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-422 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-422 .list-group-item.active,.factory-bootstrap-422 .list-group-item.active:focus,.factory-bootstrap-422 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-422 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-422 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-422 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-422 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-422 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-422 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-422 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-422 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-422 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-422 .factory-hidden{display:none}.factory-bootstrap-422 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
libs/factory/bootstrap/assets/css-min/bootstrap.datepicker.min.css ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ /*!
12
+ * Datepicker for Bootstrap v1.5.0-dev (https://github.com/eternicode/bootstrap-datepicker)
13
+ *
14
+ * Copyright 2012 Stefan Petre
15
+ * Improvements by Andrew Rowls
16
+ * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
17
+ */.datepicker{border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker.datepicker-rtl{direction:rtl}.datepicker.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-top:before{top:-7px}.datepicker-dropdown.datepicker-orient-top:after{top:-6px}.datepicker-dropdown.datepicker-orient-bottom:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-bottom:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker>div{display:none}.datepicker.days .datepicker-days,.datepicker.months .datepicker-months,.datepicker.years .datepicker-years{display:block}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker table tr td,.datepicker table tr th{text-align:center;width:30px;height:30px;border-radius:4px;border:0}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{color:#000;background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:focus,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today:active,.datepicker table tr td.today:focus,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:focus,.datepicker table tr td.today:hover:hover,.open .dropdown-toggle.datepicker table tr td.today,.open .dropdown-toggle.datepicker table tr td.today.disabled,.open .dropdown-toggle.datepicker table tr td.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.today:hover{color:#000;background-color:#ffcd70;border-color:#f59e00}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active,.open .dropdown-toggle.datepicker table tr td.today,.open .dropdown-toggle.datepicker table tr td.today.disabled,.open .dropdown-toggle.datepicker table tr td.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.today:hover{background-image:none}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled.disabled.active,.datepicker table tr td.today.disabled.disabled:active,.datepicker table tr td.today.disabled.disabled:focus,.datepicker table tr td.today.disabled.disabled:hover,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover.disabled.active,.datepicker table tr td.today.disabled:hover.disabled:active,.datepicker table tr td.today.disabled:hover.disabled:focus,.datepicker table tr td.today.disabled:hover.disabled:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled:hover[disabled].active,.datepicker table tr td.today.disabled:hover[disabled]:active,.datepicker table tr td.today.disabled:hover[disabled]:focus,.datepicker table tr td.today.disabled:hover[disabled]:hover,.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today.disabled[disabled].active,.datepicker table tr td.today.disabled[disabled]:active,.datepicker table tr td.today.disabled[disabled]:focus,.datepicker table tr td.today.disabled[disabled]:hover,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover.disabled.active,.datepicker table tr td.today:hover.disabled:active,.datepicker table tr td.today:hover.disabled:focus,.datepicker table tr td.today:hover.disabled:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today:hover[disabled].active,.datepicker table tr td.today:hover[disabled]:active,.datepicker table tr td.today:hover[disabled]:focus,.datepicker table tr td.today:hover[disabled]:hover,.datepicker table tr td.today[disabled],.datepicker table tr td.today[disabled].active,.datepicker table tr td.today[disabled]:active,.datepicker table tr td.today[disabled]:focus,.datepicker table tr td.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.today,fieldset[disabled] .datepicker table tr td.today.active,fieldset[disabled] .datepicker table tr td.today.disabled,fieldset[disabled] .datepicker table tr td.today.disabled.active,fieldset[disabled] .datepicker table tr td.today.disabled:active,fieldset[disabled] .datepicker table tr td.today.disabled:focus,fieldset[disabled] .datepicker table tr td.today.disabled:hover,fieldset[disabled] .datepicker table tr td.today.disabled:hover.active,fieldset[disabled] .datepicker table tr td.today.disabled:hover:active,fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.today:active,fieldset[disabled] .datepicker table tr td.today:focus,fieldset[disabled] .datepicker table tr td.today:hover,fieldset[disabled] .datepicker table tr td.today:hover.active,fieldset[disabled] .datepicker table tr td.today:hover:active,fieldset[disabled] .datepicker table tr td.today:hover:focus,fieldset[disabled] .datepicker table tr td.today:hover:hover{background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{color:#000;background-color:#f7ca77;border-color:#f1a417;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:focus,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:focus,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:focus,.datepicker table tr td.range.today:hover:hover,.open .dropdown-toggle.datepicker table tr td.range.today,.open .dropdown-toggle.datepicker table tr td.range.today.disabled,.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.range.today:hover{color:#000;background-color:#f4bb51;border-color:#bf800c}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active,.open .dropdown-toggle.datepicker table tr td.range.today,.open .dropdown-toggle.datepicker table tr td.range.today.disabled,.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.range.today:hover{background-image:none}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled.disabled.active,.datepicker table tr td.range.today.disabled.disabled:active,.datepicker table tr td.range.today.disabled.disabled:focus,.datepicker table tr td.range.today.disabled.disabled:hover,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover.disabled.active,.datepicker table tr td.range.today.disabled:hover.disabled:active,.datepicker table tr td.range.today.disabled:hover.disabled:focus,.datepicker table tr td.range.today.disabled:hover.disabled:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled:hover[disabled].active,.datepicker table tr td.range.today.disabled:hover[disabled]:active,.datepicker table tr td.range.today.disabled:hover[disabled]:focus,.datepicker table tr td.range.today.disabled:hover[disabled]:hover,.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today.disabled[disabled].active,.datepicker table tr td.range.today.disabled[disabled]:active,.datepicker table tr td.range.today.disabled[disabled]:focus,.datepicker table tr td.range.today.disabled[disabled]:hover,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover.disabled.active,.datepicker table tr td.range.today:hover.disabled:active,.datepicker table tr td.range.today:hover.disabled:focus,.datepicker table tr td.range.today:hover.disabled:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today:hover[disabled].active,.datepicker table tr td.range.today:hover[disabled]:active,.datepicker table tr td.range.today:hover[disabled]:focus,.datepicker table tr td.range.today:hover[disabled]:hover,.datepicker table tr td.range.today[disabled],.datepicker table tr td.range.today[disabled].active,.datepicker table tr td.range.today[disabled]:active,.datepicker table tr td.range.today[disabled]:focus,.datepicker table tr td.range.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.today,fieldset[disabled] .datepicker table tr td.range.today.active,fieldset[disabled] .datepicker table tr td.range.today.disabled,fieldset[disabled] .datepicker table tr td.range.today.disabled.active,fieldset[disabled] .datepicker table tr td.range.today.disabled:active,fieldset[disabled] .datepicker table tr td.range.today.disabled:focus,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.range.today:active,fieldset[disabled] .datepicker table tr td.range.today:focus,fieldset[disabled] .datepicker table tr td.range.today:hover,fieldset[disabled] .datepicker table tr td.range.today:hover.active,fieldset[disabled] .datepicker table tr td.range.today:hover:active,fieldset[disabled] .datepicker table tr td.range.today:hover:focus,fieldset[disabled] .datepicker table tr td.range.today:hover:hover{background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{color:#fff;background-color:#999;border-color:#555;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:focus,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected:active,.datepicker table tr td.selected:focus,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:focus,.datepicker table tr td.selected:hover:hover,.open .dropdown-toggle.datepicker table tr td.selected,.open .dropdown-toggle.datepicker table tr td.selected.disabled,.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover,.open .dropdown-toggle.datepicker table tr td.selected:hover{color:#fff;background-color:#858585;border-color:#373737}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active,.open .dropdown-toggle.datepicker table tr td.selected,.open .dropdown-toggle.datepicker table tr td.selected.disabled,.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover,.open .dropdown-toggle.datepicker table tr td.selected:hover{background-image:none}.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled.disabled.active,.datepicker table tr td.selected.disabled.disabled:active,.datepicker table tr td.selected.disabled.disabled:focus,.datepicker table tr td.selected.disabled.disabled:hover,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover.disabled.active,.datepicker table tr td.selected.disabled:hover.disabled:active,.datepicker table tr td.selected.disabled:hover.disabled:focus,.datepicker table tr td.selected.disabled:hover.disabled:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled:hover[disabled].active,.datepicker table tr td.selected.disabled:hover[disabled]:active,.datepicker table tr td.selected.disabled:hover[disabled]:focus,.datepicker table tr td.selected.disabled:hover[disabled]:hover,.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected.disabled[disabled].active,.datepicker table tr td.selected.disabled[disabled]:active,.datepicker table tr td.selected.disabled[disabled]:focus,.datepicker table tr td.selected.disabled[disabled]:hover,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover.disabled.active,.datepicker table tr td.selected:hover.disabled:active,.datepicker table tr td.selected:hover.disabled:focus,.datepicker table tr td.selected:hover.disabled:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected:hover[disabled].active,.datepicker table tr td.selected:hover[disabled]:active,.datepicker table tr td.selected:hover[disabled]:focus,.datepicker table tr td.selected:hover[disabled]:hover,.datepicker table tr td.selected[disabled],.datepicker table tr td.selected[disabled].active,.datepicker table tr td.selected[disabled]:active,.datepicker table tr td.selected[disabled]:focus,.datepicker table tr td.selected[disabled]:hover,fieldset[disabled] .datepicker table tr td.selected,fieldset[disabled] .datepicker table tr td.selected.active,fieldset[disabled] .datepicker table tr td.selected.disabled,fieldset[disabled] .datepicker table tr td.selected.disabled.active,fieldset[disabled] .datepicker table tr td.selected.disabled:active,fieldset[disabled] .datepicker table tr td.selected.disabled:focus,fieldset[disabled] .datepicker table tr td.selected.disabled:hover,fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active,fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active,fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.selected:active,fieldset[disabled] .datepicker table tr td.selected:focus,fieldset[disabled] .datepicker table tr td.selected:hover,fieldset[disabled] .datepicker table tr td.selected:hover.active,fieldset[disabled] .datepicker table tr td.selected:hover:active,fieldset[disabled] .datepicker table tr td.selected:hover:focus,fieldset[disabled] .datepicker table tr td.selected:hover:hover{background-color:#999;border-color:#555}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{color:#fff;background-color:#428bca;border-color:#357ebd;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:focus,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active:active,.datepicker table tr td.active:focus,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:focus,.datepicker table tr td.active:hover:hover,.open .dropdown-toggle.datepicker table tr td.active,.open .dropdown-toggle.datepicker table tr td.active.disabled,.open .dropdown-toggle.datepicker table tr td.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td.active:hover{color:#fff;background-color:#3276b1;border-color:#285e8e}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active,.open .dropdown-toggle.datepicker table tr td.active,.open .dropdown-toggle.datepicker table tr td.active.disabled,.open .dropdown-toggle.datepicker table tr td.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td.active:hover{background-image:none}.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled.disabled.active,.datepicker table tr td.active.disabled.disabled:active,.datepicker table tr td.active.disabled.disabled:focus,.datepicker table tr td.active.disabled.disabled:hover,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover.disabled.active,.datepicker table tr td.active.disabled:hover.disabled:active,.datepicker table tr td.active.disabled:hover.disabled:focus,.datepicker table tr td.active.disabled:hover.disabled:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled:hover[disabled].active,.datepicker table tr td.active.disabled:hover[disabled]:active,.datepicker table tr td.active.disabled:hover[disabled]:focus,.datepicker table tr td.active.disabled:hover[disabled]:hover,.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active.disabled[disabled].active,.datepicker table tr td.active.disabled[disabled]:active,.datepicker table tr td.active.disabled[disabled]:focus,.datepicker table tr td.active.disabled[disabled]:hover,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover.disabled.active,.datepicker table tr td.active:hover.disabled:active,.datepicker table tr td.active:hover.disabled:focus,.datepicker table tr td.active:hover.disabled:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active:hover[disabled].active,.datepicker table tr td.active:hover[disabled]:active,.datepicker table tr td.active:hover[disabled]:focus,.datepicker table tr td.active:hover[disabled]:hover,.datepicker table tr td.active[disabled],.datepicker table tr td.active[disabled].active,.datepicker table tr td.active[disabled]:active,.datepicker table tr td.active[disabled]:focus,.datepicker table tr td.active[disabled]:hover,fieldset[disabled] .datepicker table tr td.active,fieldset[disabled] .datepicker table tr td.active.active,fieldset[disabled] .datepicker table tr td.active.disabled,fieldset[disabled] .datepicker table tr td.active.disabled.active,fieldset[disabled] .datepicker table tr td.active.disabled:active,fieldset[disabled] .datepicker table tr td.active.disabled:focus,fieldset[disabled] .datepicker table tr td.active.disabled:hover,fieldset[disabled] .datepicker table tr td.active.disabled:hover.active,fieldset[disabled] .datepicker table tr td.active.disabled:hover:active,fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.active:active,fieldset[disabled] .datepicker table tr td.active:focus,fieldset[disabled] .datepicker table tr td.active:hover,fieldset[disabled] .datepicker table tr td.active:hover.active,fieldset[disabled] .datepicker table tr td.active:hover:active,fieldset[disabled] .datepicker table tr td.active:hover:focus,fieldset[disabled] .datepicker table tr td.active:hover:hover{background-color:#428bca;border-color:#357ebd}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;border-radius:4px}.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#428bca;border-color:#357ebd;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:focus,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:active,.datepicker table tr td span.active:focus,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:focus,.datepicker table tr td span.active:hover:hover,.open .dropdown-toggle.datepicker table tr td span.active,.open .dropdown-toggle.datepicker table tr td span.active.disabled,.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td span.active:hover{color:#fff;background-color:#3276b1;border-color:#285e8e}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active,.open .dropdown-toggle.datepicker table tr td span.active,.open .dropdown-toggle.datepicker table tr td span.active.disabled,.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td span.active:hover{background-image:none}.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled.disabled.active,.datepicker table tr td span.active.disabled.disabled:active,.datepicker table tr td span.active.disabled.disabled:focus,.datepicker table tr td span.active.disabled.disabled:hover,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover.disabled.active,.datepicker table tr td span.active.disabled:hover.disabled:active,.datepicker table tr td span.active.disabled:hover.disabled:focus,.datepicker table tr td span.active.disabled:hover.disabled:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled:hover[disabled].active,.datepicker table tr td span.active.disabled:hover[disabled]:active,.datepicker table tr td span.active.disabled:hover[disabled]:focus,.datepicker table tr td span.active.disabled:hover[disabled]:hover,.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active.disabled[disabled].active,.datepicker table tr td span.active.disabled[disabled]:active,.datepicker table tr td span.active.disabled[disabled]:focus,.datepicker table tr td span.active.disabled[disabled]:hover,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover.disabled.active,.datepicker table tr td span.active:hover.disabled:active,.datepicker table tr td span.active:hover.disabled:focus,.datepicker table tr td span.active:hover.disabled:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active:hover[disabled].active,.datepicker table tr td span.active:hover[disabled]:active,.datepicker table tr td span.active:hover[disabled]:focus,.datepicker table tr td span.active:hover[disabled]:hover,.datepicker table tr td span.active[disabled],.datepicker table tr td span.active[disabled].active,.datepicker table tr td span.active[disabled]:active,.datepicker table tr td span.active[disabled]:focus,.datepicker table tr td span.active[disabled]:hover,fieldset[disabled] .datepicker table tr td span.active,fieldset[disabled] .datepicker table tr td span.active.active,fieldset[disabled] .datepicker table tr td span.active.disabled,fieldset[disabled] .datepicker table tr td span.active.disabled.active,fieldset[disabled] .datepicker table tr td span.active.disabled:active,fieldset[disabled] .datepicker table tr td span.active.disabled:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover,fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td span.active:active,fieldset[disabled] .datepicker table tr td span.active:focus,fieldset[disabled] .datepicker table tr td span.active:hover,fieldset[disabled] .datepicker table tr td span.active:hover.active,fieldset[disabled] .datepicker table tr td span.active:hover:active,fieldset[disabled] .datepicker table tr td span.active:hover:focus,fieldset[disabled] .datepicker table tr td span.active:hover:hover{background-color:#428bca;border-color:#357ebd}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker tfoot tr th,.datepicker thead tr:first-child th{cursor:pointer}.datepicker tfoot tr th:hover,.datepicker thead tr:first-child th:hover{background:#eee}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.datepicker thead tr:first-child .cw{cursor:default;background-color:transparent}.input-group.date .input-group-addon{cursor:pointer}.input-daterange{width:100%}.input-daterange input{text-align:center}.input-daterange input:first-child{border-radius:3px 0 0 3px}.input-daterange input:last-child{border-radius:0 3px 3px 0}.input-daterange .input-group-addon{width:auto;min-width:16px;padding:4px 5px;font-weight:400;line-height:1.42857143;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:solid #ccc;border-width:1px 0;margin-left:-5px;margin-right:-5px}.datepicker.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px;color:#333;font-size:13px;line-height:1.42857143}.datepicker.datepicker-inline td,.datepicker.datepicker-inline th,.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{padding:0 5px}
libs/factory/bootstrap/assets/css-min/bootstrap.datetimepicker.min.css ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ /*!
12
+ * Datetimepicker for Bootstrap 3
13
+ * version : 4.17.47
14
+ * https://github.com/Eonasdan/bootstrap-datetimepicker/
15
+ */.factory-bootstrap-422 .bootstrap-datetimepicker-widget{list-style:none}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:19em}@media (min-width:768px){.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:1200px){.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu:after,.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu:before{content:'';display:inline-block;position:absolute}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,.2);top:-7px;left:7px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;top:-6px;left:8px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,.2);bottom:-7px;left:6px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;bottom:-6px;left:7px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before{left:auto;right:6px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after{left:auto;right:7px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .list-unstyled{margin:0}.factory-bootstrap-422 .bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.factory-bootstrap-422 .bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .timepicker-hour,.factory-bootstrap-422 .bootstrap-datetimepicker-widget .timepicker-minute,.factory-bootstrap-422 .bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:700;font-size:1.2em;margin:0}.factory-bootstrap-422 .bootstrap-datetimepicker-widget button[data-action]{padding:6px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .btn[data-action=incrementHours]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Increment Hours"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .btn[data-action=incrementMinutes]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Increment Minutes"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .btn[data-action=decrementHours]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Decrement Hours"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .btn[data-action=decrementMinutes]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Decrement Minutes"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .btn[data-action=showHours]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Show Hours"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .btn[data-action=showMinutes]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Show Minutes"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Toggle AM/PM"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .btn[data-action=clear]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Clear the picker"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .btn[data-action=today]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Set the date to today"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .picker-switch{text-align:center}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .picker-switch::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Toggle Date and Time Screens"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table{width:100%;margin:0}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td,.factory-bootstrap-422 .bootstrap-datetimepicker-widget table th{text-align:center;border-radius:4px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table th.disabled,.factory-bootstrap-422 .bootstrap-datetimepicker-widget table th.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table th.prev::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Previous Month"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table th.next::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;content:"Next Month"}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#eee}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#777}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.day:hover,.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.hour:hover,.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.minute:hover,.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.second:hover{background:#eee;cursor:pointer}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.new,.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.old{color:#777}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.today{position:relative}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.today:before{content:'';display:inline-block;border:solid transparent;border-width:0 0 7px 7px;border-bottom-color:#337ab7;border-top-color:rgba(0,0,0,.2);position:absolute;bottom:4px;right:4px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.active,.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.active:hover{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.disabled,.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:4px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td span:hover{background:#eee}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td span.active{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td span.old{color:#777}.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td span.disabled,.factory-bootstrap-422 .bootstrap-datetimepicker-widget table td span.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.factory-bootstrap-422 .bootstrap-datetimepicker-widget.wider{width:21em}.factory-bootstrap-422 .bootstrap-datetimepicker-widget .datepicker-decades .decade{line-height:1.8em!important}.factory-bootstrap-422 .input-group.date .input-group-addon{cursor:pointer}.factory-bootstrap-422 .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}
libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-422 .btn-primary:disabled,.factory-bootstrap-422 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-422 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-422 .pagination>.active>a,.factory-bootstrap-422 .pagination>.active>a:focus,.factory-bootstrap-422 .pagination>.active>a:hover,.factory-bootstrap-422 .pagination>.active>span,.factory-bootstrap-422 .pagination>.active>span:focus,.factory-bootstrap-422 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-422 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-422 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-422 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-422 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-422 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-422 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-422 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-422 .factory-form-group legend+.control-group{margin-top:0}
libs/factory/bootstrap/assets/css-min/bootstrap.form-metabox.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-form-metabox{padding:15px 10px 10px}.factory-form-metabox .control-group:last-child{margin-bottom:0}#side-sortables .factory-bootstrap-422 .control-label{float:left;width:100%;text-align:left;position:relative;top:1px}#side-sortables .factory-bootstrap-422 .control-icon{float:left;margin:0 6px 0 0}#side-sortables .factory-bootstrap-422 input{float:right;position:relative;top:-25px}#side-sortables .factory-bootstrap-422 .col-sm-10{margin:0;width:100%}#side-sortables .factory-bootstrap-422 .form-group{float:none;width:auto;overflow:auto;margin-bottom:0;border-top:1px solid #f7f7f7;padding-top:15px;margin-top:15px}#side-sortables .factory-bootstrap-422 .form-group:first-child{border-top:0;padding-top:0;margin-top:0}
libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-422 .btn-primary:disabled,.factory-bootstrap-422 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-422 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-422 .pagination>.active>a,.factory-bootstrap-422 .pagination>.active>a:focus,.factory-bootstrap-422 .pagination>.active>a:hover,.factory-bootstrap-422 .pagination>.active>span,.factory-bootstrap-422 .pagination>.active>span:focus,.factory-bootstrap-422 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-422 .btn-primary:disabled,.factory-bootstrap-422 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-422 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-422 .pagination>.active>a,.factory-bootstrap-422 .pagination>.active>a:focus,.factory-bootstrap-422 .pagination>.active>a:hover,.factory-bootstrap-422 .pagination>.active>span,.factory-bootstrap-422 .pagination>.active>span:focus,.factory-bootstrap-422 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-422 .btn-primary:disabled,.factory-bootstrap-422 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-422 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-422 .pagination>.active>a,.factory-bootstrap-422 .pagination>.active>a:focus,.factory-bootstrap-422 .pagination>.active>a:hover,.factory-bootstrap-422 .pagination>.active>span,.factory-bootstrap-422 .pagination>.active>span:focus,.factory-bootstrap-422 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:focus,.factory-bootstrap-422 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-422 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-422 .btn-primary:disabled,.factory-bootstrap-422 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-422 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-422 .pagination>.active>a,.factory-bootstrap-422 .pagination>.active>a:focus,.factory-bootstrap-422 .pagination>.active>a:hover,.factory-bootstrap-422 .pagination>.active>span,.factory-bootstrap-422 .pagination>.active>span:focus,.factory-bootstrap-422 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
libs/factory/bootstrap/assets/css-min/bootstrap.tab.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-tab{overflow:hidden;margin-bottom:25px}.factory-bootstrap-422 .factory-tab .form-group{overflow:hidden}.factory-bootstrap-422 .factory-tab+.form-group{margin-top:30px}.factory-bootstrap-422 .nav-tabs a{text-decoration:none}.factory-bootstrap-422 .factory-align-horizontal .nav-tabs{border-bottom:0}.factory-bootstrap-422 .factory-align-vertical .factory-headers{float:left;width:150px}.factory-bootstrap-422 .factory-align-vertical .factory-headers .nav-tabs{border-bottom:0;display:block;margin:0;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.factory-bootstrap-422 .factory-tab .factory-bodies{background-color:#fff;-webkit-border-radius:0 3px 3px;-moz-border-radius:0 3px 3px;border-radius:0 3px 3px;border:1px solid #DDD;padding:30px 15px 25px 10px}.factory-bootstrap-422 .factory-align-vertical .factory-bodies{min-height:250px;margin-left:150px}.factory-bootstrap-422 .factory-align-vertical .factory-bodies .actory-tab-item{clear:both}.factory-bootstrap-422 .form-horizontal .factory-align-vertical .form-group{margin-left:-5px}.factory-bootstrap-422 .factory-align-vertical .nav-tabs li{float:none}.factory-bootstrap-422 .factory-align-vertical .nav-tabs li a{margin-right:-1px;margin-bottom:0;position:relative;z-index:10;padding:10px 0 9px 15px;-webkit-border-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:0;-moz-border-radius:3px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;border-radius:3px;border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-422 .factory-align-vertical .nav-tabs>.active>a{border:1px solid #DDD!important;border-right:1px solid #fff!important}.factory-bootstrap-422 .factory-align-vertical .nav-tabs>li a:hover{color:#21759B;z-index:5;border-color:transparent}.factory-bootstrap-422 .factory-align-vertical .control-label{width:20%;max-width:140px}.factory-bootstrap-422 .factory-align-vertical .control-group{width:80%}.factory-bootstrap-422 .factory-align-vertical .control-group input[type=text],.factory-bootstrap-422 .factory-align-vertical .control-group textarea{width:90%}
libs/factory/bootstrap/assets/css-min/bootstrap.wp-editor.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .wp-editor-wrap *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-422 .wp-editor-wrap .button,.factory-bootstrap-422 .wp-editor-wrap input,.factory-bootstrap-422 .wp-editor-wrap textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-422 .switch-html,.factory-bootstrap-422 .switch-tmce{color:#777}.factory-bootstrap-422 .html-active .switch-html,.factory-bootstrap-422 .tmce-active .switch-tmce{color:#555}.factory-bootstrap-422 .switch-html:hover,.factory-bootstrap-422 .switch-tmce:hover{color:#777}
libs/factory/bootstrap/assets/css-min/control.checkbox.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ #side-sortables .factory-bootstrap-422 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-422 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-422 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-422 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-422 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-422 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-422 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-422 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-422 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-422 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-422 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-422 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-422 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
libs/factory/bootstrap/assets/css-min/control.color-and-opacity.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-control-row{padding-left:105px;position:relative}.factory-bootstrap-422 .factory-control-row .factory-color-wrap{position:absolute;left:0;top:0}.factory-bootstrap-422 .factory-control-row .factory-opacity-wrap{width:100%}.factory-bootstrap-422 .iris-picker{margin-top:10px}
libs/factory/bootstrap/assets/css-min/control.color.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-color{position:relative}.factory-bootstrap-422 .factory-color .factory-color-hex{display:inline-block;width:65px;text-align:left;vertical-align:top;border-top-right-radius:3px;border-bottom-right-radius:3px;border-radius:3px;z-index:1;position:relative;margin-left:26px;border-top-left-radius:0;border-bottom-left-radius:0}.factory-bootstrap-422 .factory-color .factory-background,.factory-bootstrap-422 .factory-color .factory-pattern{cursor:pointer;height:26px;width:26px;position:absolute;border-radius:5px;background:transparent url(../../images/color_picker_pattern.jpg) center center repeat;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid rgba(0,0,0,.34);z-index:1;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.factory-bootstrap-422 .factory-color .factory-background{z-index:2;border-radius:3px}
libs/factory/bootstrap/assets/css-min/control.dropdown-and-colors.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-dropdown-and-colors .factory-colors-wrap,.factory-bootstrap-422 .factory-dropdown-and-colors .factory-dropdown-wrap{display:inline-block}.factory-bootstrap-422 .factory-dropdown-and-colors .factory-dropdown-wrap{min-width:200px;max-width:300px}
libs/factory/bootstrap/assets/css-min/control.dropdown.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-422 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-422 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-422 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-422 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-422 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-422 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-422 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-422 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-422 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-422 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-422 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-422 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-422 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
libs/factory/bootstrap/assets/css-min/control.fonts.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-font .factory-control-row{padding:0;vertical-align:top}.factory-bootstrap-422 .factory-font .factory-color-wrap{position:static;display:inline-block;vertical-align:top}.factory-bootstrap-422 .factory-font .factory-size-wrap{display:inline-block;width:70px;vertical-align:top}.factory-bootstrap-422 .iris-picker{margin-top:10px}.factory-bootstrap-422 .factory-font .factory-family-wrap{padding-bottom:10px}.factory-bootstrap-422 .factory-font .chosen-results{max-height:150px}
libs/factory/bootstrap/assets/css-min/control.list.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-list li input{margin:0 5px 0 0;position:relative;top:1px;outline:0!important}.factory-bootstrap-422 .factory-list li span{vertical-align:bottom;line-height:100%}.factory-bootstrap-422 .factory-list .factory-error{position:relative;display:inline-block}.factory-bootstrap-422 .factory-list .factory-error i{color:#f47665;margin:0 7px 0 1px;cursor:help}.factory-bootstrap-422 .factory-list .factory-error-text{display:none;position:absolute;width:300px}.factory-bootstrap-422 .factory-list .factory-error-text,.factory-bootstrap-422 .factory-list-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;padding:10px 12px 12px;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:2px}.factory-bootstrap-422 .factory-list-error{padding:5px 10px;max-width:500px;display:inline-block}.factory-bootstrap-422 .factory-list-error i{margin:0 7px 0 1px}.factory-bootstrap-422 .factory-list .factory-error-text a{color:#fff;font-weight:700}.factory-bootstrap-422 .factory-list .factory-has-error:hover .factory-error-text{display:block}.factory-bootstrap-422 .factory-list .factory-has-error{cursor:default}.opanda-connect-buttons .opanda-has-error .opanda-error{display:inline-block}.factory-bootstrap-422 .factory-checklist-way.factory-empty{font-style:italic;margin-top:7px}
libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-422 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-422 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-422 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-422 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-422 .factory-mtextbox-add-item{display:block;margin-top:10px}
libs/factory/bootstrap/assets/css-min/control.pattern.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-pattern .factory-pattern-controls{vertical-align:middle}.factory-bootstrap-422 .factory-pattern .factory-preview-wrap{display:inline-block;vertical-align:middle}.factory-bootstrap-422 .factory-pattern .factory-preview{width:100px;height:26px;background:transparent url(../assets/images/color_picker_pattern.jpg) repeat;border:0;border-radius:3px;cursor:pointer;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid rgba(0,0,0,.34)!important;position:relative}.factory-bootstrap-422 .factory-pattern .factory-preview.factory-empty{background:transparent url(../assets/images/color_picker_pattern.jpg) repeat!important}.factory-bootstrap-422 .factory-pattern .factory-preview span{position:absolute;top:0;left:76px;background:#111;width:26px;height:26px;border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0;z-index:99;border-bottom:2px solid #000}.factory-bootstrap-422 .factory-pattern .factory-preview span:hover{background:#161616}.factory-bootstrap-422 .factory-pattern .factory-preview span:after{content:'';width:0;height:0;border:transparent solid 5px;border-top-color:#96a6a6;position:absolute;top:10px;right:7px;z-index:1}.factory-bootstrap-422 .factory-pattern.factory-patterns-panel-active .factory-preview span:after{border-top-color:transparent;border-bottom-color:#96a6a6;top:4px}.factory-bootstrap-422 .factory-pattern .factory-color-panel{padding:10px;margin-top:10px;background:rgba(255,255,255,.04);border-radius:3px;display:none}.factory-bootstrap-422 .factory-pattern.factory-color-panel-active .factory-color-panel{display:block}.factory-bootstrap-422 .factory-pattern .factory-color-label{margin-right:5px}.factory-bootstrap-422 .factory-pattern .factory-color,.factory-bootstrap-422 .factory-pattern .factory-color-label{display:inline-block;vertical-align:middle}.factory-bootstrap-422 .factory-pattern .factory-color-panel .factory-hint{margin-top:7px}.factory-bootstrap-422 .factory-pattern .factory-patterns-panel{display:none;margin-top:10px;padding:2px 0 0;border-top:1px solid #272727;overflow:visible}.factory-bootstrap-422 .factory-pattern .factory-patterns-group{clear:both;padding:2px 0 0;border-bottom:1px solid #272727;padding-bottom:10px}.factory-bootstrap-422 .factory-pattern .factory-patterns-group-title{margin-top:10px}.factory-bootstrap-422 .factory-pattern .factory-patterns-row{padding-top:10px}.factory-bootstrap-422 .factory-pattern.factory-patterns-panel-active .factory-patterns-panel{display:block}.factory-bootstrap-422 .factory-pattern .factory-patterns-item,.factory-bootstrap-422 .factory-pattern .factory-patterns-item div{width:46px;height:46px}.factory-bootstrap-422 .factory-pattern .factory-patterns-item{display:inline-block;cursor:pointer;position:relative;vertical-align:top}.factory-bootstrap-422 .factory-pattern .factory-patterns-item+.factory-patterns-item{margin-left:10px}.factory-bootstrap-422 .factory-pattern .factory-patterns-item div{position:absolute;border-radius:100%;border:4px solid #333}.factory-bootstrap-422 .factory-pattern .factory-patterns-item:hover .factory-pattern-holder{width:64px;height:64px;top:-10px;left:-10px;border:1px solid #333;z-index:10}.factory-bootstrap-422 .factory-pattern .factory-no-preview{background:#2f2f2f;line-height:46px;border-radius:100%;text-align:center;font-size:20px}.factory-bootstrap-422 .factory-pattern .factory-no-preview:hover{background:#333}.factory-bootstrap-422 .factory-pattern .factory-button .fa{font-size:14px;margin-right:1px}.factory-bootstrap-422 .factory-pattern .factory-button span{position:relative;top:-1px}.factory-bootstrap-422 .factory-pattern .factory-button+.factory-button{margin-left:3px}.factory-bootstrap-422 .factory-pattern .factory-change-color-btn{margin-left:5px}
libs/factory/bootstrap/assets/css-min/control.radio-colors.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-from-radio-label,.factory-bootstrap-422 .factory-from-radio-label>span{-webkit-transition:all .3s;-moz-transition:all .3s;-o-transition:all .3s;transition:all .3s}.factory-bootstrap-422 .factory-from-radio-label{position:relative;width:30px;height:30px;border-radius:3px;background-color:#fff;border:1px solid rgba(0,0,0,.1)}.factory-bootstrap-422 .factory-from-radio-label:hover{background-color:#f5f2f2;border:1px solid rgba(0,0,0,.2)}.factory-bootstrap-422 .factory-from-radio-label>span{display:block;position:absolute;top:2px;left:2px;right:2px;bottom:2px;text-indent:-9999px;background-color:#fff}.factory-bootstrap-422 .factory-from-radio-label .factory-radio-color:checked+span{border:5px solid #fff}.factory-bootstrap-422 .factory-radio-color{opacity:0}
libs/factory/bootstrap/assets/css-min/holder.conrol-group.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-control-group .factory-header{margin-bottom:7px;display:block}.factory-control-group-nav{width:284px;margin:10px 8px}.factory-control-group-nav li{display:inline-block;padding:8px 15px;margin:0;background-color:#444;color:#fff;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;cursor:pointer}.factory-control-group-nav li.current{background-color:#222}.factory-control-group-item{display:none}.factory-control-group-item.current{display:block}
libs/factory/bootstrap/assets/css-min/holder.more-link.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-422 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-422 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-422 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-422 .factory-tab .factory-more-link-hide:hover{color:#999}
libs/factory/bootstrap/assets/css-min/plugin.chosen.min.css ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ /*!
12
+ Chosen, a Select Box Enhancer for jQuery and Prototype
13
+ by Patrick Filler for Harvest, http://getharvest.com
14
+
15
+ Version 1.1.0
16
+ Full source at https://github.com/harvesthq/chosen
17
+ Copyright (c) 2011 Harvest http://getharvest.com
18
+
19
+ MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
20
+ This file is generated by `grunt build`, do not edit it by hand.
21
+ */.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:23px;border:1px solid #aaa;border-radius:5px;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px;-moz-box-sizing:border-box;box-sizing:border-box}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(../../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(../../images/chosen-sprite.png) no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url(../../images/chosen-sprite.png) no-repeat 100% -20px;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:transparent!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(../../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:0;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close,.chosen-disabled .chosen-single{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl .chosen-drop,.chosen-rtl.chosen-container-single-nosearch .chosen-search{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:#fff url(../../images/chosen-sprite.png) no-repeat -30px -20px;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(../../images/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}
libs/factory/bootstrap/assets/css-min/plugin.gradient-picker.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-gradient-picker-wrap{margin-bottom:20px}.factory-bootstrap-422 .gradientPicker-preview{width:100%;height:30px;border-radius:3px;background:transparent url(../../images/color_picker_pattern.jpg) repeat}.factory-bootstrap-422 .factory-color-picker-container{display:none;padding-top:15px}.factory-bootstrap-422 .factory-point,.factory-bootstrap-422 .factory-point-color{position:absolute;width:10px;height:10px;border:0;font-size:0;border-radius:50% 50% 100% 100%;-moz-border-radius:50% 50% 100% 100%;-webkit-border-radius:50% 50% 100% 100%;cursor:pointer;overflow:hidden}.factory-bootstrap-422 .factory-point-color{border-radius:0}.factory-bootstrap-422 .factory-point{background:transparent url(../../images/color_picker_pattern.jpg) repeat}.factory-bootstrap-422 .factory-current-point{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.factory-bootstrap-422 .factory-points{position:relative;height:10px;width:100%;cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ1JREFUeNq8VAEKwCAITOn%2FX3ZzTBCxUicTBsvsOO9EIKJhAwCe5H0H4xBvLQgOegV8yZ8AZwJHc8zKI4c53bk6IGNqMH3GCJuMlkeG4p4G1e5Lq1KXatmCM7AdrbLLq7FC0agycx7oXOmk8%2FY%2FPNjRR7s6ZFHFqY5AcasLFDPtpAC7WH7aNkxgO9gdLNv3oWdKiKXX7r8bu6rlJcAA9ZRfMt5oHoIAAAAASUVORK5CYII%3D) 5 0,pointer}.factory-bootstrap-422 .gradientPicker-iris-wrap{display:none;position:absolute;left:0;top:78px;width:212px;height:212px;background:#111;border:1px solid #222;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;z-index:9999}.factory-bootstrap-422 .gradientPicker-iris-wrap .iris-border,.factory-bootstrap-422 .gradientPicker-iris-wrap .iris-picker{border:0;background:#111}.factory-bootstrap-422 .gradientPicker-pallets{padding:8px 0 3px;margin-bottom:10px;border-bottom:1px solid #323232;border-top:1px solid #323232;font-size:0;line-height:0;text-align:center}.factory-bootstrap-422 .factory-preset-gradient,.factory-bootstrap-422 .factory-secondary-color{width:22px;height:22px;border-radius:100%}.factory-bootstrap-422 .factory-preset-gradient{display:inline-block;cursor:pointer;margin-bottom:3px;position:relative}.factory-bootstrap-422 .factory-preset-gradient:hover{opacity:.9}.factory-bootstrap-422 .factory-preset-gradient+.factory-preset-gradient{margin-left:5px}.factory-bootstrap-422 .factory-secondary-color-wrap{width:11px;height:22px;position:absolute;overflow:hidden;right:0}.factory-bootstrap-422 .factory-secondary-color{position:absolute;left:-11px;background-color:red}.factory-bootstrap-422 .gradientPicker-filldirection{width:200px;margin-top:5px}.factory-bootstrap-422 .gradientPicker-ptConfig .color-chooser{float:left}.factory-bootstrap-422 .factory-color-picker-container .factory-slider{padding-left:75px;padding-right:60px;position:relative}.factory-bootstrap-422 .factory-color-picker-container .factory-color-hex{top:0;left:0;position:absolute;width:65px}
libs/factory/bootstrap/assets/css-min/plugin.nouislider.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;-ms-user-select:none;-moz-user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1}.noUi-stacking .noUi-handle{z-index:10}.noUi-stacking+.noUi-origin{*z-index:-1}.noUi-state-tap .noUi-origin{-webkit-transition:left .3s,top .3s;transition:left .3s,top .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-horizontal.noUi-extended{padding:0 15px}.noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-vertical.noUi-extended{padding:15px 0}.noUi-vertical.noUi-extended .noUi-origin{bottom:-15px}.noUi-background{background:#FAFAFA;box-shadow:inset 0 1px 1px #f0f0f0}.noUi-connect{background:#3FB8AF;box-shadow:inset 0 0 3px rgba(51,51,51,.45);-webkit-transition:background 450ms;transition:background 450ms}.noUi-origin{border-radius:2px}.noUi-target{border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-target.noUi-connect{box-shadow:inset 0 0 3px rgba(51,51,51,.45),0 3px 6px -5px #BBB}.noUi-dragable{cursor:w-resize}.noUi-vertical .noUi-dragable{cursor:n-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect,[disabled].noUi-connect{background:#B8B8B8}[disabled] .noUi-handle{cursor:not-allowed}
libs/factory/bootstrap/assets/css-min/plugin.paddings-editor.min.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-422 .factory-paddings-editor{padding-left:135px;height:90px;position:relative}.factory-bootstrap-422 .factory-paddings-editor .factory-rectangle{width:120px;height:90px;border-radius:10px;background-color:#a6b6b6;overflow:hidden;cursor:pointer;-moz-box-sizing:content-box;box-sizing:content-box;position:absolute;top:0;left:0}.factory-bootstrap-422 .factory-paddings-editor .factory-side{width:100%;height:100%;position:absolute}.factory-bootstrap-422 .factory-paddings-editor .factory-side-center{width:30px;height:30px;border-radius:100%;background-color:#bac9c9;position:absolute;top:30px;left:45px;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-422 .factory-paddings-editor .factory-side-center:hover{background-color:#c0cece}.factory-bootstrap-422 .factory-paddings-editor .factory-side-center.factory-active{background-color:#829595}.factory-bootstrap-422 .factory-paddings-editor .factory-side-top{height:30px;top:0;left:0}.factory-bootstrap-422 .factory-paddings-editor .factory-side-right{width:45px;top:0;right:0}.factory-bootstrap-422 .factory-paddings-editor .factory-side-bottom{height:30px;bottom:0;left:0}.factory-bootstrap-422 .factory-paddings-editor .factory-side-left{width:45px;top:0;left:0}.factory-bootstrap-422 .factory-paddings-editor .factory-rectangle .factory-visible-value{color:#1b1f1f;background-color:rgba(255,255,255,.3);border-radius:3px;padding:2px;line-height:13px;display:inline-block}.factory-bootstrap-422 .factory-paddings-editor .factory-rectangle .factory-side.factory-active .factory-visible-value{background-color:rgba(255,255,255,.3);border-radius:3px;padding:2px;line-height:13px;display:inline-block}.factory-bootstrap-422 .factory-paddings-editor .factory-visible-value em{font-style:normal}.factory-bootstrap-422 .factory-paddings-editor .factory-side-bottom,.factory-bootstrap-422 .factory-paddings-editor .factory-side-top{text-align:center;line-height:30px}.factory-bootstrap-422 .factory-paddings-editor .factory-side-left,.factory-bootstrap-422 .factory-paddings-editor .factory-side-right{line-height:90px;text-align:center}.factory-bootstrap-422 .factory-paddings-editor .factory-slider-container{font-style:italic}.factory-bootstrap-422 .factory-paddings-editor .factory-slider{padding-right:0;margin-top:7px}
libs/factory/bootstrap/assets/images/chosen-sprite.png ADDED
Binary file
libs/factory/bootstrap/assets/images/chosen-sprite@2x.png ADDED
Binary file
libs/factory/bootstrap/assets/images/color_picker_pattern.jpg ADDED
Binary file
libs/factory/bootstrap/assets/images/drop-menu_arrow.png ADDED
Binary file
libs/factory/bootstrap/assets/images/loader-sm-f6f6f6.gif ADDED
Binary file
libs/factory/bootstrap/assets/images/loader-sm-tr.gif ADDED
Binary file
libs/factory/bootstrap/assets/images/no-pattern-background-control.png ADDED
Binary file
libs/factory/bootstrap/assets/js-min/bootstrap.accordion.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a,b,c,d){"use strict";a.fn.factoryBootstrap422_accordion=function(){return this.each(function(){var b=a(this),c=!1;a("."+b.attr("class")+" > div:first").show(),a("."+b.attr("class")+" > div:first").add("."+b.attr("class")+" > h3:first").addClass("active"),a("."+b.attr("class")+" > h3").on("click",function(){var d=a(this),e=d.next();return d.hasClass("active")||c||(c=!0,d.parent().children("div").slideUp(500),a("."+b.attr("class")+" > h3").removeClass("active"),d.addClass("active"),e.addClass("active").slideDown({duration:500,complete:function(){c=!1,b.trigger("shown.bs.accordion",[d])},progress:function(){b.trigger("progress.bs.accordion",[d])}})),!1})})},a(function(){a(".factory-bootstrap-422 .factory-accordion").factoryBootstrap422_accordion()})}(jQuery,window,document);
libs/factory/bootstrap/assets/js-min/bootstrap.affix.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.alert.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.button.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]'),b=!0;if(a.length){var c=this.$element.find("input");"radio"===c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?b=!1:a.find(".active").removeClass("active")),b&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}b&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.carousel.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.collapse.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},a.fn.factoryBootstrap422_collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.factoryBootstrap422_collapse.Constructor=b,a(document).on("click.bs.collapse.data-api","[data-toggle=factory-collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=factory-collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.datepicker.min.js ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ /*!
11
+ * Datepicker for Bootstrap v1.5.0-dev (https://github.com/eternicode/bootstrap-datepicker)
12
+ *
13
+ * Copyright 2012 Stefan Petre
14
+ * Improvements by Andrew Rowls
15
+ * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
16
+ */
17
+ !function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(a){return function(){return this[a].apply(this,arguments)}}function g(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function h(b){var c={};if(p[b]||(b=b.split("-")[0],p[b])){var d=p[b];return a.each(o,function(a,b){b in d&&(c[b]=d[b])}),c}}var i=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;d>c;c++)if(this[c].valueOf()===b)return c;return-1},remove:function(a){this.splice(a,1)},replace:function(b){b&&(a.isArray(b)||(b=[b]),this.clear(),this.push.apply(this,b))},clear:function(){this.length=0},copy:function(){var a=new i;return a.replace(this),a}};return function(){var c=[];return c.push.apply(c,arguments),a.extend(c,b),c}}(),j=function(b,c){this._process_options(c),this.dates=new i,this.viewDate=this.o.defaultViewDate,this.focusDate=null,this.element=a(b),this.isInline=!1,this.isInput=this.element.is("input"),this.component=this.element.hasClass("date")?this.element.find(".add-on, .input-group-addon, .btn"):!1,this.hasInput=this.component&&this.element.find("input").length,this.component&&0===this.component.length&&(this.component=!1),this.picker=a(q.template),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown dropdown-menu"),this.o.rtl&&this.picker.addClass("datepicker-rtl"),this.viewMode=this.o.startView,this.o.calendarWeeks&&this.picker.find("tfoot .today, tfoot .clear").attr("colspan",function(a,b){return parseInt(b)+1}),this._allow_update=!1,this.setStartDate(this._o.startDate),this.setEndDate(this._o.endDate),this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled),this.setDatesDisabled(this.o.datesDisabled),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.update(),this.showMode(),this.isInline&&this.show()};j.prototype={constructor:j,_process_options:function(e){this._o=a.extend({},this._o,e);var f=this.o=a.extend({},this._o),g=f.language;switch(p[g]||(g=g.split("-")[0],p[g]||(g=n.language)),f.language=g,f.startView){case 2:case"decade":f.startView=2;break;case 1:case"year":f.startView=1;break;default:f.startView=0}switch(f.minViewMode){case 1:case"months":f.minViewMode=1;break;case 2:case"years":f.minViewMode=2;break;default:f.minViewMode=0}f.startView=Math.max(f.startView,f.minViewMode),f.multidate!==!0&&(f.multidate=Number(f.multidate)||!1,f.multidate!==!1&&(f.multidate=Math.max(0,f.multidate))),f.multidateSeparator=String(f.multidateSeparator),f.weekStart%=7,f.weekEnd=(f.weekStart+6)%7;var h=q.parseFormat(f.format);if(f.startDate!==-(1/0)&&(f.startDate?f.startDate instanceof Date?f.startDate=this._local_to_utc(this._zero_time(f.startDate)):f.startDate=q.parseDate(f.startDate,h,f.language):f.startDate=-(1/0)),f.endDate!==1/0&&(f.endDate?f.endDate instanceof Date?f.endDate=this._local_to_utc(this._zero_time(f.endDate)):f.endDate=q.parseDate(f.endDate,h,f.language):f.endDate=1/0),f.daysOfWeekDisabled=f.daysOfWeekDisabled||[],a.isArray(f.daysOfWeekDisabled)||(f.daysOfWeekDisabled=f.daysOfWeekDisabled.split(/[,\s]*/)),f.daysOfWeekDisabled=a.map(f.daysOfWeekDisabled,function(a){return parseInt(a,10)}),f.datesDisabled=f.datesDisabled||[],!a.isArray(f.datesDisabled)){var i=[];i.push(q.parseDate(f.datesDisabled,h,f.language)),f.datesDisabled=i}f.datesDisabled=a.map(f.datesDisabled,function(a){return q.parseDate(a,h,f.language)});var j=String(f.orientation).toLowerCase().split(/\s+/g),k=f.orientation.toLowerCase();if(j=a.grep(j,function(a){return/^auto|left|right|top|bottom$/.test(a)}),f.orientation={x:"auto",y:"auto"},k&&"auto"!==k)if(1===j.length)switch(j[0]){case"top":case"bottom":f.orientation.y=j[0];break;case"left":case"right":f.orientation.x=j[0]}else k=a.grep(j,function(a){return/^left|right$/.test(a)}),f.orientation.x=k[0]||"auto",k=a.grep(j,function(a){return/^top|bottom$/.test(a)}),f.orientation.y=k[0]||"auto";else;if(f.defaultViewDate){var l=f.defaultViewDate.year||(new Date).getFullYear(),m=f.defaultViewDate.month||0,o=f.defaultViewDate.day||1;f.defaultViewDate=c(l,m,o)}else f.defaultViewDate=d();f.showOnFocus=f.showOnFocus!==b?f.showOnFocus:!0},_events:[],_secondaryEvents:[],_applyEvents:function(a){for(var c,d,e,f=0;f<a.length;f++)c=a[f][0],2===a[f].length?(d=b,e=a[f][1]):3===a[f].length&&(d=a[f][1],e=a[f][2]),c.on(e,d)},_unapplyEvents:function(a){for(var c,d,e,f=0;f<a.length;f++)c=a[f][0],2===a[f].length?(e=b,d=a[f][1]):3===a[f].length&&(e=a[f][1],d=a[f][2]),c.off(d,e)},_buildEvents:function(){var b={keyup:a.proxy(function(b){-1===a.inArray(b.keyCode,[27,37,39,38,40,32,13,9])&&this.update()},this),keydown:a.proxy(this.keydown,this),paste:a.proxy(this.paste,this)};this.o.showOnFocus===!0&&(b.focus=a.proxy(this.show,this)),this.isInput?this._events=[[this.element,b]]:this.component&&this.hasInput?this._events=[[this.element.find("input"),b],[this.component,{click:a.proxy(this.show,this)}]]:this.element.is("div")?this.isInline=!0:this._events=[[this.element,{click:a.proxy(this.show,this)}]],this._events.push([this.element,"*",{blur:a.proxy(function(a){this._focused_from=a.target},this)}],[this.element,{blur:a.proxy(function(a){this._focused_from=a.target},this)}]),this.o.immediateUpdates&&this._events.push([this.element,{"changeYear changeMonth":a.proxy(function(a){this.update(a.date)},this)}]),this._secondaryEvents=[[this.picker,{click:a.proxy(this.click,this)}],[a(window),{resize:a.proxy(this.place,this)}],[a(document),{mousedown:a.proxy(function(b){this.element.is(b.target)||this.element.find(b.target).length||this.picker.is(b.target)||this.picker.find(b.target).length||a(this.picker).hide()},this)}]]},_attachEvents:function(){this._detachEvents(),this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents(),this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(b,c){var d=c||this.dates.get(-1),e=this._utc_to_local(d);this.element.trigger({type:b,date:e,dates:a.map(this.dates,this._utc_to_local),format:a.proxy(function(a,b){0===arguments.length?(a=this.dates.length-1,b=this.o.format):"string"==typeof a&&(b=a,a=this.dates.length-1),b=b||this.o.format;var c=this.dates.get(a);return q.formatDate(c,b,this.o.language)},this)})},show:function(){return this.element.attr("readonly")&&this.o.enableOnReadonly===!1?void 0:(this.isInline||this.picker.appendTo(this.o.container),this.place(),this.picker.show(),this._attachSecondaryEvents(),this._trigger("show"),(window.navigator.msMaxTouchPoints||"ontouchstart"in document)&&this.o.disableTouchKeyboard&&a(this.element).blur(),this)},hide:function(){return this.isInline?this:this.picker.is(":visible")?(this.focusDate=null,this.picker.hide().detach(),this._detachSecondaryEvents(),this.viewMode=this.o.startView,this.showMode(),this.o.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())&&this.setValue(),this._trigger("hide"),this):this},remove:function(){return this.hide(),this._detachEvents(),this._detachSecondaryEvents(),this.picker.remove(),delete this.element.data().datepicker,this.isInput||delete this.element.data().date,this},paste:function(b){var c;if(b.originalEvent.clipboardData&&b.originalEvent.clipboardData.types&&-1!==a.inArray("text/plain",b.originalEvent.clipboardData.types))c=b.originalEvent.clipboardData.getData("text/plain");else{if(!window.clipboardData)return;c=window.clipboardData.getData("Text")}this.setDate(c),this.update(),b.preventDefault()},_utc_to_local:function(a){return a&&new Date(a.getTime()+6e4*a.getTimezoneOffset())},_local_to_utc:function(a){return a&&new Date(a.getTime()-6e4*a.getTimezoneOffset())},_zero_time:function(a){return a&&new Date(a.getFullYear(),a.getMonth(),a.getDate())},_zero_utc_time:function(a){return a&&new Date(Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate()))},getDates:function(){return a.map(this.dates,this._utc_to_local)},getUTCDates:function(){return a.map(this.dates,function(a){return new Date(a)})},getDate:function(){return this._utc_to_local(this.getUTCDate())},getUTCDate:function(){var a=this.dates.get(-1);return"undefined"!=typeof a?new Date(a):null},clearDates:function(){var a;this.isInput?a=this.element:this.component&&(a=this.element.find("input")),a&&a.val("").change(),this.update(),this._trigger("changeDate"),this.o.autoclose&&this.hide()},setDates:function(){var b=a.isArray(arguments[0])?arguments[0]:arguments;return this.update.apply(this,b),this._trigger("changeDate"),this.setValue(),this},setUTCDates:function(){var b=a.isArray(arguments[0])?arguments[0]:arguments;return this.update.apply(this,a.map(b,this._utc_to_local)),this._trigger("changeDate"),this.setValue(),this},setDate:f("setDates"),setUTCDate:f("setUTCDates"),setValue:function(){var a=this.getFormattedDate();return this.isInput?this.element.val(a).change():this.component&&this.element.find("input").val(a).change(),this},getFormattedDate:function(c){c===b&&(c=this.o.format);var d=this.o.language;return a.map(this.dates,function(a){return q.formatDate(a,c,d)}).join(this.o.multidateSeparator)},setStartDate:function(a){return this._process_options({startDate:a}),this.update(),this.updateNavArrows(),this},setEndDate:function(a){return this._process_options({endDate:a}),this.update(),this.updateNavArrows(),this},setDaysOfWeekDisabled:function(a){return this._process_options({daysOfWeekDisabled:a}),this.update(),this.updateNavArrows(),this},setDatesDisabled:function(a){this._process_options({datesDisabled:a}),this.update(),this.updateNavArrows()},place:function(){if(this.isInline)return this;var b=this.picker.outerWidth(),c=this.picker.outerHeight(),d=10,e=a(this.o.container).width(),f=a(this.o.container).height(),g=a(this.o.container).scrollTop(),h=a(this.o.container).offset(),i=[];this.element.parents().each(function(){var b=a(this).css("z-index");"auto"!==b&&0!==b&&i.push(parseInt(b))});var j=Math.max.apply(Math,i)+10,k=this.component?this.component.parent().offset():this.element.offset(),l=this.component?this.component.outerHeight(!0):this.element.outerHeight(!1),m=this.component?this.component.outerWidth(!0):this.element.outerWidth(!1),n=k.left-h.left,o=k.top-h.top;this.picker.removeClass("datepicker-orient-top datepicker-orient-bottom datepicker-orient-right datepicker-orient-left"),"auto"!==this.o.orientation.x?(this.picker.addClass("datepicker-orient-"+this.o.orientation.x),"right"===this.o.orientation.x&&(n-=b-m)):k.left<0?(this.picker.addClass("datepicker-orient-left"),n-=k.left-d):n+b>e?(this.picker.addClass("datepicker-orient-right"),n=k.left+m-b):this.picker.addClass("datepicker-orient-left");var p,q,r=this.o.orientation.y;if("auto"===r&&(p=-g+o-c,q=g+f-(o+l+c),r=Math.max(p,q)===q?"top":"bottom"),this.picker.addClass("datepicker-orient-"+r),"top"===r?o+=l:o-=c+parseInt(this.picker.css("padding-top")),this.o.rtl){var s=e-(n+m);this.picker.css({top:o,right:s,zIndex:j})}else this.picker.css({top:o,left:n,zIndex:j});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.element.find("input").val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return q.parseDate(a,this.o.format,this.o.language)},this)),c=a.grep(c,a.proxy(function(a){return a<this.o.startDate||a>this.o.endDate||!a},this),!0),this.dates.replace(c),this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDate<this.o.startDate?this.viewDate=new Date(this.o.startDate):this.viewDate>this.o.endDate&&(this.viewDate=new Date(this.o.endDate)),d?this.setValue():c.length&&String(b)!==String(this.dates)&&this._trigger("changeDate"),!this.dates.length&&b.length&&this._trigger("clearDate"),this.fill(),this},fillDow:function(){var a=this.o.weekStart,b="<tr>";if(this.o.calendarWeeks){this.picker.find(".datepicker-days thead tr:first-child .datepicker-switch").attr("colspan",function(a,b){return parseInt(b)+1});var c='<th class="cw">&#160;</th>';b+=c}for(;a<this.o.weekStart+7;)b+='<th class="dow">'+p[this.o.language].daysMin[a++%7]+"</th>";b+="</tr>",this.picker.find(".datepicker-days thead").append(b)},fillMonths:function(){for(var a="",b=0;12>b;)a+='<span class="month">'+p[this.o.language].monthsShort[b++]+"</span>";this.picker.find(".datepicker-months td").html(a)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],d=this.viewDate.getUTCFullYear(),f=this.viewDate.getUTCMonth(),g=new Date;return b.getUTCFullYear()<d||b.getUTCFullYear()===d&&b.getUTCMonth()<f?c.push("old"):(b.getUTCFullYear()>d||b.getUTCFullYear()===d&&b.getUTCMonth()>f)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&b.getUTCFullYear()===g.getFullYear()&&b.getUTCMonth()===g.getMonth()&&b.getUTCDate()===g.getDate()&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),(b.valueOf()<this.o.startDate||b.valueOf()>this.o.endDate||-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekDisabled))&&c.push("disabled"),this.o.datesDisabled.length>0&&a.grep(this.o.datesDisabled,function(a){return e(b,a)}).length>0&&c.push("disabled","disabled-date"),this.range&&(b>this.range[0]&&b<this.range[this.range.length-1]&&c.push("range"),-1!==a.inArray(b.valueOf(),this.range)&&c.push("selected")),c},fill:function(){var d,e=new Date(this.viewDate),f=e.getUTCFullYear(),g=e.getUTCMonth(),h=this.o.startDate!==-(1/0)?this.o.startDate.getUTCFullYear():-(1/0),i=this.o.startDate!==-(1/0)?this.o.startDate.getUTCMonth():-(1/0),j=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,k=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,l=p[this.o.language].today||p.en.today||"",m=p[this.o.language].clear||p.en.clear||"";if(!isNaN(f)&&!isNaN(g)){this.picker.find(".datepicker-days thead .datepicker-switch").text(p[this.o.language].months[g]+" "+f),this.picker.find("tfoot .today").text(l).toggle(this.o.todayBtn!==!1),this.picker.find("tfoot .clear").text(m).toggle(this.o.clearBtn!==!1),this.updateNavArrows(),this.fillMonths();var n=c(f,g-1,28),o=q.getDaysInMonth(n.getUTCFullYear(),n.getUTCMonth());n.setUTCDate(o),n.setUTCDate(o-(n.getUTCDay()-this.o.weekStart+7)%7);var r=new Date(n);r.setUTCDate(r.getUTCDate()+42),r=r.valueOf();for(var s,t=[];n.valueOf()<r;){if(n.getUTCDay()===this.o.weekStart&&(t.push("<tr>"),this.o.calendarWeeks)){var u=new Date(+n+(this.o.weekStart-n.getUTCDay()-7)%7*864e5),v=new Date(Number(u)+(11-u.getUTCDay())%7*864e5),w=new Date(Number(w=c(v.getUTCFullYear(),0,1))+(11-w.getUTCDay())%7*864e5),x=(v-w)/864e5/7+1;t.push('<td class="cw">'+x+"</td>")}if(s=this.getClassNames(n),s.push("day"),this.o.beforeShowDay!==a.noop){var y=this.o.beforeShowDay(this._utc_to_local(n));y===b?y={}:"boolean"==typeof y?y={enabled:y}:"string"==typeof y&&(y={classes:y}),y.enabled===!1&&s.push("disabled"),y.classes&&(s=s.concat(y.classes.split(/\s+/))),y.tooltip&&(d=y.tooltip)}s=a.unique(s),t.push('<td class="'+s.join(" ")+'"'+(d?' title="'+d+'"':"")+">"+n.getUTCDate()+"</td>"),d=null,n.getUTCDay()===this.o.weekEnd&&t.push("</tr>"),n.setUTCDate(n.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").empty().append(t.join(""));var z=this.picker.find(".datepicker-months").find("th:eq(1)").text(f).end().find("span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===f&&z.eq(b.getUTCMonth()).addClass("active")}),(h>f||f>j)&&z.addClass("disabled"),f===h&&z.slice(0,i).addClass("disabled"),f===j&&z.slice(k+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var A=this;a.each(z,function(b,c){if(!a(c).hasClass("disabled")){var d=new Date(f,b,1),e=A.o.beforeShowMonth(d);e===!1&&a(c).addClass("disabled")}})}t="",f=10*parseInt(f/10,10);var B=this.picker.find(".datepicker-years").find("th:eq(1)").text(f+"-"+(f+9)).end().find("td");f-=1;for(var C,D=a.map(this.dates,function(a){return a.getUTCFullYear()}),E=-1;11>E;E++)C=["year"],-1===E?C.push("old"):10===E&&C.push("new"),-1!==a.inArray(f,D)&&C.push("active"),(h>f||f>j)&&C.push("disabled"),t+='<span class="'+C.join(" ")+'">'+f+"</span>",f+=1;B.html(t)}},updateNavArrows:function(){if(this._allow_update){var a=new Date(this.viewDate),b=a.getUTCFullYear(),c=a.getUTCMonth();switch(this.viewMode){case 0:this.o.startDate!==-(1/0)&&b<=this.o.startDate.getUTCFullYear()&&c<=this.o.startDate.getUTCMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&b>=this.o.endDate.getUTCFullYear()&&c>=this.o.endDate.getUTCMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case 1:case 2:this.o.startDate!==-(1/0)&&b<=this.o.startDate.getUTCFullYear()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&b>=this.o.endDate.getUTCFullYear()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"})}}},click:function(b){b.preventDefault();var d,e,f,g=a(b.target).closest("span, td, th");if(1===g.length)switch(g[0].nodeName.toLowerCase()){case"th":switch(g[0].className){case"datepicker-switch":this.showMode(1);break;case"prev":case"next":var h=q.modes[this.viewMode].navStep*("prev"===g[0].className?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveMonth(this.viewDate,h),this._trigger("changeMonth",this.viewDate);break;case 1:case 2:this.viewDate=this.moveYear(this.viewDate,h),1===this.viewMode&&this._trigger("changeYear",this.viewDate)}this.fill();break;case"today":var i=new Date;i=c(i.getFullYear(),i.getMonth(),i.getDate(),0,0,0),this.showMode(-2);var j="linked"===this.o.todayBtn?null:"view";this._setDate(i,j);break;case"clear":this.clearDates()}break;case"span":g.hasClass("disabled")||(this.viewDate.setUTCDate(1),g.hasClass("month")?(f=1,e=g.parent().find("span").index(g),d=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(e),this._trigger("changeMonth",this.viewDate),1===this.o.minViewMode?(this._setDate(c(d,e,f)),this.showMode()):this.showMode(-1)):(f=1,e=0,d=parseInt(g.text(),10)||0,this.viewDate.setUTCFullYear(d),this._trigger("changeYear",this.viewDate),2===this.o.minViewMode&&this._setDate(c(d,e,f)),this.showMode(-1)),this.fill());break;case"td":g.hasClass("day")&&!g.hasClass("disabled")&&(f=parseInt(g.text(),10)||1,d=this.viewDate.getUTCFullYear(),e=this.viewDate.getUTCMonth(),g.hasClass("old")?0===e?(e=11,d-=1):e-=1:g.hasClass("new")&&(11===e?(e=0,d+=1):e+=1),this._setDate(c(d,e,f)))}this.picker.is(":visible")&&this._focused_from&&a(this._focused_from).focus(),delete this._focused_from},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(this.o.multidate===!0||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):this.o.multidate===!1?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),b&&"view"!==b||(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate");var c;this.isInput?c=this.element:this.component&&(c=this.element.find("input")),c&&c.change(),!this.o.autoclose||b&&"date"!==b||this.hide()},moveMonth:function(a,c){if(!a)return b;if(!c)return a;var d,e,f=new Date(a.valueOf()),g=f.getUTCDate(),h=f.getUTCMonth(),i=Math.abs(c);if(c=c>0?1:-1,1===i)e=-1===c?function(){return f.getUTCMonth()===h}:function(){return f.getUTCMonth()!==d},d=h+c,f.setUTCMonth(d),(0>d||d>11)&&(d=(d+12)%12);else{for(var j=0;i>j;j++)f=this.moveMonth(f,c);d=f.getUTCMonth(),f.setUTCDate(g),e=function(){return d!==f.getUTCMonth()}}for(;e();)f.setUTCDate(--g),f.setUTCMonth(d);return f},moveYear:function(a,b){return this.moveMonth(a,12*b)},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void((40===a.keyCode||27===a.keyCode)&&this.show());var b,c,e,f=!1,g=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault();break;case 37:case 39:if(!this.o.keyboardNavigation)break;b=37===a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.dates.get(-1)||d(),b),e=this.moveYear(g,b),this._trigger("changeYear",this.viewDate)):a.shiftKey?(c=this.moveMonth(this.dates.get(-1)||d(),b),e=this.moveMonth(g,b),this._trigger("changeMonth",this.viewDate)):(c=new Date(this.dates.get(-1)||d()),c.setUTCDate(c.getUTCDate()+b),e=new Date(g),e.setUTCDate(g.getUTCDate()+b)),this.dateWithinRange(e)&&(this.focusDate=this.viewDate=e,this.setValue(),this.fill(),a.preventDefault());break;case 38:case 40:if(!this.o.keyboardNavigation)break;b=38===a.keyCode?-1:1,a.ctrlKey?(c=this.moveYear(this.dates.get(-1)||d(),b),e=this.moveYear(g,b),this._trigger("changeYear",this.viewDate)):a.shiftKey?(c=this.moveMonth(this.dates.get(-1)||d(),b),e=this.moveMonth(g,b),this._trigger("changeMonth",this.viewDate)):(c=new Date(this.dates.get(-1)||d()),c.setUTCDate(c.getUTCDate()+7*b),e=new Date(g),e.setUTCDate(g.getUTCDate()+7*b)),this.dateWithinRange(e)&&(this.focusDate=this.viewDate=e,this.setValue(),this.fill(),a.preventDefault());break;case 32:break;case 13:g=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(g),f=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),"function"==typeof a.stopPropagation?a.stopPropagation():a.cancelBubble=!0,this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}if(f){this.dates.length?this._trigger("changeDate"):this._trigger("clearDate");var h;this.isInput?h=this.element:this.component&&(h=this.element.find("input")),h&&h.change()}},showMode:function(a){a&&(this.viewMode=Math.max(this.o.minViewMode,Math.min(2,this.viewMode+a))),this.picker.children("div").hide().filter(".datepicker-"+q.modes[this.viewMode].clsName).css("display","block"),this.updateNavArrows()}};var k=function(b,c){this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,m.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a(b).data("datepicker")}),this.updateDates()};k.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},dateUpdated:function(b){if(!this.updating){this.updating=!0;var c=a(b.target).data("datepicker"),d=c.getUTCDate(),e=a.inArray(b.target,this.inputs),f=e-1,g=e+1,h=this.inputs.length;if(-1!==e){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b.setUTCDate(d)}),d<this.dates[f])for(;f>=0&&d<this.dates[f];)this.pickers[f--].setUTCDate(d);else if(d>this.dates[g])for(;h>g&&d>this.dates[g];)this.pickers[g++].setUTCDate(d);this.updateDates(),delete this.updating}}},remove:function(){a.map(this.pickers,function(a){a.remove()}),delete this.element.data().datepicker}};var l=a.fn.datepicker,m=function(c){var d=Array.apply(null,arguments);d.shift();var e;return this.each(function(){var f=a(this),i=f.data("datepicker"),l="object"==typeof c&&c;if(!i){var m=g(this,"date"),o=a.extend({},n,m,l),p=h(o.language),q=a.extend({},n,p,m,l);if(f.hasClass("input-daterange")||q.inputs){var r={inputs:q.inputs||f.find("input").toArray()};f.data("datepicker",i=new k(this,a.extend(q,r)))}else f.data("datepicker",i=new j(this,q))}return"string"==typeof c&&"function"==typeof i[c]&&(e=i[c].apply(i,d),e!==b)?!1:void 0}),e!==b?e:this};a.fn.datepicker=m;var n=a.fn.datepicker.defaults={autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keyboardNavigation:!0,language:"en",minViewMode:0,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-(1/0),startView:0,todayBtn:!1,todayHighlight:!1,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,container:"body",immediateUpdates:!1},o=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=j;var p=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear"},ru:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вск","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",format:"dd/mm/yyyy",weekStart:1,monthsTitle:"Месяцы"}},q={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(a){return a%4===0&&a%100!==0||a%400===0},getDaysInMonth:function(a,b){return[31,q.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(a){var b=a.replace(this.validParts,"\x00").split("\x00"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(d,e,f){function g(){var a=this.slice(0,m[k].length),b=m[k].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!d)return b;if(d instanceof Date)return d;"string"==typeof e&&(e=q.parseFormat(e));var h,i,k,l=/([\-+]\d+)([dmwy])/,m=d.match(/([\-+]\d+)([dmwy])/g);if(/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(d)){for(d=new Date,k=0;k<m.length;k++)switch(h=l.exec(m[k]),i=parseInt(h[1]),h[2]){case"d":d.setUTCDate(d.getUTCDate()+i);break;case"m":d=j.prototype.moveMonth.call(j.prototype,d,i);break;case"w":d.setUTCDate(d.getUTCDate()+7*i);break;case"y":d=j.prototype.moveYear.call(j.prototype,d,i)}return c(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate(),0,0,0)}m=d&&d.match(this.nonpunctuation)||[],d=new Date;var n,o,r={},s=["yyyy","yy","M","MM","m","mm","d","dd"],t={yyyy:function(a,b){return a.setUTCFullYear(b)},yy:function(a,b){return a.setUTCFullYear(2e3+b)},m:function(a,b){if(isNaN(a))return a;for(b-=1;0>b;)b+=12;for(b%=12,a.setUTCMonth(b);a.getUTCMonth()!==b;)a.setUTCDate(a.getUTCDate()-1);return a},d:function(a,b){return a.setUTCDate(b)}};t.M=t.MM=t.mm=t.m,t.dd=t.d,d=c(d.getFullYear(),d.getMonth(),d.getDate(),0,0,0);var u=e.parts.slice();if(m.length!==u.length&&(u=a(u).filter(function(b,c){return-1!==a.inArray(c,s)}).toArray()),m.length===u.length){var v;for(k=0,v=u.length;v>k;k++){if(n=parseInt(m[k],10),h=u[k],isNaN(n))switch(h){case"MM":o=a(p[f].months).filter(g),n=a.inArray(o[0],p[f].months)+1;break;case"M":o=a(p[f].monthsShort).filter(g),n=a.inArray(o[0],p[f].monthsShort)+1}r[h]=n}var w,x;for(k=0;k<s.length;k++)x=s[k],x in r&&!isNaN(r[x])&&(w=new Date(d),t[x](w,r[x]),isNaN(w)||(d=w))}return d},formatDate:function(b,c,d){if(!b)return"";"string"==typeof c&&(c=q.parseFormat(c));var e={d:b.getUTCDate(),D:p[d].daysShort[b.getUTCDay()],DD:p[d].days[b.getUTCDay()],m:b.getUTCMonth()+1,M:p[d].monthsShort[b.getUTCMonth()],MM:p[d].months[b.getUTCMonth()],yy:b.getUTCFullYear().toString().substring(2),yyyy:b.getUTCFullYear()};e.dd=(e.d<10?"0":"")+e.d,e.mm=(e.m<10?"0":"")+e.m,b=[];for(var f=a.extend([],c.separators),g=0,h=c.parts.length;h>=g;g++)f.length&&b.push(f.shift()),b.push(e[c.parts[g]]);return b.join("")},headTemplate:'<thead><tr><th class="prev">&#171;</th><th colspan="5" class="datepicker-switch"></th><th class="next">&#187;</th></tr></thead>',contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'};q.template='<div class="datepicker"><div class="datepicker-days"><table class=" table-condensed">'+q.headTemplate+"<tbody></tbody>"+q.footTemplate+'</table></div><div class="datepicker-months"><table class="table-condensed">'+q.headTemplate+q.contTemplate+q.footTemplate+'</table></div><div class="datepicker-years"><table class="table-condensed">'+q.headTemplate+q.contTemplate+q.footTemplate+"</table></div></div>",a.fn.datepicker.DPGlobal=q,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=l,this},a.fn.datepicker.version="1.4.1-dev",a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),m.call(c,"show"))}),a(function(){m.call(a('[data-provide="datepicker-inline"]'))})}(window.jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.datetimepicker.min.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ /*! version : 4.17.47
11
+ =========================================================
12
+ bootstrap-datetimejs
13
+ https://github.com/Eonasdan/bootstrap-datetimepicker
14
+ Copyright (c) 2015 Jonathan Peterson
15
+ =========================================================
16
+ */
17
+ !function(a){"use strict";if("function"==typeof define&&define.amd)define(["jquery","moment"],a);else if("object"==typeof exports)module.exports=a(require("jquery"),require("moment"));else{if("undefined"==typeof jQuery)throw"bootstrap-datetimepicker requires jQuery to be loaded first";if("undefined"==typeof moment)throw"bootstrap-datetimepicker requires Moment.js to be loaded first";a(jQuery,moment)}}(function(a,b){"use strict";if(!b)throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first");var c=function(c,d){var e,f,g,h,i,j,k,l={},m=!0,n=!1,o=!1,p=0,q=[{clsName:"days",navFnc:"M",navStep:1},{clsName:"months",navFnc:"y",navStep:1},{clsName:"years",navFnc:"y",navStep:10},{clsName:"decades",navFnc:"y",navStep:100}],r=["days","months","years","decades"],s=["top","bottom","auto"],t=["left","right","auto"],u=["default","top","bottom"],v={up:38,38:"up",down:40,40:"down",left:37,37:"left",right:39,39:"right",tab:9,9:"tab",escape:27,27:"escape",enter:13,13:"enter",pageUp:33,33:"pageUp",pageDown:34,34:"pageDown",shift:16,16:"shift",control:17,17:"control",space:32,32:"space",t:84,84:"t","delete":46,46:"delete"},w={},x=function(){return void 0!==b.tz&&void 0!==d.timeZone&&null!==d.timeZone&&""!==d.timeZone},y=function(a){var c;return c=void 0===a||null===a?b():b.isDate(a)||b.isMoment(a)?b(a):x()?b.tz(a,j,d.useStrict,d.timeZone):b(a,j,d.useStrict),x()&&c.tz(d.timeZone),c},z=function(a){if("string"!=typeof a||a.length>1)throw new TypeError("isEnabled expects a single character string parameter");switch(a){case"y":return-1!==i.indexOf("Y");case"M":return-1!==i.indexOf("M");case"d":return-1!==i.toLowerCase().indexOf("d");case"h":case"H":return-1!==i.toLowerCase().indexOf("h");case"m":return-1!==i.indexOf("m");case"s":return-1!==i.indexOf("s");default:return!1}},A=function(){return z("h")||z("m")||z("s")},B=function(){return z("y")||z("M")||z("d")},C=function(){var b=a("<thead>").append(a("<tr>").append(a("<th>").addClass("prev").attr("data-action","previous").append(a("<span>").addClass(d.icons.previous))).append(a("<th>").addClass("picker-switch").attr("data-action","pickerSwitch").attr("colspan",d.calendarWeeks?"6":"5")).append(a("<th>").addClass("next").attr("data-action","next").append(a("<span>").addClass(d.icons.next)))),c=a("<tbody>").append(a("<tr>").append(a("<td>").attr("colspan",d.calendarWeeks?"8":"7")));return[a("<div>").addClass("datepicker-days").append(a("<table>").addClass("table-condensed").append(b).append(a("<tbody>"))),a("<div>").addClass("datepicker-months").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-years").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-decades").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone()))]},D=function(){var b=a("<tr>"),c=a("<tr>"),e=a("<tr>");return z("h")&&(b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementHour}).addClass("btn").attr("data-action","incrementHours").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-hour").attr({"data-time-component":"hours",title:d.tooltips.pickHour}).attr("data-action","showHours"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementHour}).addClass("btn").attr("data-action","decrementHours").append(a("<span>").addClass(d.icons.down))))),z("m")&&(z("h")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementMinute}).addClass("btn").attr("data-action","incrementMinutes").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-minute").attr({"data-time-component":"minutes",title:d.tooltips.pickMinute}).attr("data-action","showMinutes"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementMinute}).addClass("btn").attr("data-action","decrementMinutes").append(a("<span>").addClass(d.icons.down))))),z("s")&&(z("m")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementSecond}).addClass("btn").attr("data-action","incrementSeconds").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-second").attr({"data-time-component":"seconds",title:d.tooltips.pickSecond}).attr("data-action","showSeconds"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementSecond}).addClass("btn").attr("data-action","decrementSeconds").append(a("<span>").addClass(d.icons.down))))),h||(b.append(a("<td>").addClass("separator")),c.append(a("<td>").append(a("<button>").addClass("btn btn-primary").attr({"data-action":"togglePeriod",tabindex:"-1",title:d.tooltips.togglePeriod}))),e.append(a("<td>").addClass("separator"))),a("<div>").addClass("timepicker-picker").append(a("<table>").addClass("table-condensed").append([b,c,e]))},E=function(){var b=a("<div>").addClass("timepicker-hours").append(a("<table>").addClass("table-condensed")),c=a("<div>").addClass("timepicker-minutes").append(a("<table>").addClass("table-condensed")),d=a("<div>").addClass("timepicker-seconds").append(a("<table>").addClass("table-condensed")),e=[D()];return z("h")&&e.push(b),z("m")&&e.push(c),z("s")&&e.push(d),e},F=function(){var b=[];return d.showTodayButton&&b.push(a("<td>").append(a("<a>").attr({"data-action":"today",title:d.tooltips.today}).append(a("<span>").addClass(d.icons.today)))),!d.sideBySide&&B()&&A()&&b.push(a("<td>").append(a("<a>").attr({"data-action":"togglePicker",title:d.tooltips.selectTime}).append(a("<span>").addClass(d.icons.time)))),d.showClear&&b.push(a("<td>").append(a("<a>").attr({"data-action":"clear",title:d.tooltips.clear}).append(a("<span>").addClass(d.icons.clear)))),d.showClose&&b.push(a("<td>").append(a("<a>").attr({"data-action":"close",title:d.tooltips.close}).append(a("<span>").addClass(d.icons.close)))),a("<table>").addClass("table-condensed").append(a("<tbody>").append(a("<tr>").append(b)))},G=function(){var b=a("<div>").addClass("bootstrap-datetimepicker-widget dropdown-menu"),c=a("<div>").addClass("datepicker").append(C()),e=a("<div>").addClass("timepicker").append(E()),f=a("<ul>").addClass("list-unstyled"),g=a("<li>").addClass("picker-switch"+(d.collapse?" accordion-toggle":"")).append(F());return d.inline&&b.removeClass("dropdown-menu"),h&&b.addClass("usetwentyfour"),z("s")&&!h&&b.addClass("wider"),d.sideBySide&&B()&&A()?(b.addClass("timepicker-sbs"),"top"===d.toolbarPlacement&&b.append(g),b.append(a("<div>").addClass("row").append(c.addClass("col-md-6")).append(e.addClass("col-md-6"))),"bottom"===d.toolbarPlacement&&b.append(g),b):("top"===d.toolbarPlacement&&f.append(g),B()&&f.append(a("<li>").addClass(d.collapse&&A()?"collapse in":"").append(c)),"default"===d.toolbarPlacement&&f.append(g),A()&&f.append(a("<li>").addClass(d.collapse&&B()?"collapse":"").append(e)),"bottom"===d.toolbarPlacement&&f.append(g),b.append(f))},H=function(){var b,e={};return b=c.is("input")||d.inline?c.data():c.find("input").data(),b.dateOptions&&b.dateOptions instanceof Object&&(e=a.extend(!0,e,b.dateOptions)),a.each(d,function(a){var c="date"+a.charAt(0).toUpperCase()+a.slice(1);void 0!==b[c]&&(e[a]=b[c])}),e},I=function(){var b,e=(n||c).position(),f=(n||c).offset(),g=d.widgetPositioning.vertical,h=d.widgetPositioning.horizontal;if(d.widgetParent)b=d.widgetParent.append(o);else if(c.is("input"))b=c.after(o).parent();else{if(d.inline)return void(b=c.append(o));b=c,c.children().first().after(o)}if("auto"===g&&(g=f.top+1.5*o.height()>=a(window).height()+a(window).scrollTop()&&o.height()+c.outerHeight()<f.top?"top":"bottom"),"auto"===h&&(h=b.width()<f.left+o.outerWidth()/2&&f.left+o.outerWidth()>a(window).width()?"right":"left"),"top"===g?o.addClass("top").removeClass("bottom"):o.addClass("bottom").removeClass("top"),"right"===h?o.addClass("pull-right"):o.removeClass("pull-right"),"static"===b.css("position")&&(b=b.parents().filter(function(){return"static"!==a(this).css("position")}).first()),0===b.length)throw new Error("datetimepicker component should be placed within a non-static positioned container");o.css({top:"top"===g?"auto":e.top+c.outerHeight(),bottom:"top"===g?b.outerHeight()-(b===c?0:e.top):"auto",left:"left"===h?b===c?0:e.left:"auto",right:"left"===h?"auto":b.outerWidth()-c.outerWidth()-(b===c?0:e.left)})},J=function(a){"dp.change"===a.type&&(a.date&&a.date.isSame(a.oldDate)||!a.date&&!a.oldDate)||c.trigger(a)},K=function(a){"y"===a&&(a="YYYY"),J({type:"dp.update",change:a,viewDate:f.clone()})},L=function(a){o&&(a&&(k=Math.max(p,Math.min(3,k+a))),o.find(".datepicker > div").hide().filter(".datepicker-"+q[k].clsName).show())},M=function(){var b=a("<tr>"),c=f.clone().startOf("w").startOf("d");for(d.calendarWeeks===!0&&b.append(a("<th>").addClass("cw").text("#"));c.isBefore(f.clone().endOf("w"));)b.append(a("<th>").addClass("dow").text(c.format("dd"))),c.add(1,"d");o.find(".datepicker-days thead").append(b)},N=function(a){return d.disabledDates[a.format("YYYY-MM-DD")]===!0},O=function(a){return d.enabledDates[a.format("YYYY-MM-DD")]===!0},P=function(a){return d.disabledHours[a.format("H")]===!0},Q=function(a){return d.enabledHours[a.format("H")]===!0},R=function(b,c){if(!b.isValid())return!1;if(d.disabledDates&&"d"===c&&N(b))return!1;if(d.enabledDates&&"d"===c&&!O(b))return!1;if(d.minDate&&b.isBefore(d.minDate,c))return!1;if(d.maxDate&&b.isAfter(d.maxDate,c))return!1;if(d.daysOfWeekDisabled&&"d"===c&&-1!==d.daysOfWeekDisabled.indexOf(b.day()))return!1;if(d.disabledHours&&("h"===c||"m"===c||"s"===c)&&P(b))return!1;if(d.enabledHours&&("h"===c||"m"===c||"s"===c)&&!Q(b))return!1;if(d.disabledTimeIntervals&&("h"===c||"m"===c||"s"===c)){var e=!1;if(a.each(d.disabledTimeIntervals,function(){return b.isBetween(this[0],this[1])?(e=!0,!1):void 0}),e)return!1}return!0},S=function(){for(var b=[],c=f.clone().startOf("y").startOf("d");c.isSame(f,"y");)b.push(a("<span>").attr("data-action","selectMonth").addClass("month").text(c.format("MMM"))),c.add(1,"M");o.find(".datepicker-months td").empty().append(b)},T=function(){var b=o.find(".datepicker-months"),c=b.find("th"),g=b.find("tbody").find("span");c.eq(0).find("span").attr("title",d.tooltips.prevYear),c.eq(1).attr("title",d.tooltips.selectYear),c.eq(2).find("span").attr("title",d.tooltips.nextYear),b.find(".disabled").removeClass("disabled"),R(f.clone().subtract(1,"y"),"y")||c.eq(0).addClass("disabled"),c.eq(1).text(f.year()),R(f.clone().add(1,"y"),"y")||c.eq(2).addClass("disabled"),g.removeClass("active"),e.isSame(f,"y")&&!m&&g.eq(e.month()).addClass("active"),g.each(function(b){R(f.clone().month(b),"M")||a(this).addClass("disabled")})},U=function(){var a=o.find(".datepicker-years"),b=a.find("th"),c=f.clone().subtract(5,"y"),g=f.clone().add(6,"y"),h="";for(b.eq(0).find("span").attr("title",d.tooltips.prevDecade),b.eq(1).attr("title",d.tooltips.selectDecade),b.eq(2).find("span").attr("title",d.tooltips.nextDecade),a.find(".disabled").removeClass("disabled"),d.minDate&&d.minDate.isAfter(c,"y")&&b.eq(0).addClass("disabled"),b.eq(1).text(c.year()+"-"+g.year()),d.maxDate&&d.maxDate.isBefore(g,"y")&&b.eq(2).addClass("disabled");!c.isAfter(g,"y");)h+='<span data-action="selectYear" class="year'+(c.isSame(e,"y")&&!m?" active":"")+(R(c,"y")?"":" disabled")+'">'+c.year()+"</span>",c.add(1,"y");a.find("td").html(h)},V=function(){var a,c=o.find(".datepicker-decades"),g=c.find("th"),h=b({y:f.year()-f.year()%100-1}),i=h.clone().add(100,"y"),j=h.clone(),k=!1,l=!1,m="";for(g.eq(0).find("span").attr("title",d.tooltips.prevCentury),g.eq(2).find("span").attr("title",d.tooltips.nextCentury),c.find(".disabled").removeClass("disabled"),(h.isSame(b({y:1900}))||d.minDate&&d.minDate.isAfter(h,"y"))&&g.eq(0).addClass("disabled"),g.eq(1).text(h.year()+"-"+i.year()),(h.isSame(b({y:2e3}))||d.maxDate&&d.maxDate.isBefore(i,"y"))&&g.eq(2).addClass("disabled");!h.isAfter(i,"y");)a=h.year()+12,k=d.minDate&&d.minDate.isAfter(h,"y")&&d.minDate.year()<=a,l=d.maxDate&&d.maxDate.isAfter(h,"y")&&d.maxDate.year()<=a,m+='<span data-action="selectDecade" class="decade'+(e.isAfter(h)&&e.year()<=a?" active":"")+(R(h,"y")||k||l?"":" disabled")+'" data-selection="'+(h.year()+6)+'">'+(h.year()+1)+" - "+(h.year()+12)+"</span>",h.add(12,"y");m+="<span></span><span></span><span></span>",c.find("td").html(m),g.eq(1).text(j.year()+1+"-"+h.year())},W=function(){var b,c,g,h=o.find(".datepicker-days"),i=h.find("th"),j=[],k=[];if(B()){for(i.eq(0).find("span").attr("title",d.tooltips.prevMonth),i.eq(1).attr("title",d.tooltips.selectMonth),i.eq(2).find("span").attr("title",d.tooltips.nextMonth),h.find(".disabled").removeClass("disabled"),i.eq(1).text(f.format(d.dayViewHeaderFormat)),R(f.clone().subtract(1,"M"),"M")||i.eq(0).addClass("disabled"),R(f.clone().add(1,"M"),"M")||i.eq(2).addClass("disabled"),b=f.clone().startOf("M").startOf("w").startOf("d"),g=0;42>g;g++)0===b.weekday()&&(c=a("<tr>"),d.calendarWeeks&&c.append('<td class="cw">'+b.week()+"</td>"),j.push(c)),k=["day"],b.isBefore(f,"M")&&k.push("old"),b.isAfter(f,"M")&&k.push("new"),b.isSame(e,"d")&&!m&&k.push("active"),R(b,"d")||k.push("disabled"),b.isSame(y(),"d")&&k.push("today"),(0===b.day()||6===b.day())&&k.push("weekend"),J({type:"dp.classify",date:b,classNames:k}),c.append('<td data-action="selectDay" data-day="'+b.format("L")+'" class="'+k.join(" ")+'">'+b.date()+"</td>"),b.add(1,"d");h.find("tbody").empty().append(j),T(),U(),V()}},X=function(){var b=o.find(".timepicker-hours table"),c=f.clone().startOf("d"),d=[],e=a("<tr>");for(f.hour()>11&&!h&&c.hour(12);c.isSame(f,"d")&&(h||f.hour()<12&&c.hour()<12||f.hour()>11);)c.hour()%4===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectHour" class="hour'+(R(c,"h")?"":" disabled")+'">'+c.format(h?"HH":"hh")+"</td>"),c.add(1,"h");b.empty().append(d)},Y=function(){for(var b=o.find(".timepicker-minutes table"),c=f.clone().startOf("h"),e=[],g=a("<tr>"),h=1===d.stepping?5:d.stepping;f.isSame(c,"h");)c.minute()%(4*h)===0&&(g=a("<tr>"),e.push(g)),g.append('<td data-action="selectMinute" class="minute'+(R(c,"m")?"":" disabled")+'">'+c.format("mm")+"</td>"),c.add(h,"m");b.empty().append(e)},Z=function(){for(var b=o.find(".timepicker-seconds table"),c=f.clone().startOf("m"),d=[],e=a("<tr>");f.isSame(c,"m");)c.second()%20===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectSecond" class="second'+(R(c,"s")?"":" disabled")+'">'+c.format("ss")+"</td>"),c.add(5,"s");b.empty().append(d)},$=function(){var a,b,c=o.find(".timepicker span[data-time-component]");h||(a=o.find(".timepicker [data-action=togglePeriod]"),b=e.clone().add(e.hours()>=12?-12:12,"h"),a.text(e.format("A")),R(b,"h")?a.removeClass("disabled"):a.addClass("disabled")),c.filter("[data-time-component=hours]").text(e.format(h?"HH":"hh")),c.filter("[data-time-component=minutes]").text(e.format("mm")),c.filter("[data-time-component=seconds]").text(e.format("ss")),X(),Y(),Z()},_=function(){o&&(W(),$())},aa=function(a){var b=m?null:e;if(!a)return m=!0,g.val(""),c.data("date",""),J({type:"dp.change",date:!1,oldDate:b}),void _();if(a=a.clone().locale(d.locale),x()&&a.tz(d.timeZone),1!==d.stepping)for(a.minutes(Math.round(a.minutes()/d.stepping)*d.stepping).seconds(0);d.minDate&&a.isBefore(d.minDate);)a.add(d.stepping,"minutes");R(a)?(e=a,f=e.clone(),g.val(e.format(i)),c.data("date",e.format(i)),m=!1,_(),J({type:"dp.change",date:e.clone(),oldDate:b})):(d.keepInvalid?J({type:"dp.change",date:a,oldDate:b}):g.val(m?"":e.format(i)),J({type:"dp.error",date:a,oldDate:b}))},ba=function(){var b=!1;return o?(o.find(".collapse").each(function(){var c=a(this).data("collapse");return c&&c.transitioning?(b=!0,!1):!0}),b?l:(n&&n.hasClass("btn")&&n.toggleClass("active"),o.hide(),a(window).off("resize",I),o.off("click","[data-action]"),o.off("mousedown",!1),o.remove(),o=!1,J({type:"dp.hide",date:e.clone()}),g.blur(),f=e.clone(),l)):l},ca=function(){aa(null)},da=function(a){return void 0===d.parseInputDate?(!b.isMoment(a)||a instanceof Date)&&(a=y(a)):a=d.parseInputDate(a),a},ea={next:function(){var a=q[k].navFnc;f.add(q[k].navStep,a),W(),K(a)},previous:function(){var a=q[k].navFnc;f.subtract(q[k].navStep,a),W(),K(a)},pickerSwitch:function(){L(1)},selectMonth:function(b){var c=a(b.target).closest("tbody").find("span").index(a(b.target));f.month(c),k===p?(aa(e.clone().year(f.year()).month(f.month())),d.inline||ba()):(L(-1),W()),K("M")},selectYear:function(b){var c=parseInt(a(b.target).text(),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDecade:function(b){var c=parseInt(a(b.target).data("selection"),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDay:function(b){var c=f.clone();a(b.target).is(".old")&&c.subtract(1,"M"),a(b.target).is(".new")&&c.add(1,"M"),aa(c.date(parseInt(a(b.target).text(),10))),A()||d.keepOpen||d.inline||ba()},incrementHours:function(){var a=e.clone().add(1,"h");R(a,"h")&&aa(a)},incrementMinutes:function(){var a=e.clone().add(d.stepping,"m");R(a,"m")&&aa(a)},incrementSeconds:function(){var a=e.clone().add(1,"s");R(a,"s")&&aa(a)},decrementHours:function(){var a=e.clone().subtract(1,"h");R(a,"h")&&aa(a)},decrementMinutes:function(){var a=e.clone().subtract(d.stepping,"m");R(a,"m")&&aa(a)},decrementSeconds:function(){var a=e.clone().subtract(1,"s");R(a,"s")&&aa(a)},togglePeriod:function(){aa(e.clone().add(e.hours()>=12?-12:12,"h"))},togglePicker:function(b){var c,e=a(b.target),f=e.closest("ul"),g=f.find(".in"),h=f.find(".collapse:not(.in)");if(g&&g.length){if(c=g.data("collapse"),c&&c.transitioning)return;g.collapse?(g.collapse("hide"),h.collapse("show")):(g.removeClass("in"),h.addClass("in")),e.is("span")?e.toggleClass(d.icons.time+" "+d.icons.date):e.find("span").toggleClass(d.icons.time+" "+d.icons.date)}},showPicker:function(){o.find(".timepicker > div:not(.timepicker-picker)").hide(),o.find(".timepicker .timepicker-picker").show()},showHours:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-hours").show()},showMinutes:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-seconds").show()},selectHour:function(b){var c=parseInt(a(b.target).text(),10);h||(e.hours()>=12?12!==c&&(c+=12):12===c&&(c=0)),aa(e.clone().hours(c)),ea.showPicker.call(l)},selectMinute:function(b){aa(e.clone().minutes(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},selectSecond:function(b){aa(e.clone().seconds(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},clear:ca,today:function(){var a=y();R(a,"d")&&aa(a)},close:ba},fa=function(b){return a(b.currentTarget).is(".disabled")?!1:(ea[a(b.currentTarget).data("action")].apply(l,arguments),!1)},ga=function(){var b,c={year:function(a){return a.month(0).date(1).hours(0).seconds(0).minutes(0)},month:function(a){return a.date(1).hours(0).seconds(0).minutes(0)},day:function(a){return a.hours(0).seconds(0).minutes(0)},hour:function(a){return a.seconds(0).minutes(0)},minute:function(a){return a.seconds(0)}};return g.prop("disabled")||!d.ignoreReadonly&&g.prop("readonly")||o?l:(void 0!==g.val()&&0!==g.val().trim().length?aa(da(g.val().trim())):m&&d.useCurrent&&(d.inline||g.is("input")&&0===g.val().trim().length)&&(b=y(),"string"==typeof d.useCurrent&&(b=c[d.useCurrent](b)),aa(b)),o=G(),M(),S(),o.find(".timepicker-hours").hide(),o.find(".timepicker-minutes").hide(),o.find(".timepicker-seconds").hide(),_(),L(),a(window).on("resize",I),o.on("click","[data-action]",fa),o.on("mousedown",!1),n&&n.hasClass("btn")&&n.toggleClass("active"),I(),o.show(),d.focusOnShow&&!g.is(":focus")&&g.focus(),J({type:"dp.show"}),l)},ha=function(){return o?ba():ga()},ia=function(a){var b,c,e,f,g=null,h=[],i={},j=a.which,k="p";w[j]=k;for(b in w)w.hasOwnProperty(b)&&w[b]===k&&(h.push(b),parseInt(b,10)!==j&&(i[b]=!0));for(b in d.keyBinds)if(d.keyBinds.hasOwnProperty(b)&&"function"==typeof d.keyBinds[b]&&(e=b.split(" "),e.length===h.length&&v[j]===e[e.length-1])){for(f=!0,c=e.length-2;c>=0;c--)if(!(v[e[c]]in i)){f=!1;break}if(f){g=d.keyBinds[b];break}}g&&(g.call(l,o),a.stopPropagation(),a.preventDefault())},ja=function(a){w[a.which]="r",a.stopPropagation(),a.preventDefault()},ka=function(b){var c=a(b.target).val().trim(),d=c?da(c):null;return aa(d),b.stopImmediatePropagation(),!1},la=function(){g.on({change:ka,blur:d.debug?"":ba,keydown:ia,keyup:ja,focus:d.allowInputToggle?ga:""}),c.is("input")?g.on({focus:ga}):n&&(n.on("click",ha),n.on("mousedown",!1))},ma=function(){g.off({change:ka,blur:blur,keydown:ia,keyup:ja,focus:d.allowInputToggle?ba:""}),c.is("input")?g.off({focus:ga}):n&&(n.off("click",ha),n.off("mousedown",!1))},na=function(b){var c={};return a.each(b,function(){var a=da(this);a.isValid()&&(c[a.format("YYYY-MM-DD")]=!0)}),Object.keys(c).length?c:!1},oa=function(b){var c={};return a.each(b,function(){c[this]=!0}),Object.keys(c).length?c:!1},pa=function(){var a=d.format||"L LT";i=a.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){var b=e.localeData().longDateFormat(a)||a;return b.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){return e.localeData().longDateFormat(a)||a})}),j=d.extraFormats?d.extraFormats.slice():[],j.indexOf(a)<0&&j.indexOf(i)<0&&j.push(i),h=i.toLowerCase().indexOf("a")<1&&i.replace(/\[.*?\]/g,"").indexOf("h")<1,z("y")&&(p=2),z("M")&&(p=1),z("d")&&(p=0),k=Math.max(p,k),m||aa(e)};if(l.destroy=function(){ba(),ma(),c.removeData("DateTimePicker"),c.removeData("date")},l.toggle=ha,l.show=ga,l.hide=ba,l.disable=function(){return ba(),n&&n.hasClass("btn")&&n.addClass("disabled"),g.prop("disabled",!0),l},l.enable=function(){return n&&n.hasClass("btn")&&n.removeClass("disabled"),g.prop("disabled",!1),l},l.ignoreReadonly=function(a){if(0===arguments.length)return d.ignoreReadonly;if("boolean"!=typeof a)throw new TypeError("ignoreReadonly () expects a boolean parameter");return d.ignoreReadonly=a,l},l.options=function(b){if(0===arguments.length)return a.extend(!0,{},d);if(!(b instanceof Object))throw new TypeError("options() options parameter should be an object");return a.extend(!0,d,b),a.each(d,function(a,b){if(void 0===l[a])throw new TypeError("option "+a+" is not recognized!");l[a](b)}),l},l.date=function(a){if(0===arguments.length)return m?null:e.clone();if(!(null===a||"string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("date() parameter must be one of [null, string, moment or Date]");return aa(null===a?null:da(a)),l},l.format=function(a){if(0===arguments.length)return d.format;if("string"!=typeof a&&("boolean"!=typeof a||a!==!1))throw new TypeError("format() expects a string or boolean:false parameter "+a);return d.format=a,i&&pa(),l},l.timeZone=function(a){if(0===arguments.length)return d.timeZone;if("string"!=typeof a)throw new TypeError("newZone() expects a string parameter");return d.timeZone=a,l},l.dayViewHeaderFormat=function(a){if(0===arguments.length)return d.dayViewHeaderFormat;if("string"!=typeof a)throw new TypeError("dayViewHeaderFormat() expects a string parameter");return d.dayViewHeaderFormat=a,l},l.extraFormats=function(a){if(0===arguments.length)return d.extraFormats;if(a!==!1&&!(a instanceof Array))throw new TypeError("extraFormats() expects an array or false parameter");return d.extraFormats=a,j&&pa(),l},l.disabledDates=function(b){if(0===arguments.length)return d.disabledDates?a.extend({},d.disabledDates):d.disabledDates;if(!b)return d.disabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledDates() expects an array parameter");return d.disabledDates=na(b),d.enabledDates=!1,_(),l},l.enabledDates=function(b){if(0===arguments.length)return d.enabledDates?a.extend({},d.enabledDates):d.enabledDates;if(!b)return d.enabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledDates() expects an array parameter");return d.enabledDates=na(b),d.disabledDates=!1,_(),l},l.daysOfWeekDisabled=function(a){if(0===arguments.length)return d.daysOfWeekDisabled.splice(0);if("boolean"==typeof a&&!a)return d.daysOfWeekDisabled=!1,_(),l;if(!(a instanceof Array))throw new TypeError("daysOfWeekDisabled() expects an array parameter");if(d.daysOfWeekDisabled=a.reduce(function(a,b){return b=parseInt(b,10),b>6||0>b||isNaN(b)?a:(-1===a.indexOf(b)&&a.push(b),a)},[]).sort(),d.useCurrent&&!d.keepInvalid){for(var b=0;!R(e,"d");){if(e.add(1,"d"),31===b)throw"Tried 31 times to find a valid date";b++}aa(e)}return _(),l},l.maxDate=function(a){if(0===arguments.length)return d.maxDate?d.maxDate.clone():d.maxDate;if("boolean"==typeof a&&a===!1)return d.maxDate=!1,_(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=y());var b=da(a);if(!b.isValid())throw new TypeError("maxDate() Could not parse date parameter: "+a);if(d.minDate&&b.isBefore(d.minDate))throw new TypeError("maxDate() date parameter is before options.minDate: "+b.format(i));return d.maxDate=b,d.useCurrent&&!d.keepInvalid&&e.isAfter(a)&&aa(d.maxDate),f.isAfter(b)&&(f=b.clone().subtract(d.stepping,"m")),_(),l},l.minDate=function(a){if(0===arguments.length)return d.minDate?d.minDate.clone():d.minDate;if("boolean"==typeof a&&a===!1)return d.minDate=!1,_(),l;"string"==typeof a&&("now"===a||"moment"===a)&&(a=y());var b=da(a);if(!b.isValid())throw new TypeError("minDate() Could not parse date parameter: "+a);if(d.maxDate&&b.isAfter(d.maxDate))throw new TypeError("minDate() date parameter is after options.maxDate: "+b.format(i));return d.minDate=b,d.useCurrent&&!d.keepInvalid&&e.isBefore(a)&&aa(d.minDate),f.isBefore(b)&&(f=b.clone().add(d.stepping,"m")),_(),l},l.defaultDate=function(a){if(0===arguments.length)return d.defaultDate?d.defaultDate.clone():d.defaultDate;if(!a)return d.defaultDate=!1,l;"string"==typeof a&&(a="now"===a||"moment"===a?y():y(a));var b=da(a);if(!b.isValid())throw new TypeError("defaultDate() Could not parse date parameter: "+a);if(!R(b))throw new TypeError("defaultDate() date passed is invalid according to component setup validations");return d.defaultDate=b,(d.defaultDate&&d.inline||""===g.val().trim())&&aa(d.defaultDate),l},l.locale=function(a){if(0===arguments.length)return d.locale;if(!b.localeData(a))throw new TypeError("locale() locale "+a+" is not loaded from moment locales!");return d.locale=a,e.locale(d.locale),f.locale(d.locale),i&&pa(),o&&(ba(),ga()),l},l.stepping=function(a){return 0===arguments.length?d.stepping:(a=parseInt(a,10),(isNaN(a)||1>a)&&(a=1),d.stepping=a,l)},l.useCurrent=function(a){var b=["year","month","day","hour","minute"];if(0===arguments.length)return d.useCurrent;if("boolean"!=typeof a&&"string"!=typeof a)throw new TypeError("useCurrent() expects a boolean or string parameter");if("string"==typeof a&&-1===b.indexOf(a.toLowerCase()))throw new TypeError("useCurrent() expects a string parameter of "+b.join(", "));return d.useCurrent=a,l},l.collapse=function(a){if(0===arguments.length)return d.collapse;if("boolean"!=typeof a)throw new TypeError("collapse() expects a boolean parameter");return d.collapse===a?l:(d.collapse=a,o&&(ba(),ga()),l)},l.icons=function(b){if(0===arguments.length)return a.extend({},d.icons);if(!(b instanceof Object))throw new TypeError("icons() expects parameter to be an Object");return a.extend(d.icons,b),o&&(ba(),ga()),l},l.tooltips=function(b){if(0===arguments.length)return a.extend({},d.tooltips);if(!(b instanceof Object))throw new TypeError("tooltips() expects parameter to be an Object");return a.extend(d.tooltips,b),o&&(ba(),ga()),l},l.useStrict=function(a){if(0===arguments.length)return d.useStrict;if("boolean"!=typeof a)throw new TypeError("useStrict() expects a boolean parameter");return d.useStrict=a,l},l.sideBySide=function(a){if(0===arguments.length)return d.sideBySide;if("boolean"!=typeof a)throw new TypeError("sideBySide() expects a boolean parameter");return d.sideBySide=a,o&&(ba(),ga()),l},l.viewMode=function(a){if(0===arguments.length)return d.viewMode;if("string"!=typeof a)throw new TypeError("viewMode() expects a string parameter");if(-1===r.indexOf(a))throw new TypeError("viewMode() parameter must be one of ("+r.join(", ")+") value");return d.viewMode=a,k=Math.max(r.indexOf(a),p),L(),l},l.toolbarPlacement=function(a){if(0===arguments.length)return d.toolbarPlacement;if("string"!=typeof a)throw new TypeError("toolbarPlacement() expects a string parameter");if(-1===u.indexOf(a))throw new TypeError("toolbarPlacement() parameter must be one of ("+u.join(", ")+") value");return d.toolbarPlacement=a,o&&(ba(),ga()),l},l.widgetPositioning=function(b){if(0===arguments.length)return a.extend({},d.widgetPositioning);if("[object Object]"!=={}.toString.call(b))throw new TypeError("widgetPositioning() expects an object variable");if(b.horizontal){if("string"!=typeof b.horizontal)throw new TypeError("widgetPositioning() horizontal variable must be a string");if(b.horizontal=b.horizontal.toLowerCase(),-1===t.indexOf(b.horizontal))throw new TypeError("widgetPositioning() expects horizontal parameter to be one of ("+t.join(", ")+")");d.widgetPositioning.horizontal=b.horizontal}if(b.vertical){if("string"!=typeof b.vertical)throw new TypeError("widgetPositioning() vertical variable must be a string");if(b.vertical=b.vertical.toLowerCase(),-1===s.indexOf(b.vertical))throw new TypeError("widgetPositioning() expects vertical parameter to be one of ("+s.join(", ")+")");d.widgetPositioning.vertical=b.vertical}return _(),l},l.calendarWeeks=function(a){if(0===arguments.length)return d.calendarWeeks;if("boolean"!=typeof a)throw new TypeError("calendarWeeks() expects parameter to be a boolean value");return d.calendarWeeks=a,_(),l},l.showTodayButton=function(a){if(0===arguments.length)return d.showTodayButton;if("boolean"!=typeof a)throw new TypeError("showTodayButton() expects a boolean parameter");return d.showTodayButton=a,o&&(ba(),ga()),l},l.showClear=function(a){if(0===arguments.length)return d.showClear;if("boolean"!=typeof a)throw new TypeError("showClear() expects a boolean parameter");return d.showClear=a,o&&(ba(),ga()),l},l.widgetParent=function(b){if(0===arguments.length)return d.widgetParent;if("string"==typeof b&&(b=a(b)),null!==b&&"string"!=typeof b&&!(b instanceof a))throw new TypeError("widgetParent() expects a string or a jQuery object parameter");return d.widgetParent=b,o&&(ba(),ga()),l},l.keepOpen=function(a){if(0===arguments.length)return d.keepOpen;if("boolean"!=typeof a)throw new TypeError("keepOpen() expects a boolean parameter");return d.keepOpen=a,l},l.focusOnShow=function(a){if(0===arguments.length)return d.focusOnShow;if("boolean"!=typeof a)throw new TypeError("focusOnShow() expects a boolean parameter");return d.focusOnShow=a,l},l.inline=function(a){if(0===arguments.length)return d.inline;if("boolean"!=typeof a)throw new TypeError("inline() expects a boolean parameter");return d.inline=a,l},l.clear=function(){return ca(),l},l.keyBinds=function(a){return 0===arguments.length?d.keyBinds:(d.keyBinds=a,l)},l.getMoment=function(a){return y(a)},l.debug=function(a){if("boolean"!=typeof a)throw new TypeError("debug() expects a boolean parameter");return d.debug=a,l},l.allowInputToggle=function(a){if(0===arguments.length)return d.allowInputToggle;if("boolean"!=typeof a)throw new TypeError("allowInputToggle() expects a boolean parameter");return d.allowInputToggle=a,l},l.showClose=function(a){if(0===arguments.length)return d.showClose;if("boolean"!=typeof a)throw new TypeError("showClose() expects a boolean parameter");return d.showClose=a,l},l.keepInvalid=function(a){if(0===arguments.length)return d.keepInvalid;if("boolean"!=typeof a)throw new TypeError("keepInvalid() expects a boolean parameter");
18
+ return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)return d.datepickerInput;if("string"!=typeof a)throw new TypeError("datepickerInput() expects a string parameter");return d.datepickerInput=a,l},l.parseInputDate=function(a){if(0===arguments.length)return d.parseInputDate;if("function"!=typeof a)throw new TypeError("parseInputDate() sholud be as function");return d.parseInputDate=a,l},l.disabledTimeIntervals=function(b){if(0===arguments.length)return d.disabledTimeIntervals?a.extend({},d.disabledTimeIntervals):d.disabledTimeIntervals;if(!b)return d.disabledTimeIntervals=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledTimeIntervals() expects an array parameter");return d.disabledTimeIntervals=b,_(),l},l.disabledHours=function(b){if(0===arguments.length)return d.disabledHours?a.extend({},d.disabledHours):d.disabledHours;if(!b)return d.disabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledHours() expects an array parameter");if(d.disabledHours=oa(b),d.enabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.enabledHours=function(b){if(0===arguments.length)return d.enabledHours?a.extend({},d.enabledHours):d.enabledHours;if(!b)return d.enabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledHours() expects an array parameter");if(d.enabledHours=oa(b),d.disabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.viewDate=function(a){if(0===arguments.length)return f.clone();if(!a)return f=e.clone(),l;if(!("string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("viewDate() parameter must be one of [string, moment or Date]");return f=da(a),K(),l},c.is("input"))g=c;else if(g=c.find(d.datepickerInput),0===g.length)g=c.find("input");else if(!g.is("input"))throw new Error('CSS class "'+d.datepickerInput+'" cannot be applied to non input element');if(c.hasClass("input-group")&&(n=0===c.find(".datepickerbutton").length?c.find(".input-group-addon"):c.find(".datepickerbutton")),!d.inline&&!g.is("input"))throw new Error("Could not initialize DateTimePicker without an input element");return e=y(),f=e.clone(),a.extend(!0,d,H()),l.options(d),pa(),la(),g.prop("disabled")&&l.disable(),g.is("input")&&0!==g.val().trim().length?aa(da(g.val().trim())):d.defaultDate&&void 0===g.attr("placeholder")&&aa(d.defaultDate),d.inline&&ga(),l};return a.fn.factoryBootstrap422_DatetimePickerControl=function(b){b=b||{};var d,e=Array.prototype.slice.call(arguments,1),f=!0,g=["destroy","hide","show","toggle"];if("object"==typeof b)return this.each(function(){var d,e=a(this);e.data("DateTimePicker")||(d=a.extend(!0,{},a.fn.factoryBootstrap422_DatetimePickerControl.defaults,b),e.data("DateTimePicker",c(e,d)))});if("string"==typeof b)return this.each(function(){var c=a(this),g=c.data("DateTimePicker");if(!g)throw new Error('bootstrap-datetimepicker("'+b+'") method was called on an element that is not using DateTimePicker');d=g[b].apply(g,e),f=d===g}),f||a.inArray(b,g)>-1?this:d;throw new TypeError("Invalid arguments for DateTimePicker: "+b)},a.fn.factoryBootstrap422_DatetimePickerControl.defaults={timeZone:"",format:!1,dayViewHeaderFormat:"MMMM YYYY",extraFormats:!1,stepping:1,minDate:!1,maxDate:!1,useCurrent:!0,collapse:!0,locale:b.locale(),defaultDate:!1,disabledDates:!1,enabledDates:!1,icons:{time:"fa fa-clock-o",date:"fa fa-calendar",up:"fa fa-arrow-up",down:"fa fa-arrow-down",previous:"fa fa-arrow-left",next:"fa fa-arrow-right",today:"fa fa-thumb-tack",clear:"fa fa-trash",close:"fa fa-times"},tooltips:{today:"Go to today",clear:"Clear selection",close:"Close the picker",selectMonth:"Select Month",prevMonth:"Previous Month",nextMonth:"Next Month",selectYear:"Select Year",prevYear:"Previous Year",nextYear:"Next Year",selectDecade:"Select Decade",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevCentury:"Previous Century",nextCentury:"Next Century",pickHour:"Pick Hour",incrementHour:"Increment Hour",decrementHour:"Decrement Hour",pickMinute:"Pick Minute",incrementMinute:"Increment Minute",decrementMinute:"Decrement Minute",pickSecond:"Pick Second",incrementSecond:"Increment Second",decrementSecond:"Decrement Second",togglePeriod:"Toggle Period",selectTime:"Select Time"},useStrict:!1,sideBySide:!1,daysOfWeekDisabled:!1,calendarWeeks:!1,viewMode:"days",toolbarPlacement:"default",showTodayButton:!1,showClear:!1,showClose:!1,widgetPositioning:{horizontal:"auto",vertical:"auto"},widgetParent:null,ignoreReadonly:!1,keepOpen:!1,focusOnShow:!0,inline:!1,keepInvalid:!1,datepickerInput:".datepickerinput",keyBinds:{up:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(7,"d")):this.date(b.clone().add(this.stepping(),"m"))}},down:function(a){if(!a)return void this.show();var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(7,"d")):this.date(b.clone().subtract(this.stepping(),"m"))},"control up":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(1,"y")):this.date(b.clone().add(1,"h"))}},"control down":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(1,"y")):this.date(b.clone().subtract(1,"h"))}},left:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"d"))}},right:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"d"))}},pageUp:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"M"))}},pageDown:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"M"))}},enter:function(){this.hide()},escape:function(){this.hide()},"control space":function(a){a&&a.find(".timepicker").is(":visible")&&a.find('.btn[data-action="togglePeriod"]').click()},t:function(){this.date(this.getMoment())},"delete":function(){this.clear()}},debug:!1,allowInputToggle:!1,disabledTimeIntervals:!1,disabledHours:!1,enabledHours:!1,viewDate:!1},a.fn.factoryBootstrap422_DatetimePickerControl}),function(a){a(function(){a(".factory-bootstrap-422 .factory-datetimepicker").factoryBootstrap422_DatetimePickerControl(),a(".factory-bootstrap-422 .factory-datetimepicker-range-0").factoryBootstrap422_DatetimePickerControl(),a(".factory-bootstrap-422 .factory-datetimepicker-range-1").factoryBootstrap422_DatetimePickerControl({useCurrent:!1}),a(".factory-bootstrap-422 .factory-datetimepicker-range-0").on("dp.change",function(b){a(".factory-bootstrap-422 .factory-datetimepicker-range-1").data("DateTimePicker").minDate(b.date)}),a(".factory-bootstrap-422 .factory-datetimepicker-range-1").on("dp.change",function(b){a(".factory-bootstrap-422 .factory-datetimepicker-range-0").data("DateTimePicker").maxDate(b.date)})})}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap422_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap422_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.modal.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="factory-bootstrap-422-modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.factoryBootstrap422_modal;a.fn.factoryBootstrap422_modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.factoryBootstrap422_modal.Constructor=b,a.fn.factoryBootstrap422_modal.noConflict=function(){return a.fn.factoryBootstrap422_modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="factory-modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("factory-modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.factoryBootstrap422_modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.popover.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.scrollspy.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(a(c).is("body")?window:c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.tab.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.tooltip.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this},a(function(){a('[data-toggle="factory-tooltip"]').tooltip({html:!0})})}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.transition.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()}),a(function(){a(function(){a.support.transition=b()})})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.checkbox.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap422_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap422_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-422 .factory-checkbox.factory-buttons-way").factoryBootstrap422_checkboxControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.color-and-opacity.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a,b){a(function(){a(function(){a(".factory-bootstrap-422 .factory-color-and-opacity").each(function(){var b=a(this),c=b.find(".factory-color"),d=b.find(".factory-integer");d.change(function(){var a=d.find(".factory-result").val()/100;c.find(".factory-background").css("opacity",a)}),d.change(),d.on("click.color.factory",function(a){a.stopPropagation()})})})})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.color.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){a.widget("factoryBootstrap422.colorControl",{_create:function(){this.$element=this.element,this.$picker=this.$element.find(".factory-color-hex"),this.$preview=this.$element.find(".factory-preview"),this.$background=this.$element.find(".factory-background"),this._init()},_init:function(b){var c=this,d={width:216,palettes:["#16a086","#27ae61","#2a80b9","#8f44ad","#2d3e50","#f49c14","#c1392b","#bec3c7"],hide:!0,change:function(a,b){c.$background.css({background:b.color.toString()}),c.$element.trigger("change.color.factory",[b.color.toString()]),c.$element.trigger("updated.color.factory",[b.color.toString()])}},e=this.$element.data("picker-target");e&&(d.target=a(e)),this.$picker.factoryBootstrap422_iris(d),this.$picker.off("focus"),a(document).on("click.color.factory",function(){c.$picker.factoryBootstrap422_iris("hide")}),this.$picker.add(this.$background).on("click.color.factory",function(a){a.stopPropagation(),c.$picker.factoryBootstrap422_iris("show")})},togglePicker:function(){this.$element.hasClass("factory-picker-active")?this.hidePicker():this.showPicker()},hidePicker:function(){this.$element.removeClass("factory-picker-active"),this.$picker.factoryBootstrap422_iris("hide")},showPicker:function(){this.$element.addClass("factory-picker-active"),this.$picker.factoryBootstrap422_iris("show")},getValue:function(){return this.$picker.val()},setValue:function(a,b){this.$picker.val(a),b&&self.$picker.trigger("change")}}),a(function(){a.widget.bridge("factoryBootstrap422_colorControl",a.factoryBootstrap422.colorControl),a(".factory-bootstrap-422 .factory-color").factoryBootstrap422_colorControl({})})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.dropdown-and-colors.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){var c=a(b),d=c.find(".factory-colors-inner-wrap");c.find("select").change(function(){var b=c.find("select option:selected"),e=b.data("colors"),f=d.data("radio-name");if(f&&e){d.html("");for(var g=0;g<e.length;g++){var h=e[g],i=a('<span class="factory-form-radio-item"><label class="factory-from-radio-label"><input type="radio" name="'+f+'" class="factory-radio-color" value="'+h[0]+'" checked="checked"><span style="background-color:'+h[1]+'"></span></label></span>');d.append(i)}}})};a.fn.factoryBootstrap422_dropdownAndColors=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdownAndColors.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdownAndColors.control");d||c.data("factory.dropdownAndColors.control",d=new b(this))})},a.fn.factoryBootstrap422_dropdownAndColors.Constructor=b,a(function(){a(".factory-bootstrap-422 .factory-dropdown-and-colors").factoryBootstrap422_dropdownAndColors()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.dropdown.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap422_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap422_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-422 .factory-dropdown").factoryBootstrap422_dropdownControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.fonts.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){a.widget("factoryBootstrap422.fontControl",{_create:function(){this.$element=this.element,this.$family=this.$element.find(".factory-family-wrap select"),this.$googleFontData=this.$element.find(".factory-google-font-data"),this.fontSelectorName=this.$family.attr("name"),this.googleFontsOptions={frameName:this.element.data("google-fonts-frame-name")},this.googleFontsOptions.frameName||(this.googleFontsOptions.frameName="preview"),this._initUI(),this._bindEvents()},_initUI:function(){this.$family.chosen()},_bindEvents:function(){var a=this;this.$family.change(function(b){var c=a._getCurrentOption(),d=c.data("google-font");if(d){var e=c.data("family"),f=c.data("variants").split(","),g=c.data("subsets").split(",");a._loadGoogleFont(e,f,g)}else a.$googleFontData.val("")})},_getCurrentOption:function(){var a=this.$family.val();return this._getOptionByValue(a)},_getOptionByValue:function(a){var b=this.$family.find("option[value='"+a+"']");return b},_loadGoogleFont:function(b,c,d){var c=this._filterGoogleFontVariantsBeforeLoading(b,c,d),d=this._filterGoogleFontSubsetsBeforeLoading(b,c,d);this.$googleFontData.val(this._encode64(JSON.stringify({name:b,styles:c,subsets:d})));var e=this._getTargetToLoadGoogleFont(),f=this.fontSelectorName+"-font-loader",g=e.find("#"+f);e.find("#"+f).length>0&&g.remove();var h="http://fonts.googleapis.com/css";c&&c.length&&(b=b+":"+c.join(",")),h=h+"?family="+b,d&&d.length&&(h=h+"&subset="+d.join(",")),a('<link id="'+f+'" rel="stylesheet" type="text/css" href="'+h+'" >').appendTo(e)},_filterGoogleFontVariantsBeforeLoading:function(b,c,d){var e=this;return a(document).trigger("factory-filter-google-font-variants",[c,e.$element,b,d]),c},_filterGoogleFontSubsetsBeforeLoading:function(b,c,d){var e=this;return a(document).trigger("factory-filter-google-font-subsets",[d,e.$element,c,d]),d},_getTargetToLoadGoogleFont:function(){var b=this.googleFontsOptions.frameName,c=a("head");if(b){var d=a('iframe[name="'+b+'"]');if(0===d.length)return console.error("The preview container not found.");c=d.contents().find("head")}return c},_base64KeyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_encode64:function(a){a=escape(a);var b,c,d,e,f,g="",h="",i="",j=0;do b=a.charCodeAt(j++),c=a.charCodeAt(j++),h=a.charCodeAt(j++),d=b>>2,e=(3&b)<<4|c>>4,f=(15&c)<<2|h>>6,i=63&h,isNaN(c)?f=i=64:isNaN(h)&&(i=64),g=g+this._base64KeyStr.charAt(d)+this._base64KeyStr.charAt(e)+this._base64KeyStr.charAt(f)+this._base64KeyStr.charAt(i),b=c=h="",d=e=f=i="";while(j<a.length);return g}}),a(function(){a.widget.bridge("factoryBootstrap422_fontControl",a.factoryBootstrap422.fontControl),a(".factory-bootstrap-422 .factory-font").factoryBootstrap422_fontControl({})})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.gradient.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){this.$element=a(b),this.$picker=this.$element.find(".factory-gradient-picker"),this.$result=this.$element.find(".factory-result"),this.init()};b.prototype.init=function(){var a=this,b=this.$element.data("directions"),c=this.$element.data("points"),d=c?c.split(","):[];this.$picker.gradientPicker({change:function(b,c){a.$result.val(c).trigger("keyup")},fillDirection:b,controlPoints:d})},a.fn.factoryBootstrap422_gradientControl=function(c){return this.each(function(){var d=a(this),e=d.data("factory.gradient-control");e||d.data("factory.gradient-control",e=new b(this)),"string"==typeof c&&e[c].call(e)})},a.fn.factoryBootstrap422_gradientControl.Constructor=b,a(function(){a(".factory-bootstrap-422 .factory-gradient").factoryBootstrap422_gradientControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.integer.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){this.$element=a(b),this.$element.hasClass("factory-has-slider")&&this.createSlider()};b.prototype.createSlider=function(){var a=this,b=this.$element.find(".factory-slider-container");this.$bar=b.find(".factory-bar"),this.$result=b.find(".factory-result"),this.$visibleValue=b.find(".factory-visible-value"),this.units=b.data("units"),this.rangeStart=b.data("range-start"),this.rangeEnd=b.data("range-end"),this.step=b.data("step"),this.step||(this.step=1);var c=this.$result.val();this.$bar.noUiSlider({start:parseInt(c),range:{min:a.rangeStart,max:a.rangeEnd},connect:"lower",step:a.step}),this.$bar.on("slide set",function(){a.setValue(parseInt(a.$bar.val()))})},b.prototype.setValue=function(a,b){this.$result.val(a),this.$visibleValue.length>0&&(this.units?this.$visibleValue.text(a+this.units):this.$visibleValue.text(a)),b&&this.$bar.noUiSlider({start:a},!0),this.$result.trigger("keyup"),this.$element.trigger("change")},b.prototype.getValue=function(){return this.$result.val()},b.prototype.api=function(){return this},a.fn.factoryBootstrap422_integerControl=function(c){if("string"==typeof c){var d=a(this).data("factory.integer-control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.integer-control");d||c.data("factory.integer-control",d=new b(this))})},a.fn.factoryBootstrap422_integerControl.Constructor=b,a(function(){a(".factory-bootstrap-422 .factory-integer").factoryBootstrap422_integerControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.list.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap422_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap422_listControl.Constructor=b,a(function(){a(".factory-bootstrap-422 .factory-list").factoryBootstrap422_listControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap422_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-422 .factory-multiple-textbox-group").factoryBootstrap422_MultipleTextboxControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.pattern.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){a.widget("factoryBootstrap422.patternControl",{_create:function(){this.$element=this.element,this.$preview=this.$element.find(".factory-preview"),this.$patternResult=this.$element.find(".factory-pattern-result"),this.$colorResult=this.$element.find(".factory-color-result"),this.$patterns=this.$element.find(".factory-patterns-panel"),this.$patternItems=this.$element.find(".factory-patterns-item"),this.$btnUpload=this.$element.find(".factory-upload-btn"),this.$btnChangeColor=this.$element.find(".factory-change-color-btn"),this.$colorPanel=this.$element.find(".factory-color-panel"),this.$colorContol=this.$element.find(".factory-color"),this._initMainPanel(),this._initColorPickerPanel(),this._initPatternsPanel()},_initMainPanel:function(){var a=this;this.$preview.on("click",function(){return a.togglePatternsPanel(),!1}),this.$btnChangeColor.on("click",function(){return a.toggleColorPanel(),!1})},togglePatternsPanel:function(){this.$element.hasClass("factory-patterns-panel-active")?this.hidePatternsPanel():this.showPatternsPanel()},hidePatternsPanel:function(){this.$element.removeClass("factory-patterns-panel-active")},showPatternsPanel:function(){this.$element.addClass("factory-patterns-panel-active")},hasColor:function(){return this.$element.hasClass("factory-color-panel-active")},toggleColorPanel:function(){this.hasColor()?this.hideColorPanel():this.showColorPanel()},hideColorPanel:function(){this.$element.removeClass("factory-color-panel-active"),this.$btnChangeColor.removeClass("button-active"),this.$colorResult.val(""),this.$colorResult.trigger("change"),this.$element.trigger("change")},showColorPanel:function(){this.$element.addClass("factory-color-panel-active"),this.$btnChangeColor.addClass("button-active"),this.$colorResult.val(this.$colorContol.factoryBootstrap422_colorControl("getValue")),this.$colorResult.trigger("change"),this.$element.trigger("change")},_initColorPickerPanel:function(){var a=this;this.$colorContol.bind("updated.color.factory",function(b,c){return a.$colorResult.val(c),!1})},_initPatternsPanel:function(){var b=this,c=!0,d=wp.media.editor.send.attachment;this.$btnUpload.on("click",function(){return c=!0,wp.media.editor.send.attachment=function(a,e){return c?(b.$preview.css({background:"url("+e.url+") repeat",border:"0",fontSize:"0"}),void b.$patternResult.attr("value",e.url).trigger("change")):d.apply(this,[a,e])},wp.media.editor.open(b.$btnUpload),a(".add_media").on("click",function(){c=!1}),!1}),this.$patternItems.on("click",function(){if(a(this).data("pattern")){var c=a(this).data("pattern");b.$preview.removeClass("factory-empty"),b.$preview.css({background:"url("+c+") repeat"}),b.$patternResult.attr("value",c).trigger("change")}})}}),a(function(){a.widget.bridge("factoryBootstrap422_patternControl",a.factoryBootstrap422.patternControl),a(".factory-bootstrap-422 .factory-pattern").factoryBootstrap422_patternControl({})})}(jQuery);
libs/factory/bootstrap/assets/js-min/global.color-functions.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ function hexToRgb(a){var b=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;a=a.replace(b,function(a,b,c,d){return b+b+c+c+d+d});var c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);return c?{r:parseInt(c[1],16),g:parseInt(c[2],16),b:parseInt(c[3],16)}:null}function rgb2hex(a){return a=a.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/),"#"+("0"+parseInt(a[1],10).toString(16)).slice(-2)+("0"+parseInt(a[2],10).toString(16)).slice(-2)+("0"+parseInt(a[3],10).toString(16)).slice(-2)}
libs/factory/bootstrap/assets/js-min/holder.conrol-group.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){a(document).ready(function(){a(".factory-control-group-nav-label").on("click",function(){var b=a(this).parents(".factory-control-group");return a(this).hasClass("active")||(a(".factory-control-group-nav-label",b).add(".factory-control-group-item",b).removeClass("current"),a(".factory-control-is-active",b).val(0),a(this).add(a("."+a(this).data("control-id"),b)).addClass("current"),b.children('input[type="hidden"]').val(a(this).data("control-name")).trigger("change"),a(".factory-control-is-active",a("."+a(this).data("control-id"),b)).val(1)),!1})})}(jQuery);
libs/factory/bootstrap/assets/js-min/holder.more-link.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a,b,c,d){"use strict";var e="factoryBootstrap422_moreLink";a.fn[e]=function(b,c){return this.each(function(){var b=a(this);b.find(".factory-more-link-show").click(function(){return a(a(this).attr("href")).fadeIn(),a(this).hide(),!1}),b.find(".factory-more-link-hide").click(function(){var b=a(a(this).attr("href"));return b.fadeOut(300,function(){b.parents(".factory-more-link").find(".factory-more-link-show").show()}),!1})})},a(function(){a(".factory-bootstrap-422 .factory-more-link").factoryBootstrap422_moreLink()})}(jQuery,window,document);
libs/factory/bootstrap/assets/js-min/plugin.chosen.min.js ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ /*!
11
+ Chosen, a Select Box Enhancer for jQuery and Prototype
12
+ by Patrick Filler for Harvest, http://getharvest.com
13
+
14
+ Version 1.1.0
15
+ Full source at https://github.com/harvesthq/chosen
16
+ Copyright (c) 2011 Harvest http://getharvest.com
17
+
18
+ MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
19
+ This file is generated by `grunt build`, do not edit it by hand.
20
+ */
21
+ (function(){var a,b,c,d,e,f={}.hasOwnProperty,g=function(a,b){function c(){this.constructor=a}for(var d in b)f.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};d=function(){function a(){this.options_index=0,this.parsed=[]}return a.prototype.add_node=function(a){return"OPTGROUP"===a.nodeName.toUpperCase()?this.add_group(a):this.add_option(a)},a.prototype.add_group=function(a){var b,c,d,e,f,g;for(b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:this.escapeExpression(a.label),children:0,disabled:a.disabled}),f=a.childNodes,g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},a.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},a.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&amp;"})):a},a}(),d.select_to_array=function(a){var b,c,e,f,g;for(c=new d,g=a.childNodes,e=0,f=g.length;f>e;e++)b=g[e],c.add_node(b);return c.parsed},b=function(){function a(b,c){this.form_field=b,this.options=null!=c?c:{},a.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers())}return a.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0},a.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||a.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||a.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||a.default_no_result_text},a.prototype.mouse_enter=function(){return this.mouse_on_container=!0},a.prototype.mouse_leave=function(){return this.mouse_on_container=!1},a.prototype.input_focus=function(a){var b=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return b.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},a.prototype.input_blur=function(a){var b=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return b.blur_test()},100))},a.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(c.text));return b},a.prototype.result_add_option=function(a){var b,c;return a.search_match&&this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=document.createElement("li"),c.className=b.join(" "),c.style.cssText=a.style,c.setAttribute("data-option-array-index",a.array_index),c.innerHTML=a.search_text,this.outerHTML(c)):""},a.prototype.result_add_group=function(a){var b;return(a.search_match||a.group_match)&&a.active_options>0?(b=document.createElement("li"),b.className="group-result",b.innerHTML=a.search_text,this.outerHTML(b)):""},a.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing?this.winnow_results():void 0},a.prototype.reset_single_select_options=function(){var a,b,c,d,e;for(d=this.results_data,e=[],b=0,c=d.length;c>b;b++)a=d[b],a.selected?e.push(a.selected=!1):e.push(void 0);return e},a.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},a.prototype.results_search=function(a){return this.results_showing?this.winnow_results():this.results_show()},a.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m;for(this.no_results_clear(),e=0,g=this.get_search_text(),a=g.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),d=this.search_contains?"":"^",c=new RegExp(d+a,"i"),j=new RegExp(a,"i"),m=this.results_data,k=0,l=m.length;l>k;k++)b=m[k],b.search_match=!1,f=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(f=this.results_data[b.group_array_index],0===f.active_options&&f.search_match&&(e+=1),f.active_options+=1),(!b.group||this.group_search)&&(b.search_text=b.group?b.label:b.html,b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(e+=1),b.search_match?(g.length&&(h=b.search_text.search(j),i=b.search_text.substr(0,h+g.length)+"</em>"+b.search_text.substr(h+g.length),b.search_text=i.substr(0,h)+"<em>"+i.substr(h)),null!=f&&(f.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>e&&g.length?(this.update_results_content(""),this.no_results(g)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},a.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},a.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},a.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},a.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},a.prototype.clipboard_event_checker=function(a){var b=this;return setTimeout(function(){return b.results_search()},50)},a.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},a.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},a.prototype.search_results_touchstart=function(a){return this.touch_started=!0,this.search_results_mouseover(a)},a.prototype.search_results_touchmove=function(a){return this.touch_started=!1,this.search_results_mouseout(a)},a.prototype.search_results_touchend=function(a){return this.touch_started?this.search_results_mouseup(a):void 0},a.prototype.outerHTML=function(a){var b;return a.outerHTML?a.outerHTML:(b=document.createElement("div"),b.appendChild(a),b.innerHTML)},a.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},a.default_multiple_text="Select Some Options",a.default_single_text="Select an Option",a.default_no_result_text="No results match",a}(),a=jQuery,a.fn.extend({chosen:function(d){return b.browser_is_supported()?this.each(function(b){var e,f;e=a(this),f=e.data("chosen"),"destroy"===d&&f?f.destroy():f||e.data("chosen",new c(this,d))}):this}}),c=function(b){function c(){return e=c.__super__.constructor.apply(this,arguments)}return g(c,b),c.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},c.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("<div />",c),this.is_multiple?this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>'):this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>'),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior(),this.form_field_jq.trigger("chosen:ready",{chosen:this})},c.prototype.register_observers=function(){var a=this;return this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.search_results.bind("touchstart.chosen",function(b){a.search_results_touchstart(b)}),this.search_results.bind("touchmove.chosen",function(b){a.search_results_touchmove(b)}),this.search_results.bind("touchend.chosen",function(b){a.search_results_touchend(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.form_field_jq.bind("chosen:close.chosen",function(b){a.input_blur(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.search_field.bind("cut.chosen",function(b){a.clipboard_event_checker(b)}),this.search_field.bind("paste.chosen",function(b){a.clipboard_event_checker(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},c.prototype.destroy=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},c.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},c.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(this.container[0].ownerDocument).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},c.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},c.prototype.search_results_mousewheel=function(a){var b;return a.originalEvent&&(b=-a.originalEvent.wheelDelta||a.originalEvent.detail),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},c.prototype.blur_test=function(a){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},c.prototype.close_field=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},c.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},c.prototype.test_active_click=function(b){var c;return c=a(b.target).closest(".chosen-container"),c.length&&this.container[0]===c[0]?this.active_field=!0:this.close_field()},c.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=d.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},c.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},c.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},c.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},c.prototype.update_results_content=function(a){return this.search_results.html(a)},c.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},c.prototype.set_tab_index=function(a){var b;return this.form_field.tabIndex?(b=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=b):void 0},c.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},c.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},c.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},c.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},c.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},c.prototype.choice_build=function(b){var c,d,e=this;return c=a("<li />",{"class":"search-choice"}).html("<span>"+b.html+"</span>"),b.disabled?c.addClass("search-choice-disabled"):(d=a("<a />",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},c.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},c.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},c.prototype.results_reset=function(){return this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},c.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},c.prototype.result_select=function(a){var b,c;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):this.reset_single_select_options(),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(c.text),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,this.search_field_scale())):void 0},c.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").text(a)},c.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},c.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")):void 0},c.prototype.get_search_text=function(){return this.search_field.val()===this.default_text?"":a("<div/>").text(a.trim(this.search_field.val())).html()},c.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},c.prototype.no_results=function(b){var c;return c=a('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>'),c.find("span").first().html(b),this.search_results.append(c),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},c.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},c.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},c.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},c.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},c.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},c.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},c.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("<div />",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},c}(b)}).call(this);
libs/factory/bootstrap/assets/js-min/plugin.color.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a,b){var c=function(a,b){return this instanceof c?this._init(a,b):new c(a,b)};c.fn=c.prototype={_color:0,_alpha:1,error:!1,_hsl:{h:0,s:0,l:0},_hsv:{h:0,s:0,v:0},_hSpace:"hsl",_init:function(a){var c="noop";switch(typeof a){case"object":return a.a!==b&&this.a(a.a),c=a.r!==b?"fromRgb":a.l!==b?"fromHsl":a.v!==b?"fromHsv":c,this[c](a);case"string":return this.fromCSS(a);case"number":return this.fromInt(parseInt(a,10))}return this},_error:function(){return this.error=!0,this},clone:function(){for(var a=new c(this.toInt()),b=["_alpha","_hSpace","_hsl","_hsv","error"],d=b.length-1;d>=0;d--)a[b[d]]=this[b[d]];return a},setHSpace:function(a){return this._hSpace="hsv"===a?a:"hsl",this},noop:function(){return this},fromCSS:function(a){var b,c=/^(rgb|hs(l|v))a?\(/;if(this.error=!1,a=a.replace(/^\s+/,"").replace(/\s+$/,"").replace(/;$/,""),a.match(c)&&a.match(/\)$/)){if(b=a.replace(/(\s|%)/g,"").replace(c,"").replace(/,?\);?$/,"").split(","),b.length<3)return this._error();if(4===b.length&&(this.a(parseFloat(b.pop())),this.error))return this;for(var d=b.length-1;d>=0;d--)if(b[d]=parseInt(b[d],10),isNaN(b[d]))return this._error();return a.match(/^rgb/)?this.fromRgb({r:b[0],g:b[1],b:b[2]}):a.match(/^hsv/)?this.fromHsv({h:b[0],s:b[1],v:b[2]}):this.fromHsl({h:b[0],s:b[1],l:b[2]})}return this.fromHex(a)},fromRgb:function(a,c){return"object"!=typeof a||a.r===b||a.g===b||a.b===b?this._error():(this.error=!1,this.fromInt(parseInt((a.r<<16)+(a.g<<8)+a.b,10),c))},fromHex:function(a){return a=a.replace(/^#/,"").replace(/^0x/,""),3===a.length&&(a=a[0]+a[0]+a[1]+a[1]+a[2]+a[2]),this.error=!/^[0-9A-F]{6}$/i.test(a),this.fromInt(parseInt(a,16))},fromHsl:function(a){var c,d,e,f,g,h,i,j;return"object"!=typeof a||a.h===b||a.s===b||a.l===b?this._error():(this._hsl=a,this._hSpace="hsl",h=a.h/360,i=a.s/100,j=a.l/100,0===i?c=d=e=j:(f=.5>j?j*(1+i):j+i-j*i,g=2*j-f,c=this.hue2rgb(g,f,h+1/3),d=this.hue2rgb(g,f,h),e=this.hue2rgb(g,f,h-1/3)),this.fromRgb({r:255*c,g:255*d,b:255*e},!0))},fromHsv:function(a){var c,d,e,f,g,h,i,j,k,l,m;if("object"!=typeof a||a.h===b||a.s===b||a.v===b)return this._error();switch(this._hsv=a,this._hSpace="hsv",c=a.h/360,d=a.s/100,e=a.v/100,i=Math.floor(6*c),j=6*c-i,k=e*(1-d),l=e*(1-j*d),m=e*(1-(1-j)*d),i%6){case 0:f=e,g=m,h=k;break;case 1:f=l,g=e,h=k;break;case 2:f=k,g=e,h=m;break;case 3:f=k,g=l,h=e;break;case 4:f=m,g=k,h=e;break;case 5:f=e,g=k,h=l}return this.fromRgb({r:255*f,g:255*g,b:255*h},!0)},fromInt:function(a,c){return this._color=parseInt(a,10),isNaN(this._color)&&(this._color=0),this._color>16777215?this._color=16777215:this._color<0&&(this._color=0),c===b&&(this._hsv.h=this._hsv.s=this._hsl.h=this._hsl.s=0),this},hue2rgb:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},toString:function(){var a=parseInt(this._color,10).toString(16);if(this.error)return"";if(a.length<6)for(var b=6-a.length-1;b>=0;b--)a="0"+a;return"#"+a},toCSS:function(a,b){switch(a=a||"hex",b=parseFloat(b||this._alpha),a){case"rgb":case"rgba":var c=this.toRgb();return 1>b?"rgba( "+c.r+", "+c.g+", "+c.b+", "+b+" )":"rgb( "+c.r+", "+c.g+", "+c.b+" )";case"hsl":case"hsla":var d=this.toHsl();return 1>b?"hsla( "+d.h+", "+d.s+"%, "+d.l+"%, "+b+" )":"hsl( "+d.h+", "+d.s+"%, "+d.l+"% )";default:return this.toString()}},toRgb:function(){return{r:255&this._color>>16,g:255&this._color>>8,b:255&this._color}},toHsl:function(){var a,b,c=this.toRgb(),d=c.r/255,e=c.g/255,f=c.b/255,g=Math.max(d,e,f),h=Math.min(d,e,f),i=(g+h)/2;if(g===h)a=b=0;else{var j=g-h;switch(b=i>.5?j/(2-g-h):j/(g+h),g){case d:a=(e-f)/j+(f>e?6:0);break;case e:a=(f-d)/j+2;break;case f:a=(d-e)/j+4}a/=6}return a=Math.round(360*a),0===a&&this._hsl.h!==a&&(a=this._hsl.h),b=Math.round(100*b),0===b&&this._hsl.s&&(b=this._hsl.s),{h:a,s:b,l:Math.round(100*i)}},toHsv:function(){var a,b,c=this.toRgb(),d=c.r/255,e=c.g/255,f=c.b/255,g=Math.max(d,e,f),h=Math.min(d,e,f),i=g,j=g-h;if(b=0===g?0:j/g,g===h)a=b=0;else{switch(g){case d:a=(e-f)/j+(f>e?6:0);break;case e:a=(f-d)/j+2;break;case f:a=(d-e)/j+4}a/=6}return a=Math.round(360*a),0===a&&this._hsv.h!==a&&(a=this._hsv.h),b=Math.round(100*b),0===b&&this._hsv.s&&(b=this._hsv.s),{h:a,s:b,v:Math.round(100*i)}},toInt:function(){return this._color},toIEOctoHex:function(){var a=this.toString(),b=parseInt(255*this._alpha,10).toString(16);return 1===b.length&&(b="0"+b),"#"+b+a.replace(/^#/,"")},toLuminosity:function(){var a=this.toRgb();return.2126*Math.pow(a.r/255,2.2)+.7152*Math.pow(a.g/255,2.2)+.0722*Math.pow(a.b/255,2.2)},getDistanceLuminosityFrom:function(a){if(!(a instanceof c))throw"getDistanceLuminosityFrom requires a Color object";var b=this.toLuminosity(),d=a.toLuminosity();return b>d?(b+.05)/(d+.05):(d+.05)/(b+.05)},getMaxContrastColor:function(){var a=this.toLuminosity(),b=a>=.5?"000000":"ffffff";return new c(b)},getReadableContrastingColor:function(a,d){if(!a instanceof c)return this;var e=d===b?5:d,f=a.getDistanceLuminosityFrom(this),g=a.getMaxContrastColor(),h=g.getDistanceLuminosityFrom(a);if(e>=h)return g;if(f>=e)return this;for(var i=0===g.toInt()?-1:1;e>f&&(this.l(i,!0),f=this.getDistanceLuminosityFrom(a),0!==this._color&&16777215!==this._color););return this},a:function(a){if(a===b)return this._alpha;var c=parseFloat(a);return isNaN(c)?this._error():(this._alpha=c,this)},darken:function(a){return a=a||5,this.l(-a,!0)},lighten:function(a){return a=a||5,this.l(a,!0)},saturate:function(a){return a=a||15,this.s(a,!0)},desaturate:function(a){return a=a||15,this.s(-a,!0)},toGrayscale:function(){return this.setHSpace("hsl").s(0)},getComplement:function(){return this.h(180,!0)},getSplitComplement:function(a){a=a||1;var b=180+30*a;return this.h(b,!0)},getAnalog:function(a){a=a||1;var b=30*a;return this.h(b,!0)},getTetrad:function(a){a=a||1;var b=60*a;return this.h(b,!0)},getTriad:function(a){a=a||1;var b=120*a;return this.h(b,!0)},_partial:function(a){var c=d[a];return function(d,e){var f=this._spaceFunc("to",c.space);return d===b?f[a]:(e===!0&&(d=f[a]+d),c.mod&&(d%=c.mod),c.range&&(d=d<c.range[0]?c.range[0]:d>c.range[1]?c.range[1]:d),f[a]=d,this._spaceFunc("from",c.space,f))}},_spaceFunc:function(a,b,c){var d=b||this._hSpace,e=a+d.charAt(0).toUpperCase()+d.substr(1);return this[e](c)}};var d={h:{mod:360},s:{range:[0,100]},l:{space:"hsl",range:[0,100]},v:{space:"hsv",range:[0,100]},r:{space:"rgb",range:[0,255]},g:{space:"rgb",range:[0,255]},b:{space:"rgb",range:[0,255]}};for(var e in d)d.hasOwnProperty(e)&&(c.fn[e]=c.fn._partial(e));"object"==typeof exports?module.exports=c:a.Color=c}(this);
libs/factory/bootstrap/assets/js-min/plugin.ddslick.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){function b(a,b){var c=a.data("ddslick"),f=a.find(".dd-selected"),g=f.siblings(".dd-selected-value"),h=(a.find(".dd-options"),f.siblings(".dd-pointer"),a.find(".dd-option").eq(b)),i=h.closest("li"),j=c.settings,k=c.settings.data[b];a.find(".dd-option").removeClass("dd-option-selected"),h.addClass("dd-option-selected"),c.selectedIndex=b,c.selectedItem=i,c.selectedData=k,j.showSelectedHTML?f.html((k.imageSrc?'<img class="dd-selected-image'+("right"==j.imagePosition?" dd-image-right":"")+'" src="'+k.imageSrc+'" />':"")+(k.text?'<label class="dd-selected-text">'+k.text+"</label>":"")+(k.description?'<small class="dd-selected-description dd-desc'+(j.truncateDescription?" dd-selected-description-truncated":"")+'" >'+k.description+"</small>":"")):f.html(k.text),g.val(k.value),c.original.val(k.value),a.data("ddslick",c),d(a),e(a),"function"==typeof j.onSelected&&j.onSelected.call(this,c)}function c(b){var c=b.find(".dd-select"),d=c.siblings(".dd-options"),e=c.find(".dd-pointer"),g=d.is(":visible");a(".dd-click-off-close").not(d).slideUp(50),a(".dd-pointer").removeClass("dd-pointer-up"),g?(d.slideUp("fast"),e.removeClass("dd-pointer-up")):(d.slideDown("fast"),e.addClass("dd-pointer-up")),f(b)}function d(a){a.find(".dd-options").slideUp(50),a.find(".dd-pointer").removeClass("dd-pointer-up").removeClass("dd-pointer-up")}function e(a){var b=a.find(".dd-select").css("height"),c=a.find(".dd-selected-description"),d=a.find(".dd-selected-image");c.length<=0&&d.length>0&&a.find(".dd-selected-text").css("lineHeight",b)}function f(b){b.find(".dd-option").each(function(){var c=a(this),d=c.css("height"),e=c.find(".dd-option-description"),f=b.find(".dd-option-image");e.length<=0&&f.length>0&&c.find(".dd-option-text").css("lineHeight",d)})}a.fn.ddslick=function(b){return g[b]?g[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?void a.error("Method "+b+" does not exists."):g.init.apply(this,arguments)};var g={},h={data:[],keepJSONItemsOnTop:!1,width:260,height:null,background:"#eee",selectText:"",defaultSelectedIndex:null,truncateDescription:!0,imagePosition:"left",showSelectedHTML:!0,clickOffToClose:!0,onSelected:function(){}},i='<div class="dd-select"><input class="dd-selected-value" type="hidden" /><a class="dd-selected"></a><span class="dd-pointer dd-pointer-down"></span></div>',j='<ul class="dd-options"></ul>',k='<style id="css-ddslick" type="text/css">.dd-select{ border-radius:2px; border:solid 1px #ccc; position:relative; cursor:pointer;}.dd-desc { color:#aaa; display:block; overflow: hidden; font-weight:normal; line-height: 1.4em; }.dd-selected{ overflow:hidden; display:block; padding:10px; font-weight:bold;}.dd-pointer{ width:0; height:0; position:absolute; right:10px; top:50%; margin-top:-3px;}.dd-pointer-down{ border:solid 5px transparent; border-top:solid 5px #000; }.dd-pointer-up{border:solid 5px transparent !important; border-bottom:solid 5px #000 !important; margin-top:-8px;}.dd-options{ border:solid 1px #ccc; border-top:none; list-style:none; box-shadow:0px 1px 5px #ddd; display:none; position:absolute; z-index:2000; margin:0; padding:0;background:#fff; overflow:auto;}.dd-option{ padding:10px; display:block; border-bottom:solid 1px #ddd; overflow:hidden; text-decoration:none; color:#333; cursor:pointer;-webkit-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out;-o-transition: all 0.25s ease-in-out;-ms-transition: all 0.25s ease-in-out; }.dd-options > li:last-child > .dd-option{ border-bottom:none;}.dd-option:hover{ background:#f3f3f3; color:#000;}.dd-selected-description-truncated { text-overflow: ellipsis; white-space:nowrap; }.dd-option-selected { background:#f6f6f6; }.dd-option-image, .dd-selected-image { vertical-align:middle; float:left; margin-right:5px; max-width:64px;}.dd-image-right { float:right; margin-right:15px; margin-left:5px;}.dd-container{ position:relative;}​ .dd-selected-text { font-weight:bold}​</style>';a("#css-ddslick").length<=0&&a(k).appendTo("head"),g.init=function(d){var d=a.extend({},h,d);return this.each(function(){var e=a(this),f=e.data("ddslick");if(!f){var g=[];d.data;e.find("option").each(function(){var b=a(this),c=b.data();g.push({text:a.trim(b.text()),value:b.val(),selected:b.is(":selected"),description:c.description,imageSrc:c.imagesrc})}),d.keepJSONItemsOnTop?a.merge(d.data,g):d.data=a.merge(g,d.data);var h=e,k=a('<div id="'+e.attr("id")+'"></div>');e.replaceWith(k),e=k,e.addClass("dd-container").append(i).append(j);var g=e.find(".dd-select"),l=e.find(".dd-options");l.css({width:d.width}),g.css({width:d.width,background:d.background}),e.css({width:d.width}),null!=d.height&&l.css({height:d.height,overflow:"auto"}),a.each(d.data,function(a,b){b.selected&&(d.defaultSelectedIndex=a),l.append('<li><a class="dd-option">'+(b.value?' <input class="dd-option-value" type="hidden" value="'+b.value+'" />':"")+(b.imageSrc?' <img class="dd-option-image'+("right"==d.imagePosition?" dd-image-right":"")+'" src="'+b.imageSrc+'" />':"")+(b.text?' <label class="dd-option-text">'+b.text+"</label>":"")+(b.description?' <small class="dd-option-description dd-desc">'+b.description+"</small>":"")+"</a></li>")});var m={settings:d,original:h,selectedIndex:-1,selectedItem:null,selectedData:null};if(e.data("ddslick",m),d.selectText.length>0&&null==d.defaultSelectedIndex)e.find(".dd-selected").html(d.selectText);else{var n=null!=d.defaultSelectedIndex&&d.defaultSelectedIndex>=0&&d.defaultSelectedIndex<d.data.length?d.defaultSelectedIndex:0;b(e,n)}e.find(".dd-select").on("click.ddslick",function(){c(e)}),e.find(".dd-option").on("click.ddslick",function(){b(e,a(this).closest("li").index())}),d.clickOffToClose&&(l.addClass("dd-click-off-close"),e.on("click.ddslick",function(a){a.stopPropagation()}),a("body").on("click",function(){a(".dd-click-off-close").slideUp(50).siblings(".dd-select").find(".dd-pointer").removeClass("dd-pointer-up")}))}})},g.select=function(c){return this.each(function(){c.index&&b(a(this),c.index)})},g.open=function(){return this.each(function(){var b=a(this),d=b.data("ddslick");d&&c(b)})},g.close=function(){return this.each(function(){var b=a(this),c=b.data("ddslick");c&&d(b)})},g.destroy=function(){return this.each(function(){var b=a(this),c=b.data("ddslick");if(c){var d=c.original;b.removeData("ddslick").unbind(".ddslick").replaceWith(d)}})}}(jQuery);
libs/factory/bootstrap/assets/js-min/plugin.gradient-picker.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function($){function ctrlPtComparator(a,b){return a.position-b.position}function bind(a,b){return"function"==typeof a.bind?a.bind(b):function(){a.apply(b,arguments)}}function GradientSelection(a,b){var c=this;this.$el=a,this.$presets=this.$el.find(".gradientPicker-pallets"),this.$presetsItems=this.$presets.find(".factory-preset-gradient"),this.$preview=this.$el.find(".gradientPicker-preview"),this.$pointsContainer=this.$el.find(".factory-points"),this.$colorPickerContainer=this.$el.find(".factory-color-picker-container"),this.$colorPicker=this.$el.find(".factory-color-picker"),this.$colorHex=this.$el.find(".factory-color-hex"),this.$opacitySliderContainer=this.$el.find(".factory-slider-container"),this.$opacitySlider=this.$el.find(".factory-bar"),this.$el.css("position","relative"),this.opts=b,this._createPresetGradients(),this._createPreview(),this._createColorPicker(),this._createDirectionDropdown(),this.controlPoints=[],b.controlPoints=b.controlPoints||[];for(var d=0;d<b.controlPoints.length;++d){var e=this.createCtrlPt(b.controlPoints[d]);this.controlPoints.push(e)}0===this.controlPoints.length&&(this.controlPoints.push(this.createCtrlPt(this.$presetsItems.data("primary")+" 0% 1")),this.controlPoints.push(this.createCtrlPt(this.$presetsItems.data("secondary")+" 100% 1"))),$(document).on("click.gp.factory",function(){c.hideColorPicker()}),this.$colorPickerContainer.on("click.gp.factory",function(a){a.stopPropagation()}),this.$pointsContainer.on("click.gp.factory",function(a){a.stopPropagation(),c.placePoint(a)}),this.updatePreview()}function ControlPoint(a,b,c){var d=this;if(this.parent=a,this.$container=a.$pointsContainer,this.$el=$('<span class="factory-point"></span>'),this.$pointColor=$('<span class="factory-point-color"></span>').appendTo(this.$el),this.$container.append(this.$el),"string"==typeof b?(b=b.split(" "),this.position=parseFloat(b[1])/100,this.color=b[0],this.opacity=b[2]):(this.position=b.position,this.color=b.color,this.opacity=b.opacity),this.outerWidth=this.$el.outerWidth(),this.$pointColor.css({"background-color":d.color,opacity:d.opacity}),"horizontal"===c){var e=(d.$container.width()-this.$el.outerWidth())*this.position;this.$el.css("left",e)}else{var f=(d.$container.height()-this.$el.outerHeight())*this.position;this.$el.css("top",f)}this.drag=bind(this.drag,this),this.stop=bind(this.stop,this),this.$el.disableSelection().css("webkit-user-select","none").draggable({axis:"horizontal"===c?"x":"y",drag:this.drag,stop:this.stop,containment:d.$container,cancel:null}),this.$el.on("click.gp.factory",function(a){d.parent.currentPoint===d?d.parent.hideColorPicker(d):d.parent.showColorPicker(d),a.stopPropagation()})}$.event.special.destroyed||($.event.special.destroyed={remove:function(a){a.handler&&a.handler()}});var agent=window.navigator.userAgent,browserPrefix=["-webkit-","-moz-","-ms-"],x,y=0;GradientSelection.prototype={_createPresetGradients:function(){var a=this;this.$presetsItems.each(function(){var a=$(this),b=$('<span class="factory-secondary-color-wrap"></span>').appendTo(a),c=$('<span class="factory-secondary-color"></span>').appendTo(b);a.css("background",a.data("primary")),c.css("background",a.data("secondary"))}),this.$presetsItems.click(function(){var b=$(this).data("primary"),c=$(this).data("secondary");a.setGradient([b+" 0% 1",c+" 100% 1"])})},_createPreview:function(){var a=this.$preview[0];a.width=0===a.clientWidth?210:a.clientWidth,a.height=0===a.clientHeight?30:a.clientHeight,this.g2d=a.getContext("2d")},_createColorPicker:function(){var a=this;this.$colorPicker.factoryBootstrap422_iris({width:217,palettes:["#16a086","#27ae61","#2a80b9","#8f44ad","#2d3e50","#f49c14","#c1392b","#bec3c7"],hide:!0,change:function(b,c){a.currentPoint.updateColor(c.color.toString()),a._colorLock||a.$colorHex.val(c.color.toString())}}),a.$colorHex.on("change paste keyup",function(){a._colorLock=!0,a.$colorPicker.factoryBootstrap422_iris("color",a.$colorHex.val()),a._cancelColorLock()}),this.$opacitySlider.noUiSlider({start:100,range:{min:0,max:100},step:1}),this.$opacitySlider.on("slide",function(){var b=parseInt(a.$opacitySlider.val()),c=b+"%";a.$opacitySliderContainer.find(".factory-visible-value").text(c),a.currentPoint.updateOpacity(b/100)}),this.$opacitySlider.on("set",function(){a.$result.val(a.getValue()),a.$result.trigger("change")})},_repeatColorLock:!1,_colorLock:!1,_colorLockTimer:!1,_cancelColorLock:function(a){var b=this;return b._colorLockTimer&&!a?(this._repeatColorLock=!0,!1):void(this._colorLockTimer=setTimeout(function(){return b._repeatColorLock?(b._repeatColorLock=!1,b._cancelColorLock(!0),!1):(b._colorLock=!1,b._colorLockTimer=!1,void(b._repeatColorLock=!1))},500))},_createDirectionDropdown:function(){var a=this,b=factory&&factory.res&&factory.res.resVertical||"vertical",c=factory&&factory.res&&factory.res.resHorizontal||"horizontal";this.$directionDropdown=$('<select class="gradientPicker-filldirection"><option value="vertical"'+("top"===a.opts.fillDirection?" selected":"")+">"+b+'</option><option value="horizontal"'+("left"===a.opts.fillDirection?" selected":"")+">"+c+"</option></select>"),this.$el.append(this.$directionDropdown),this.$directionDropdown.chosen(),this.$directionDropdown.change(function(){a.setGradientDirection($(this).val())})},showColorPicker:function(a){this.currentPoint=a,$(".factory-current-point").removeClass("factory-current-point"),a.$el.addClass("factory-current-point"),this.$colorPickerContainer.show(),this.$colorPicker.factoryBootstrap422_iris("show"),this.$colorPicker.factoryBootstrap422_iris("option","color",a.color),this.$opacitySlider.val(100*a.opacity),this.$opacitySlider.trigger("slide")},hideColorPicker:function(){$(".factory-current-point").removeClass("factory-current-point"),this.currentPoint=!1,this.$colorPickerContainer.hide()},isColorPickerShown:function(){return this.currentPoint},docClicked:function(){$(".gradientPicker-iris-wrap").hide(),$(".gradientPicker-ctrlPt").removeClass("open")},createCtrlPt:function(a){return new ControlPoint(this,a,this.opts.orientation)},updateOptions:function(a,b){if($.extend(this.opts,a),b){this.controlPoints=[],this.$pointsContainer.html("");for(var c=0;c<this.opts.controlPoints.length;++c){var d=this.createCtrlPt(this.opts.controlPoints[c]);this.controlPoints.push(d)}}switch(this.updatePreview(),this.opts.fillDirection){case"top":fillDirectCheck="horizontal";break;case"left":fillDirectCheck="vertical";break;default:fillDirectCheck=!1}fillDirectCheck&&$(".gradientPicker-filldirection",this.$el).find('option[value="'+fillDirectCheck+'"]').prop("selected",!0)},updatePreview:function(){var a=[];if(this.controlPoints.sort(ctrlPtComparator),this.g2d.clearRect(0,0,this.g2d.canvas.width,this.g2d.canvas.height),"horizontal"===this.opts.orientation)for(var b=this.g2d.createLinearGradient(0,0,this.g2d.canvas.width,0),c=0;c<this.controlPoints.length;++c){var d=this.controlPoints[c];b.addColorStop(d.position,"rgba("+hexToRgb(d.color).r+","+hexToRgb(d.color).g+","+hexToRgb(d.color).b+", "+d.opacity+")"),a.push({position:d.position,color:d.color,opacity:d.opacity})}if(this.g2d.fillStyle=b,this.g2d.fillRect(0,0,this.g2d.canvas.width,this.g2d.canvas.height),this.opts.generateStyles)var e=this._generatePreviewStyles();this.opts.change(a,e)},removeControlPoint:function(a){var b=this.controlPoints.indexOf(a);-1!=b&&(this.controlPoints.splice(b,1),a.$el.remove())},placePoint:function(a){a.stopPropagation();var b=$(a.target).offset(),c=a.pageX-b.left,d=a.pageY-b.top,e=this.g2d.getImageData(c,d,1,1),f="rgb("+e.data[0]+","+e.data[1]+","+e.data[2]+")",g=1/255*e.data[3],h=this.createCtrlPt({position:c/this.g2d.canvas.width,color:rgb2hex(f),opacity:g});this.controlPoints.push(h),this.controlPoints.sort(ctrlPtComparator),this.showColorPicker(h)},setGradient:function(a){this.updateOptions({controlPoints:a},!0),this.updatePreview()},setGradientDirection:function(a){switch(a){case"horizontal":this.updateOptions({type:"linear",fillDirection:"top"},!1);break;case"vertical":this.updateOptions({type:"linear",fillDirection:"left"},!1)}},_generatePreviewStyles:function(){var a={};a.filldirection=this.opts.fillDirection,a.color_points=[];for(var b=0;b<this.controlPoints.length;++b){var c=this.controlPoints[b];a.color_points.push(c.color+" "+(100*c.position|0)+"% "+c.opacity)}return JSON.stringify(a)},_genPalletsBackground:function(a,b){return cssRules="linear-gradient(90deg, "+a+" 0%, "+b+" 100%)",agent.indexOf("WebKit")>=0?crossBrowserRule=browserPrefix[0]+cssRules:agent.indexOf("Mozilla")>=0?crossBrowserRule=browserPrefix[1]+cssRules:agent.indexOf("Microsoft")>=0?crossBrowserRule=browserPrefix[2]+cssRules:crossBrowserRule=cssRules,crossBrowserRule}},ControlPoint.prototype={updateColor:function(a){this.color=a,this.$pointColor.css("background-color",a),this.parent.updatePreview()},updateOpacity:function(a){this.opacity=a,this.$pointColor.css("opacity",a),this.parent.updatePreview()},drag:function(e,ui){var stopPointPosition=eval(this.$el.parent().offset().top+this.$el.parent().height()+20);e.pageY>stopPointPosition&&this.remove();var left=ui.position.left;this.position=left/(this.$container.width()-this.outerWidth),this.parent.updatePreview()},stop:function(){this.parent.updatePreview()},remove:function(){this.parent.removeControlPoint(this),this.parent.hideColorPicker(),this.parent.updatePreview()}};var methods={init:function(a){a=$.extend({controlPoints:["#FFF 0% 1","#000 100% 1"],orientation:"horizontal",type:"linear",fillDirection:"left",generateStyles:!0,change:function(){}},a),this.each(function(){var b=$(this),c=new GradientSelection(b,a);b.data("gradientPicker-sel",c)})},update:function(a){this.each(function(){var b=$(this),c=b.data("gradientPicker-sel");null!=c&&c.updateOptions(a,!0)})}};$.fn.gradientPicker=function(a,b){"string"==typeof a&&"init"!==a?methods[a].call(this,b):(b=a,methods.init.call(this,b))}}(jQuery);
libs/factory/bootstrap/assets/js-min/plugin.iris.min.js ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ /*! Iris Color Picker - v1.0.4 - 2013-11-18
11
+ * https://github.com/Automattic/Iris
12
+ * Copyright (c) 2013 Matt Wiebe; Licensed GPLv2 */
13
+ !function(a,b){function c(){var b,c;j?k="filter":(b=a('<div id="iris-gradtest" />'),c="linear-gradient(top,#fff,#000)",a.each(l,function(a,d){return b.css("backgroundImage",d+c),b.css("backgroundImage").match("gradient")?(k=a,!1):void 0}),k===!1&&(b.css("background","-webkit-gradient(linear,0% 0%,0% 100%,from(#fff),to(#000))"),b.css("backgroundImage").match("gradient")&&(k="webkit")),b.remove())}function d(b,c){return b="top"===b?"top":"left",c=a.isArray(c)?c:Array.prototype.slice.call(arguments,1),"webkit"===k?f(b,c):l[k]+"linear-gradient("+b+", "+c.join(", ")+")"}function e(b,c){var d,e,f,h,i,j,k,l,m;b="top"===b?"top":"left",c=a.isArray(c)?c:Array.prototype.slice.call(arguments,1),d="top"===b?0:1,e=a(this),f=c.length-1,h="filter",i=1===d?"left":"top",j=1===d?"right":"bottom",k=1===d?"height":"width",l='<div class="iris-ie-gradient-shim" style="position:absolute;'+k+":100%;"+i+":%start%;"+j+":%end%;"+h+':%filter%;" data-color:"%color%"></div>',m="","static"===e.css("position")&&e.css({position:"relative"}),c=g(c),a.each(c,function(a,b){var e,g,h;return a===f?!1:(e=c[a+1],void(b.stop!==e.stop&&(g=100-parseFloat(e.stop)+"%",b.octoHex=new Color(b.color).toIEOctoHex(),e.octoHex=new Color(e.color).toIEOctoHex(),h="progid:DXImageTransform.Microsoft.Gradient(GradientType="+d+", StartColorStr='"+b.octoHex+"', EndColorStr='"+e.octoHex+"')",m+=l.replace("%start%",b.stop).replace("%end%",g).replace("%filter%",h))))}),e.find(".iris-ie-gradient-shim").remove(),a(m).prependTo(e)}function f(b,c){var d=[];return b="top"===b?"0% 0%,0% 100%,":"0% 100%,100% 100%,",c=g(c),a.each(c,function(a,b){d.push("color-stop("+parseFloat(b.stop)/100+", "+b.color+")")}),"-webkit-gradient(linear,"+b+d.join(",")+")"}function g(b){var c=[],d=[],e=[],f=b.length-1;return a.each(b,function(a,b){var e=b,f=!1,g=b.match(/1?[0-9]{1,2}%$/);g&&(e=b.replace(/\s?1?[0-9]{1,2}%$/,""),f=g.shift()),c.push(e),d.push(f)}),d[0]===!1&&(d[0]="0%"),d[f]===!1&&(d[f]="100%"),d=h(d),a.each(d,function(a){e[a]={color:c[a],stop:d[a]}}),e}function h(b){var c,d,e,f,g=0,i=b.length-1,j=0,k=!1;if(b.length<=2||a.inArray(!1,b)<0)return b;for(;j<b.length-1;)k||b[j]!==!1?k&&b[j]!==!1&&(i=j,j=b.length):(g=j-1,k=!0),j++;for(d=i-g,f=parseInt(b[g].replace("%"),10),c=(parseFloat(b[i].replace("%"))-f)/d,j=g+1,e=1;i>j;)b[j]=f+e*c+"%",e++,j++;return h(b)}var i,j,k,l,m,n,o,p,q;return i='<div class="iris-picker"><div class="iris-picker-inner"><div class="iris-square"><a class="iris-square-value" href="#"><span class="iris-square-handle ui-slider-handle"></span></a><div class="iris-square-inner iris-square-horiz"></div><div class="iris-square-inner iris-square-vert"></div></div><div class="iris-slider iris-strip"><div class="iris-slider-offset"></div></div></div></div>',o=navigator.userAgent.toLowerCase(),p="Microsoft Internet Explorer"===navigator.appName,q=p?parseFloat(o.match(/msie ([0-9]{1,}[\.0-9]{0,})/)[1]):0,j=p&&10>q,k=!1,l=["-moz-","-webkit-","-o-","-ms-"],m='.iris-picker{display:block;position:relative}.iris-picker,.iris-picker *{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input+.iris-picker{margin-top:4px}.iris-error{background-color:#ffafaf}.iris-border{border-radius:3px;border:1px solid #aaa;width:200px;background-color:#fff}.iris-picker-inner{position:absolute;top:0;right:0;left:0;bottom:0}.iris-border .iris-picker-inner{top:10px;right:10px;left:10px;bottom:10px}.iris-picker .iris-square-inner{position:absolute;left:0;right:0;top:0;bottom:0}.iris-picker .iris-square,.iris-picker .iris-slider,.iris-picker .iris-square-inner,.iris-picker .iris-palette{border-radius:3px;box-shadow:inset 0 0 5px rgba(0,0,0,.4);height:100%;width:12.5%;float:left;margin-right:5%}.iris-picker .iris-square{width:76%;margin-right:10%;position:relative}.iris-picker .iris-square-inner{width:auto;margin:0}.iris-ie-9 .iris-square,.iris-ie-9 .iris-slider,.iris-ie-9 .iris-square-inner,.iris-ie-9 .iris-palette{box-shadow:none;border-radius:0}.iris-ie-9 .iris-square,.iris-ie-9 .iris-slider,.iris-ie-9 .iris-palette{outline:1px solid rgba(0,0,0,.1)}.iris-ie-lt9 .iris-square,.iris-ie-lt9 .iris-slider,.iris-ie-lt9 .iris-square-inner,.iris-ie-lt9 .iris-palette{outline:1px solid #aaa}.iris-ie-lt9 .iris-square .ui-slider-handle{outline:1px solid #aaa;background-color:#fff;-ms-filter:"alpha(Opacity=30)"}.iris-ie-lt9 .iris-square .iris-square-handle{background:0;border:3px solid #fff;-ms-filter:"alpha(Opacity=50)"}.iris-picker .iris-strip{margin-right:0;position:relative}.iris-picker .iris-strip .ui-slider-handle{position:absolute;background:0;margin:0;right:-3px;left:-3px;border:4px solid #aaa;border-width:4px 3px;width:auto;height:6px;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);opacity:.9;z-index:5;cursor:ns-resize}.iris-strip .ui-slider-handle:before{content:" ";position:absolute;left:-2px;right:-2px;top:-3px;bottom:-3px;border:2px solid #fff;border-radius:3px}.iris-picker .iris-slider-offset{position:absolute;top:11px;left:0;right:0;bottom:-3px;width:auto;height:auto;background:transparent;border:0;top:none;border-radius:0}.iris-picker .iris-square-handle{background:transparent;border:5px solid #aaa;border-radius:50%;border-color:rgba(128,128,128,.5);box-shadow:none;width:12px;height:12px;position:absolute;left:-10px;top:-10px;cursor:move;opacity:1;z-index:10}.iris-picker .ui-state-focus .iris-square-handle{opacity:.8}.iris-picker .iris-square-handle:hover{border-color:#999}.iris-picker .iris-square-value:focus .iris-square-handle{box-shadow:0 0 2px rgba(0,0,0,.75);opacity:.8}.iris-picker .iris-square-handle:hover::after{border-color:#fff}.iris-picker .iris-square-handle::after{position:absolute;bottom:-4px;right:-4px;left:-4px;top:-4px;border:3px solid #f9f9f9;border-color:rgba(255,255,255,.8);border-radius:50%;content:" "}.iris-picker .iris-square-value{width:8px;height:8px;position:absolute}.iris-ie-lt9 .iris-square-value,.iris-mozilla .iris-square-value{width:1px;height:1px}.iris-palette-container{position:absolute;bottom:0;left:0;margin:0;padding:0}.iris-border .iris-palette-container{left:10px;bottom:10px}.iris-picker .iris-palette{margin:0;cursor:pointer}',j&&7>=q?(a.fn.iris=a.noop,void(a.support.iris=!1)):(a.support.factoryBootstrap422_iris=!0,a.fn.factoryBootstrap422_gradient=function(){var b=arguments;return this.each(function(){j?e.apply(this,b):a(this).css("backgroundImage",d.apply(this,b))})},a.fn.factoryBootstrap422_raninbowGradient=function(b,c){var d,e,f,g;for(b=b||"top",d=a.extend({},{s:100,l:50},c),e="hsl(%h%,"+d.s+"%,"+d.l+"%)",f=0,g=[];360>=f;)g.push(e.replace("%h%",f)),f+=30;return this.each(function(){a(this).factoryBootstrap422_gradient(b,g)})},n={options:{color:!1,mode:"hsl",controls:{horiz:"s",vert:"l",strip:"h"},hide:!0,border:!0,target:!1,width:200,palettes:!1},_color:"",_palettes:["#000","#fff","#d33","#d93","#ee2","#81d742","#1e73be","#8224e3"],_inited:!1,_defaultHSLControls:{horiz:"s",vert:"l",strip:"h"},_defaultHSVControls:{horiz:"h",vert:"v",strip:"s"},_scale:{h:360,s:100,l:100,v:100},_create:function(){var b=this,d=b.element,e=b.options.color||d.val();k===!1&&c(),d.is("input")?(b.options.target?b.picker=a(i).appendTo(b.options.target):b.picker=a(i).insertAfter(d),b._addInputListeners(d)):(d.append(i),b.picker=d.find(".iris-picker")),p?9===q?b.picker.addClass("iris-ie-9"):8>=q&&b.picker.addClass("iris-ie-lt9"):o.indexOf("compatible")<0&&o.indexOf("khtml")<0&&o.match(/mozilla/)&&b.picker.addClass("iris-mozilla"),b.options.palettes&&b._addPalettes(),b._color=new Color(e).setHSpace(b.options.mode),b.options.color=b._color.toString(),b.controls={square:b.picker.find(".iris-square"),squareDrag:b.picker.find(".iris-square-value"),horiz:b.picker.find(".iris-square-horiz"),vert:b.picker.find(".iris-square-vert"),strip:b.picker.find(".iris-strip"),stripSlider:b.picker.find(".iris-strip .iris-slider-offset")},"hsv"===b.options.mode&&b._has("l",b.options.controls)?b.options.controls=b._defaultHSVControls:"hsl"===b.options.mode&&b._has("v",b.options.controls)&&(b.options.controls=b._defaultHSLControls),b.hue=b._color.h(),b.options.hide&&b.picker.hide(),b.options.border&&b.picker.addClass("iris-border"),b._initControls(),b.active="external",b._dimensions(),b._change()},_has:function(b,c){var d=!1;return a.each(c,function(a,c){return b===c?(d=!0,!1):void 0}),d},_addPalettes:function(){var b=a('<div class="iris-palette-container" />'),c=a('<a class="iris-palette" tabindex="0" />'),d=a.isArray(this.options.palettes)?this.options.palettes:this._palettes;this.picker.find(".iris-palette-container").length&&(b=this.picker.find(".iris-palette-container").detach().html("")),a.each(d,function(a,d){c.clone().data("color",d).css("backgroundColor",d).appendTo(b).height(10).width(10)}),this.picker.append(b)},_paint:function(){var a=this;a._paintDimension("top","strip"),a._paintDimension("top","vert"),a._paintDimension("left","horiz")},_paintDimension:function(a,b){var c,d=this,e=d._color,f=d.options.mode,g=d._getHSpaceColor(),h=d.controls[b],i=d.options.controls;if(b!==d.active&&("square"!==d.active||"strip"===b))switch(i[b]){case"h":if("hsv"===f){switch(g=e.clone(),b){case"horiz":g[i.vert](100);break;case"vert":g[i.horiz](100);break;case"strip":g.setHSpace("hsl")}c=g.toHsl()}else c="strip"===b?{s:g.s,l:g.l}:{s:100,l:g.l};h.factoryBootstrap422_raninbowGradient(a,c);break;case"s":"hsv"===f?"vert"===b?c=[e.clone().a(0).s(0).toCSS("rgba"),e.clone().a(1).s(0).toCSS("rgba")]:"strip"===b?c=[e.clone().s(100).toCSS("hsl"),e.clone().s(0).toCSS("hsl")]:"horiz"===b&&(c=["#fff","hsl("+g.h+",100%,50%)"]):c="vert"===b&&"h"===d.options.controls.horiz?["hsla(0, 0%, "+g.l+"%, 0)","hsla(0, 0%, "+g.l+"%, 1)"]:["hsl("+g.h+",0%,50%)","hsl("+g.h+",100%,50%)"],h.factoryBootstrap422_gradient(a,c);break;case"l":c="strip"===b?["hsl("+g.h+",100%,100%)","hsl("+g.h+", "+g.s+"%,50%)","hsl("+g.h+",100%,0%)"]:["#fff","rgba(255,255,255,0) 50%","rgba(0,0,0,0) 50%","rgba(0,0,0,1)"],h.factoryBootstrap422_gradient(a,c);break;case"v":c="strip"===b?[e.clone().v(100).toCSS(),e.clone().v(0).toCSS()]:["rgba(0,0,0,0)","#000"],h.factoryBootstrap422_gradient(a,c)}},_getHSpaceColor:function(){return"hsv"===this.options.mode?this._color.toHsv():this._color.toHsl()},_dimensions:function(b){var c,d,e,f,g=this,h=g.options,i=g.controls,j=i.square,k=g.picker.find(".iris-strip"),l="77.5%",m="12%",n=20,o=h.border?h.width-n:h.width,p=a.isArray(h.palettes)?h.palettes.length:g._palettes.length;return b&&(j.css("width",""),k.css("width",""),g.picker.css({width:"",height:""})),l=o*(parseFloat(l)/100),m=o*(parseFloat(m)/100),c=h.border?l+n:l,j.width(l).height(l),k.height(l).width(m),g.picker.css({width:h.width,height:c}),h.palettes?(d=2*l/100,f=l-(p-1)*d,e=f/p,g.picker.find(".iris-palette").each(function(b){var c=0===b?0:d;a(this).css({width:e,height:e,marginLeft:c})}),g.picker.css("paddingBottom",e+d),void k.height(e+d+l)):g.picker.css("paddingBottom","")},_addInputListeners:function(a){var b=this,c=100,d=function(c){var d=new Color(a.val()),e=a.val().replace(/^#/,"");a.removeClass("iris-error"),d.error?""!==e&&a.addClass("iris-error"):d.toString()!==b._color.toString()&&("keyup"===c.type&&e.match(/^[0-9a-fA-F]{3}$/)||b._setOption("color",d.toString()))};a.on("change",d).on("keyup",b._debounce(d,c)),b.options.hide&&a.one("focus",function(){b.show()})},_initControls:function(){var b=this,c=b.controls,d=c.square,e=b.options.controls,f=b._scale[e.strip];c.stripSlider.slider({orientation:"vertical",max:f,slide:function(a,c){b.active="strip","h"===e.strip&&(c.value=f-c.value),b._color[e.strip](c.value),b._change.apply(b,arguments)}}),c.squareDrag.draggable({containment:"parent",zIndex:1e3,cursor:"move",drag:function(a,c){b._squareDrag(a,c)},start:function(){d.addClass("iris-dragging"),a(this).addClass("ui-state-focus")},stop:function(){d.removeClass("iris-dragging"),a(this).removeClass("ui-state-focus")}}).on("mousedown mouseup",function(c){var d="ui-state-focus";c.preventDefault(),"mousedown"===c.type?(b.picker.find("."+d).removeClass(d).blur(),a(this).addClass(d).focus()):a(this).removeClass(d)}).on("keydown",function(a){var d=c.square,e=c.squareDrag,f=e.position(),g=b.options.width/100;switch(a.altKey&&(g*=10),a.keyCode){case 37:f.left-=g;break;case 38:f.top-=g;break;case 39:f.left+=g;break;case 40:f.top+=g;break;default:return!0}f.left=Math.max(0,Math.min(f.left,d.width())),f.top=Math.max(0,Math.min(f.top,d.height())),e.css(f),b._squareDrag(a,{position:f}),a.preventDefault()}),d.mousedown(function(c){var d,e;1===c.which&&a(c.target).is("div")&&(d=b.controls.square.offset(),e={top:c.pageY-d.top,left:c.pageX-d.left},c.preventDefault(),b._squareDrag(c,{position:e}),c.target=b.controls.squareDrag.get(0),b.controls.squareDrag.css(e).trigger(c))}),b.options.palettes&&b._paletteListeners()},_paletteListeners:function(){var b=this;b.picker.find(".iris-palette-container").on("click.palette",".iris-palette",function(){b._color.fromCSS(a(this).data("color")),b.active="external",b._change()}).on("keydown.palette",".iris-palette",function(b){return 13!==b.keyCode&&32!==b.keyCode?!0:(b.stopPropagation(),void a(this).click())})},_squareDrag:function(a,b){var c=this,d=c.options.controls,e=c._squareDimensions(),f=Math.round((e.h-b.position.top)/e.h*c._scale[d.vert]),g=c._scale[d.horiz]-Math.round((e.w-b.position.left)/e.w*c._scale[d.horiz]);c._color[d.horiz](g)[d.vert](f),c.active="square",c._change.apply(c,arguments)},_setOption:function(b,c){var d,e,f,g=this,h=g.options[b],i=!1;switch(g.options[b]=c,b){case"color":c=""+c,d=c.replace(/^#/,""),e=new Color(c).setHSpace(g.options.mode),e.error?g.options[b]=h:(g._color=e,g.options.color=g.options[b]=g._color.toString(),g.active="external",g._change());break;case"palettes":i=!0,c?g._addPalettes():g.picker.find(".iris-palette-container").remove(),h||g._paletteListeners();break;case"width":i=!0;break;case"border":i=!0,f=c?"addClass":"removeClass",g.picker[f]("iris-border");break;case"mode":case"controls":if(h===c)return;return f=g.element,h=g.options,h.hide=!g.picker.is(":visible"),g.destroy(),g.picker.remove(),a(g.element).iris(h)}i&&g._dimensions(!0)},_squareDimensions:function(a){var c,d,e=this.controls.square;return a!==b&&e.data("dimensions")?e.data("dimensions"):(d=this.controls.squareDrag,c={w:e.width(),h:e.height()},e.data("dimensions",c),c)},_isNonHueControl:function(a,b){return"square"===a&&"h"===this.options.controls.strip?!0:"external"===b||"h"===b&&"strip"===a?!1:!0},_change:function(){var b=this,c=b.controls,d=b._getHSpaceColor(),e=["square","strip"],f=b.options.controls,g=f[b.active]||"external",h=b.hue;"strip"===b.active?e=[]:"external"!==b.active&&e.pop(),a.each(e,function(a,e){var g,h,i;if(e!==b.active)switch(e){case"strip":g="h"===f.strip?b._scale[f.strip]-d[f.strip]:d[f.strip],c.stripSlider.slider("value",g);break;case"square":h=b._squareDimensions(),i={left:d[f.horiz]/b._scale[f.horiz]*h.w,top:h.h-d[f.vert]/b._scale[f.vert]*h.h},b.controls.squareDrag.css(i)}}),d.h!==h&&b._isNonHueControl(b.active,g)&&b._color.h(h),b.hue=b._color.h(),b.options.color=b._color.toString(),b._inited&&b._trigger("change",{type:b.active},{color:b._color}),b.element.is(":input")&&!b._color.error&&(b.element.removeClass("iris-error"),b.element.val()!==b._color.toString()&&b.element.val(b._color.toString())),b._paint(),b._inited=!0,b.active=!1},_debounce:function(a,b,c){var d,e;return function(){var f,g,h=this,i=arguments;return f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},show:function(){this.picker.show()},hide:function(){this.picker.hide()},toggle:function(){this.picker.toggle()},color:function(a){return a===!0?this._color.clone():a===b?this._color.toString():void this.option("color",a)}},a.widget("a8c.factoryBootstrap422_iris",n),void a('<style id="iris-css">'+m+"</style>").appendTo("head"))}(jQuery);
libs/factory/bootstrap/assets/js-min/plugin.moment-with-locales.min.js ADDED
@@ -0,0 +1,526 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return ze.apply(null,arguments)}function b(a){ze=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(a).length;var b;for(b in a)if(a.hasOwnProperty(b))return!1;return!0}function f(a){return void 0===a}function g(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function h(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function i(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){for(var c in b)j(b,c)&&(a[c]=b[c]);return j(b,"toString")&&(a.toString=b.toString),j(b,"valueOf")&&(a.valueOf=b.valueOf),a}function l(a,b,c,d){return yb(a,b,c,d,!0).utc()}function m(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function n(a){return null==a._pf&&(a._pf=m()),a._pf}function o(a){if(null==a._isValid){var b=n(a),c=Ae.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.weekdayMismatch&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function p(a){var b=l(NaN);return null!=a?k(n(b),a):n(b).userInvalidated=!0,b}function q(a,b){var c,d,e;if(f(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),f(b._i)||(a._i=b._i),f(b._f)||(a._f=b._f),f(b._l)||(a._l=b._l),f(b._strict)||(a._strict=b._strict),f(b._tzm)||(a._tzm=b._tzm),f(b._isUTC)||(a._isUTC=b._isUTC),f(b._offset)||(a._offset=b._offset),f(b._pf)||(a._pf=n(b)),f(b._locale)||(a._locale=b._locale),Be.length>0)for(c=0;c<Be.length;c++)d=Be[c],e=b[d],f(e)||(a[d]=e);return a}function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),Ce===!1&&(Ce=!0,a.updateOffset(this),Ce=!1)}function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}function t(a){return 0>a?Math.ceil(a)||0:Math.floor(a)}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}function v(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&&u(a[d])!==u(b[d]))&&g++;return g+f}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function x(b,c){var d=!0;return k(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),De[b]||(w(c),De[b]=!0)}function z(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;this._config=a,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function B(a,b){var c,e=k({},a);for(c in b)j(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},k(e[c],a[c]),k(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)j(a,c)&&!j(b,c)&&d(a[c])&&(e[c]=k({},e[c]));return e}function C(a){null!=a&&this.set(a)}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function F(){return this._invalidDate}function G(a){return this._ordinal.replace("%d",a)}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a)}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Le[c]=Le[c+"s"]=Le[b]=a}function K(a){return"string"==typeof a?Le[a]||Le[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Me[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Me[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function P(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Qe[a]=e),b&&(Qe[b[0]]=function(){return O(e.apply(this,arguments),b[1],b[2])}),c&&(Qe[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function Q(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function R(a){var b,c,d=a.match(Ne);for(b=0,c=d.length;c>b;b++)Qe[d[b]]?d[b]=Qe[d[b]]:d[b]=Q(d[b]);return function(b){var e,f="";for(e=0;c>e;e++)f+=z(d[e])?d[e].call(b,a):d[e];return f}}function S(a,b){return a.isValid()?(b=T(b,a.localeData()),Pe[b]=Pe[b]||R(b),Pe[b](a)):a.localeData().invalidDate()}function T(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Oe.lastIndex=0;d>=0&&Oe.test(a);)a=a.replace(Oe,c),Oe.lastIndex=0,d-=1;return a}function U(a,b,c){gf[a]=z(b)?b:function(a,d){return a&&c?c:b}}function V(a,b){return j(gf,a)?gf[a](b._strict,b._locale):new RegExp(W(a))}function W(a){return X(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function X(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Y(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c<a.length;c++)hf[a[c]]=d}function Z(a,b){Y(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function $(a,b,c){null!=b&&j(hf,a)&&hf[a](b,c._a,c,a)}function _(a){return aa(a)?366:365}function aa(a){return a%4===0&&a%100!==0||a%400===0}function ba(){return aa(this.year())}function ca(b,c){return function(d){return null!=d?(ea(this,b,d),a.updateOffset(this,c),this):da(this,b)}}function da(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function ea(a,b,c){a.isValid()&&!isNaN(c)&&("FullYear"===b&&aa(a.year())&&1===a.month()&&29===a.date()?a._d["set"+(a._isUTC?"UTC":"")+b](c,a.month(),ia(c,a.month())):a._d["set"+(a._isUTC?"UTC":"")+b](c))}function fa(a){return a=K(a),z(this[a])?this[a]():this}function ga(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=K(a),z(this[a]))return this[a](b);return this}function ha(a,b){return(a%b+b)%b}function ia(a,b){if(isNaN(a)||isNaN(b))return NaN;var c=ha(b,12);return a+=(b-c)/12,1===c?aa(a)?29:28:31-c%7%2}function ja(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||uf).test(b)?"format":"standalone"][a.month()]:c(this._months)?this._months:this._months.standalone}function ka(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[uf.test(b)?"format":"standalone"][a.month()]:c(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function la(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;12>d;++d)f=l([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=sf.call(this._shortMonthsParse,g),-1!==e?e:null):(e=sf.call(this._longMonthsParse,g),-1!==e?e:null):"MMM"===b?(e=sf.call(this._shortMonthsParse,g),-1!==e?e:(e=sf.call(this._longMonthsParse,g),-1!==e?e:null)):(e=sf.call(this._longMonthsParse,g),-1!==e?e:(e=sf.call(this._shortMonthsParse,g),-1!==e?e:null))}function ma(a,b,c){var d,e,f;if(this._monthsParseExact)return la.call(this,a,b,c);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;12>d;d++){if(e=l([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}}function na(a,b){var c;if(!a.isValid())return a;if("string"==typeof b)if(/^\d+$/.test(b))b=u(b);else if(b=a.localeData().monthsParse(b),!g(b))return a;return c=Math.min(a.date(),ia(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function oa(b){return null!=b?(na(this,b),a.updateOffset(this,!0),this):da(this,"Month")}function pa(){return ia(this.year(),this.month())}function qa(a){return this._monthsParseExact?(j(this,"_monthsRegex")||sa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(j(this,"_monthsShortRegex")||(this._monthsShortRegex=xf),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function ra(a){return this._monthsParseExact?(j(this,"_monthsRegex")||sa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(j(this,"_monthsRegex")||(this._monthsRegex=yf),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function sa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;12>b;b++)c=l([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;12>b;b++)d[b]=X(d[b]),e[b]=X(e[b]);for(b=0;24>b;b++)f[b]=X(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}function ta(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 100>a&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ua(a){var b=new Date(Date.UTC.apply(null,arguments));return 100>a&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function va(a,b,c){var d=7+b-c,e=(7+ua(a,0,d).getUTCDay()-b)%7;return-e+d-1}function wa(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=va(a,d,e),j=1+7*(b-1)+h+i;return 0>=j?(f=a-1,g=_(f)+j):j>_(a)?(f=a+1,g=j-_(a)):(f=a,g=j),{year:f,dayOfYear:g}}function xa(a,b,c){var d,e,f=va(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return 1>g?(e=a.year()-1,d=g+ya(e,b,c)):g>ya(a.year(),b,c)?(d=g-ya(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function ya(a,b,c){var d=va(a,b,c),e=va(a+1,b,c);return(_(a)-d+e)/7}function za(a){return xa(a,this._week.dow,this._week.doy).week}function Aa(){return this._week.dow}function Ba(){return this._week.doy}function Ca(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Da(a){var b=xa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Ea(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Fa(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Ga(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ha(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ia(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ja(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;7>d;++d)f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=sf.call(this._weekdaysParse,g),-1!==e?e:null):"ddd"===b?(e=sf.call(this._shortWeekdaysParse,g),-1!==e?e:null):(e=sf.call(this._minWeekdaysParse,g),-1!==e?e:null):"dddd"===b?(e=sf.call(this._weekdaysParse,g),-1!==e?e:(e=sf.call(this._shortWeekdaysParse,g),-1!==e?e:(e=sf.call(this._minWeekdaysParse,g),-1!==e?e:null))):"ddd"===b?(e=sf.call(this._shortWeekdaysParse,g),-1!==e?e:(e=sf.call(this._weekdaysParse,g),-1!==e?e:(e=sf.call(this._minWeekdaysParse,g),-1!==e?e:null))):(e=sf.call(this._minWeekdaysParse,g),-1!==e?e:(e=sf.call(this._weekdaysParse,g),-1!==e?e:(e=sf.call(this._shortWeekdaysParse,g),-1!==e?e:null)))}function Ka(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ja.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;7>d;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Ea(a,this.localeData()),this.add(a-b,"d")):b}function Ma(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Na(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Fa(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Ra.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=Df),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Ra.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ef),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Qa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Ra.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ff),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Ra(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;7>b;b++)c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;7>b;b++)h[b]=X(h[b]),i[b]=X(i[b]),j[b]=X(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Sa(){return this.hours()%12||12}function Ta(){return this.hours()||24}function Ua(a,b){P(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Va(a,b){return b._meridiemParse}function Wa(a){return"p"===(a+"").toLowerCase().charAt(0)}function Xa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Ya(a){return a?a.toLowerCase().replace("_","-"):a}function Za(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Ya(a[f]).split("-"),b=e.length,c=Ya(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=$a(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function $a(a){var b=null;if(!Kf[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Gf._abbr;var c=require;c("./locale/"+a),_a(b)}catch(d){}return Kf[a]}function _a(a,b){var c;return a&&(c=f(b)?cb(a):ab(a,b),c&&(Gf=c)),Gf._abbr}function ab(a,b){if(null!==b){var c=Jf;if(b.abbr=a,null!=Kf[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Kf[a]._config;else if(null!=b.parentLocale){if(null==Kf[b.parentLocale])return Lf[b.parentLocale]||(Lf[b.parentLocale]=[]),Lf[b.parentLocale].push({name:a,config:b}),null;c=Kf[b.parentLocale]._config}return Kf[a]=new C(B(c,b)),Lf[a]&&Lf[a].forEach(function(a){ab(a.name,a.config)}),_a(a),Kf[a]}return delete Kf[a],null}function bb(a,b){if(null!=b){var c,d,e=Jf;d=$a(a),null!=d&&(e=d._config),b=B(e,b),c=new C(b),c.parentLocale=Kf[a],Kf[a]=c,_a(a)}else null!=Kf[a]&&(null!=Kf[a].parentLocale?Kf[a]=Kf[a].parentLocale:null!=Kf[a]&&delete Kf[a]);return Kf[a]}function cb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Gf;if(!c(a)){if(b=$a(a))return b;a=[a]}return Za(a)}function db(){return Ee(Kf)}function eb(a){var b,c=a._a;return c&&-2===n(a).overflow&&(b=c[kf]<0||c[kf]>11?kf:c[lf]<1||c[lf]>ia(c[jf],c[kf])?lf:c[mf]<0||c[mf]>24||24===c[mf]&&(0!==c[nf]||0!==c[of]||0!==c[pf])?mf:c[nf]<0||c[nf]>59?nf:c[of]<0||c[of]>59?of:c[pf]<0||c[pf]>999?pf:-1,n(a)._overflowDayOfYear&&(jf>b||b>lf)&&(b=lf),n(a)._overflowWeeks&&-1===b&&(b=qf),n(a)._overflowWeekday&&-1===b&&(b=rf),n(a).overflow=b),a}function fb(a,b,c){return null!=a?a:null!=b?b:c}function gb(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function hb(a){var b,c,d,e,f=[];if(!a._d){for(d=gb(a),a._w&&null==a._a[lf]&&null==a._a[kf]&&ib(a),null!=a._dayOfYear&&(e=fb(a._a[jf],d[jf]),(a._dayOfYear>_(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ua(e,0,a._dayOfYear),a._a[kf]=c.getUTCMonth(),a._a[lf]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[mf]&&0===a._a[nf]&&0===a._a[of]&&0===a._a[pf]&&(a._nextDay=!0,a._a[mf]=0),a._d=(a._useUTC?ua:ta).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[mf]=24),a._w&&"undefined"!=typeof a._w.d&&a._w.d!==a._d.getDay()&&(n(a).weekdayMismatch=!0)}}function ib(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=fb(b.GG,a._a[jf],xa(zb(),1,4).year),d=fb(b.W,1),e=fb(b.E,1),(1>e||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=xa(zb(),f,g);c=fb(b.gg,a._a[jf],j.year),d=fb(b.w,j.week),null!=b.d?(e=b.d,(0>e||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}1>d||d>ya(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=wa(c,d,e,f,g),a._a[jf]=h.year,a._dayOfYear=h.dayOfYear)}function jb(a){var b,c,d,e,f,g,h=a._i,i=Mf.exec(h)||Nf.exec(h);if(i){for(n(a).iso=!0,b=0,c=Pf.length;c>b;b++)if(Pf[b][1].exec(i[1])){e=Pf[b][0],d=Pf[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Qf.length;c>b;b++)if(Qf[b][1].exec(i[3])){f=(i[2]||" ")+Qf[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Of.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),rb(a)}else a._isValid=!1}function kb(a,b,c,d,e,f){var g=[lb(a),wf.indexOf(b),parseInt(c,10),parseInt(d,10),parseInt(e,10)];return f&&g.push(parseInt(f,10)),g}function lb(a){var b=parseInt(a,10);return 49>=b?2e3+b:999>=b?1900+b:b}function mb(a){return a.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}function nb(a,b,c){if(a){var d=Bf.indexOf(a),e=new Date(b[0],b[1],b[2]).getDay();if(d!==e)return n(c).weekdayMismatch=!0,c._isValid=!1,!1}return!0}function ob(a,b,c){if(a)return Tf[a];if(b)return 0;var d=parseInt(c,10),e=d%100,f=(d-e)/100;return 60*f+e}function pb(a){var b=Sf.exec(mb(a._i));if(b){var c=kb(b[4],b[3],b[2],b[5],b[6],b[7]);if(!nb(b[1],c,a))return;a._a=c,a._tzm=ob(b[8],b[9],b[10]),a._d=ua.apply(null,a._a),a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),n(a).rfc2822=!0}else a._isValid=!1}function qb(b){var c=Rf.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(jb(b),void(b._isValid===!1&&(delete b._isValid,pb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))))}function rb(b){if(b._f===a.ISO_8601)return void jb(b);if(b._f===a.RFC_2822)return void pb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=T(b._f,b._locale).match(Ne)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(V(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Qe[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),$(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[mf]<=12&&n(b).bigHour===!0&&b._a[mf]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[mf]=sb(b._locale,b._a[mf],b._meridiem),hb(b),eb(b)}function sb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function tb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=q({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],rb(b),o(b)&&(f+=n(b).charsLeftOver,f+=10*n(b).unusedTokens.length,n(b).score=f,(null==d||d>f)&&(d=f,c=b));k(a,c||b)}function ub(a){if(!a._d){var b=L(a._i);a._a=i([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),hb(a)}}function vb(a){var b=new r(eb(wb(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function wb(a){var b=a._i,d=a._f;return a._locale=a._locale||cb(a._l),null===b||void 0===d&&""===b?p({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),s(b)?new r(eb(b)):(h(b)?a._d=b:c(d)?tb(a):d?rb(a):xb(a),o(a)||(a._d=null),a))}function xb(b){var e=b._i;f(e)?b._d=new Date(a.now()):h(e)?b._d=new Date(e.valueOf()):"string"==typeof e?qb(b):c(e)?(b._a=i(e.slice(0),function(a){return parseInt(a,10)}),hb(b)):d(e)?ub(b):g(e)?b._d=new Date(e):a.createFromInputFallback(b)}function yb(a,b,f,g,h){var i={};return(f===!0||f===!1)&&(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,vb(i)}function zb(a,b,c,d){return yb(a,b,c,d,!1)}function Ab(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return zb();for(d=b[0],e=1;e<b.length;++e)(!b[e].isValid()||b[e][a](d))&&(d=b[e]);return d}function Bb(){var a=[].slice.call(arguments,0);return Ab("isBefore",a)}function Cb(){var a=[].slice.call(arguments,0);return Ab("isAfter",a)}function Db(a){for(var b in a)if(-1===sf.call(Xf,b)||null!=a[b]&&isNaN(a[b]))return!1;for(var c=!1,d=0;d<Xf.length;++d)if(a[Xf[d]]){if(c)return!1;parseFloat(a[Xf[d]])!==u(a[Xf[d]])&&(c=!0)}return!0}function Eb(){return this._isValid}function Fb(){return Yb(NaN)}function Gb(a){var b=L(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._isValid=Db(b),this._milliseconds=+k+1e3*j+6e4*i+1e3*h*60*60,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=cb(),this._bubble()}function Hb(a){return a instanceof Gb}function Ib(a){return 0>a?-1*Math.round(-1*a):Math.round(a)}function Jb(a,b){P(a,0,0,function(){var a=this.utcOffset(),c="+";return 0>a&&(a=-a,c="-"),c+O(~~(a/60),2)+b+O(~~a%60,2)})}function Kb(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Yf)||["-",0,0],f=+(60*e[1])+u(e[2]);return 0===f?0:"+"===e[0]?f:-f}function Lb(b,c){var d,e;return c._isUTC?(d=c.clone(),e=(s(b)||h(b)?b.valueOf():zb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):zb(b).local()}function Mb(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Nb(b,c,d){var e,f=this._offset||0;if(!this.isValid())return null!=b?this:NaN;if(null!=b){if("string"==typeof b){if(b=Kb(df,b),null===b)return this}else Math.abs(b)<16&&!d&&(b=60*b);return!this._isUTC&&c&&(e=Mb(this)),this._offset=b,this._isUTC=!0,null!=e&&this.add(e,"m"),f!==b&&(!c||this._changeInProgress?bc(this,Yb(b-f,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?f:Mb(this)}function Ob(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Pb(a){return this.utcOffset(0,a)}function Qb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Mb(this),"m")),this}function Rb(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var a=Kb(cf,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this}function Sb(a){return this.isValid()?(a=a?zb(a).utcOffset():0,(this.utcOffset()-a)%60===0):!1}function Tb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ub(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=wb(a),a._a){var b=a._isUTC?l(a._a):zb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Vb(){return this.isValid()?!this._isUTC:!1}function Wb(){return this.isValid()?this._isUTC:!1}function Xb(){return this.isValid()?this._isUTC&&0===this._offset:!1}function Yb(a,b){var c,d,e,f=a,h=null;return Hb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Zf.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[lf])*c,h:u(h[mf])*c,m:u(h[nf])*c,s:u(h[of])*c,ms:u(Ib(1e3*h[pf]))*c}):(h=$f.exec(a))?(c="-"===h[1]?-1:("+"===h[1],1),f={y:Zb(h[2],c),M:Zb(h[3],c),w:Zb(h[4],c),d:Zb(h[5],c),h:Zb(h[6],c),m:Zb(h[7],c),s:Zb(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=_b(zb(f.from),zb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Gb(f),Hb(a)&&j(a,"_locale")&&(d._locale=a._locale),d}function Zb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function $b(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 _b(a,b){var c;return a.isValid()&&b.isValid()?(b=Lb(b,a),a.isBefore(b)?c=$b(a,b):(c=$b(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function ac(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Yb(c,d),bc(this,e,a),this}}function bc(b,c,d,e){var f=c._milliseconds,g=Ib(c._days),h=Ib(c._months);b.isValid()&&(e=null==e?!0:e,h&&na(b,da(b,"Month")+h*d),g&&ea(b,"Date",da(b,"Date")+g*d),f&&b._d.setTime(b._d.valueOf()+f*d),e&&a.updateOffset(b,g||h))}function cc(a,b){var c=a.diff(b,"days",!0);return-6>c?"sameElse":-1>c?"lastWeek":0>c?"lastDay":1>c?"sameDay":2>c?"nextDay":7>c?"nextWeek":"sameElse"}function dc(b,c){var d=b||zb(),e=Lb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,zb(d)))}function ec(){return new r(this)}function fc(a,b){var c=s(a)?a:zb(a);return this.isValid()&&c.isValid()?(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf()):!1}function gc(a,b){var c=s(a)?a:zb(a);return this.isValid()&&c.isValid()?(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf()):!1}function hc(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function ic(a,b){var c,d=s(a)?a:zb(a);return this.isValid()&&d.isValid()?(b=K(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf())):!1}function jc(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function kc(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function lc(a,b,c){var d,e,f;if(!this.isValid())return NaN;if(d=Lb(a,this),!d.isValid())return NaN;switch(e=6e4*(d.utcOffset()-this.utcOffset()),b=K(b)){case"year":f=mc(this,d)/12;break;case"month":f=mc(this,d);break;case"quarter":f=mc(this,d)/3;break;case"second":f=(this-d)/1e3;break;case"minute":f=(this-d)/6e4;break;case"hour":f=(this-d)/36e5;break;case"day":f=(this-d-e)/864e5;break;case"week":f=(this-d-e)/6048e5;break;default:f=this-d}return c?f:t(f)}function mc(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return 0>b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function nc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function oc(){if(!this.isValid())return null;var a=this.clone().utc();return a.year()<0||a.year()>9999?S(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():S(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function pc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function qc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=S(this,b);return this.localeData().postformat(c)}function rc(a,b){return this.isValid()&&(s(a)&&a.isValid()||zb(a).isValid())?Yb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function sc(a){return this.from(zb(),a)}function tc(a,b){return this.isValid()&&(s(a)&&a.isValid()||zb(a).isValid())?Yb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function uc(a){return this.to(zb(),a)}function vc(a){var b;return void 0===a?this._locale._abbr:(b=cb(a),null!=b&&(this._locale=b),this)}function wc(){return this._locale}function xc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":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}function yc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function zc(){return this._d.valueOf()-6e4*(this._offset||0)}function Ac(){
11
+ return Math.floor(this.valueOf()/1e3)}function Bc(){return new Date(this.valueOf())}function Cc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function Dc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function Ec(){return this.isValid()?this.toISOString():null}function Fc(){return o(this)}function Gc(){return k({},n(this))}function Hc(){return n(this).overflow}function Ic(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Jc(a,b){P(0,[a,a.length],0,b)}function Kc(a){return Oc.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Lc(a){return Oc.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Mc(){return ya(this.year(),1,4)}function Nc(){var a=this.localeData()._week;return ya(this.year(),a.dow,a.doy)}function Oc(a,b,c,d,e){var f;return null==a?xa(this,d,e).year:(f=ya(a,d,e),b>f&&(b=f),Pc.call(this,a,b,c,d,e))}function Pc(a,b,c,d,e){var f=wa(a,b,c,d,e),g=ua(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Qc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Rc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Sc(a,b){b[pf]=u(1e3*("0."+a))}function Tc(){return this._isUTC?"UTC":""}function Uc(){return this._isUTC?"Coordinated Universal Time":""}function Vc(a){return zb(1e3*a)}function Wc(){return zb.apply(null,arguments).parseZone()}function Xc(a){return a}function Yc(a,b,c,d){var e=cb(),f=l().set(d,b);return e[c](f,a)}function Zc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Yc(a,b,c,"month");var d,e=[];for(d=0;12>d;d++)e[d]=Yc(a,d,c,"month");return e}function $c(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=cb(),f=a?e._week.dow:0;if(null!=c)return Yc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;7>h;h++)i[h]=Yc(b,(h+f)%7,d,"day");return i}function _c(a,b){return Zc(a,b,"months")}function ad(a,b){return Zc(a,b,"monthsShort")}function bd(a,b,c){return $c(a,b,c,"weekdays")}function cd(a,b,c){return $c(a,b,c,"weekdaysShort")}function dd(a,b,c){return $c(a,b,c,"weekdaysMin")}function ed(){var a=this._data;return this._milliseconds=jg(this._milliseconds),this._days=jg(this._days),this._months=jg(this._months),a.milliseconds=jg(a.milliseconds),a.seconds=jg(a.seconds),a.minutes=jg(a.minutes),a.hours=jg(a.hours),a.months=jg(a.months),a.years=jg(a.years),this}function fd(a,b,c,d){var e=Yb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function gd(a,b){return fd(this,a,b,1)}function hd(a,b){return fd(this,a,b,-1)}function id(a){return 0>a?Math.floor(a):Math.ceil(a)}function jd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>=h||(f+=864e5*id(ld(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(kd(g)),h+=e,g-=id(ld(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function kd(a){return 4800*a/146097}function ld(a){return 146097*a/4800}function md(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+kd(b),"month"===a?c:c/12;switch(b=this._days+Math.round(ld(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function nd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN}function od(a){return function(){return this.as(a)}}function pd(){return Yb(this)}function qd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}function rd(a){return function(){return this.isValid()?this._data[a]:NaN}}function sd(){return t(this.days()/7)}function td(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function ud(a,b,c){var d=Yb(a).abs(),e=zg(d.as("s")),f=zg(d.as("m")),g=zg(d.as("h")),h=zg(d.as("d")),i=zg(d.as("M")),j=zg(d.as("y")),k=e<=Ag.ss&&["s",e]||e<Ag.s&&["ss",e]||1>=f&&["m"]||f<Ag.m&&["mm",f]||1>=g&&["h"]||g<Ag.h&&["hh",g]||1>=h&&["d"]||h<Ag.d&&["dd",h]||1>=i&&["M"]||i<Ag.M&&["MM",i]||1>=j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,td.apply(null,k)}function vd(a){return void 0===a?zg:"function"==typeof a?(zg=a,!0):!1}function wd(a,b){return void 0===Ag[a]?!1:void 0===b?Ag[a]:(Ag[a]=b,"s"===a&&(Ag.ss=b-1),!0)}function xd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=ud(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function yd(a){return(a>0)-(0>a)||+a}function zd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=Bg(this._milliseconds)/1e3,e=Bg(this._days),f=Bg(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d?d.toFixed(3).replace(/\.?0+$/,""):"",m=this.asSeconds();if(!m)return"P0D";var n=0>m?"-":"",o=yd(this._months)!==yd(m)?"-":"",p=yd(this._days)!==yd(m)?"-":"",q=yd(this._milliseconds)!==yd(m)?"-":"";return n+"P"+(g?o+g+"Y":"")+(h?o+h+"M":"")+(i?p+i+"D":"")+(j||k||l?"T":"")+(j?q+j+"H":"")+(k?q+k+"M":"")+(l?q+l+"S":"")}
12
+ //! moment.js locale configuration
13
+ //! locale : Belarusian [be]
14
+ //! author : Dmitry Demidov : https://github.com/demidov91
15
+ //! author: Praleska: http://praleska.pro/
16
+ //! Author : Menelion Elensúle : https://github.com/Oire
17
+ function Ad(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 Bd(a,b,c){var d={mm:b?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:b?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===c?b?"хвіліна":"хвіліну":"h"===c?b?"гадзіна":"гадзіну":a+" "+Ad(d[c],+a)}
18
+ //! moment.js locale configuration
19
+ //! locale : Breton [br]
20
+ //! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
21
+ function Cd(a,b,c){var d={mm:"munutenn",MM:"miz",dd:"devezh"};return a+" "+Fd(d[c],a)}function Dd(a){switch(Ed(a)){case 1:case 3:case 4:case 5:case 9:return a+" bloaz";default:return a+" vloaz"}}function Ed(a){return a>9?Ed(a%10):a}function Fd(a,b){return 2===b?Gd(a):a}function Gd(a){var b={m:"v",b:"v",d:"z"};return void 0===b[a.charAt(0)]?a:b[a.charAt(0)]+a.substring(1)}
22
+ //! moment.js locale configuration
23
+ //! locale : Bosnian [bs]
24
+ //! author : Nedim Cholich : https://github.com/frontyard
25
+ //! based on (hr) translation by Bojan Marković
26
+ function Hd(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"}}function Id(a){return a>1&&5>a&&1!==~~(a/10)}function Jd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"pár sekund":"pár sekundami";case"m":return b?"minuta":d?"minutu":"minutou";case"mm":return b||d?e+(Id(a)?"minuty":"minut"):e+"minutami";case"h":return b?"hodina":d?"hodinu":"hodinou";case"hh":return b||d?e+(Id(a)?"hodiny":"hodin"):e+"hodinami";case"d":return b||d?"den":"dnem";case"dd":return b||d?e+(Id(a)?"dny":"dní"):e+"dny";case"M":return b||d?"měsíc":"měsícem";case"MM":return b||d?e+(Id(a)?"měsíce":"měsíců"):e+"měsíci";case"y":return b||d?"rok":"rokem";case"yy":return b||d?e+(Id(a)?"roky":"let"):e+"lety"}}
27
+ //! moment.js locale configuration
28
+ //! locale : German (Austria) [de-at]
29
+ //! author : lluchs : https://github.com/lluchs
30
+ //! author: Menelion Elensúle: https://github.com/Oire
31
+ //! author : Martin Groller : https://github.com/MadMG
32
+ //! author : Mikolaj Dadela : https://github.com/mik01aj
33
+ function Kd(a,b,c,d){var e={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?e[c][0]:e[c][1]}
34
+ //! moment.js locale configuration
35
+ //! locale : German (Switzerland) [de-ch]
36
+ //! author : sschueller : https://github.com/sschueller
37
+ function Ld(a,b,c,d){var e={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?e[c][0]:e[c][1]}
38
+ //! moment.js locale configuration
39
+ //! locale : German [de]
40
+ //! author : lluchs : https://github.com/lluchs
41
+ //! author: Menelion Elensúle: https://github.com/Oire
42
+ //! author : Mikolaj Dadela : https://github.com/mik01aj
43
+ function Md(a,b,c,d){var e={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?e[c][0]:e[c][1]}
44
+ //! moment.js locale configuration
45
+ //! locale : Estonian [et]
46
+ //! author : Henry Kehlmann : https://github.com/madhenry
47
+ //! improvements : Illimar Tambek : https://github.com/ragulka
48
+ function Nd(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]}function Od(a,b,c,d){var e="";switch(c){case"s":return d?"muutaman sekunnin":"muutama sekunti";case"m":return d?"minuutin":"minuutti";case"mm":e=d?"minuutin":"minuuttia";break;case"h":return d?"tunnin":"tunti";case"hh":e=d?"tunnin":"tuntia";break;case"d":return d?"päivän":"päivä";case"dd":e=d?"päivän":"päivää";break;case"M":return d?"kuukauden":"kuukausi";case"MM":e=d?"kuukauden":"kuukautta";break;case"y":return d?"vuoden":"vuosi";case"yy":e=d?"vuoden":"vuotta"}return e=Pd(a,d)+" "+e}function Pd(a,b){return 10>a?b?kh[a]:jh[a]:a}
49
+ //! moment.js locale configuration
50
+ //! locale : Konkani Latin script [gom-latn]
51
+ //! author : The Discoverer : https://github.com/WikiDiscoverer
52
+ function Qd(a,b,c,d){var e={s:["thodde secondanim","thodde second"],m:["eka mintan","ek minute"],mm:[a+" mintanim",a+" mintam"],h:["eka horan","ek hor"],hh:[a+" horanim",a+" hor"],d:["eka disan","ek dis"],dd:[a+" disanim",a+" dis"],M:["eka mhoinean","ek mhoino"],MM:[a+" mhoineanim",a+" mhoine"],y:["eka vorsan","ek voros"],yy:[a+" vorsanim",a+" vorsam"]};return b?e[c][0]:e[c][1]}
53
+ //! moment.js locale configuration
54
+ //! locale : Croatian [hr]
55
+ //! author : Bojan Marković : https://github.com/bmarkovic
56
+ function Rd(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"}}function Sd(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 Td(a){return(a?"":"[múlt] ")+"["+wh[this.day()]+"] LT[-kor]"}
57
+ //! moment.js locale configuration
58
+ //! locale : Icelandic [is]
59
+ //! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
60
+ function Ud(a){return a%100===11?!0:a%10===1?!1:!0}function Vd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return b?"mínúta":"mínútu";case"mm":return Ud(a)?e+(b||d?"mínútur":"mínútum"):b?e+"mínúta":e+"mínútu";case"hh":return Ud(a)?e+(b||d?"klukkustundir":"klukkustundum"):e+"klukkustund";case"d":return b?"dagur":d?"dag":"degi";case"dd":return Ud(a)?b?e+"dagar":e+(d?"daga":"dögum"):b?e+"dagur":e+(d?"dag":"degi");case"M":return b?"mánuður":d?"mánuð":"mánuði";case"MM":return Ud(a)?b?e+"mánuðir":e+(d?"mánuði":"mánuðum"):b?e+"mánuður":e+(d?"mánuð":"mánuði");case"y":return b||d?"ár":"ári";case"yy":return Ud(a)?e+(b||d?"ár":"árum"):e+(b||d?"ár":"ári")}}
61
+ //! moment.js locale configuration
62
+ //! locale : Luxembourgish [lb]
63
+ //! author : mweimerskirch : https://github.com/mweimerskirch
64
+ //! author : David Raison : https://github.com/kwisatz
65
+ function Wd(a,b,c,d){var e={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?e[c][0]:e[c][1]}function Xd(a){var b=a.substr(0,a.indexOf(" "));return Zd(b)?"a "+a:"an "+a}function Yd(a){var b=a.substr(0,a.indexOf(" "));return Zd(b)?"viru "+a:"virun "+a}function Zd(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 Zd(0===b?c:b)}if(1e4>a){for(;a>=10;)a/=10;return Zd(a)}return a/=1e3,Zd(a)}function $d(a,b,c,d){return b?"kelios sekundės":d?"kelių sekundžių":"kelias sekundes"}function _d(a,b,c,d){return b?be(c)[0]:d?be(c)[1]:be(c)[2]}function ae(a){return a%10===0||a>10&&20>a}function be(a){return Bh[a].split("_")}function ce(a,b,c,d){var e=a+" ";return 1===a?e+_d(a,b,c[0],d):b?e+(ae(a)?be(c)[1]:be(c)[0]):d?e+be(c)[1]:e+(ae(a)?be(c)[1]:be(c)[2])}function de(a,b,c){return c?b%10===1&&b%100!==11?a[2]:a[3]:b%10===1&&b%100!==11?a[0]:a[1]}function ee(a,b,c){return a+" "+de(Ch[c],a,b)}function fe(a,b,c){return de(Ch[c],a,b)}function ge(a,b){return b?"dažas sekundes":"dažām sekundēm"}function he(a,b,c,d){var e="";if(b)switch(c){case"s":e="काही सेकंद";break;case"m":e="एक मिनिट";break;case"mm":e="%d मिनिटे";break;case"h":e="एक तास";break;case"hh":e="%d तास";break;case"d":e="एक दिवस";break;case"dd":e="%d दिवस";break;case"M":e="एक महिना";break;case"MM":e="%d महिने";break;case"y":e="एक वर्ष";break;case"yy":e="%d वर्षे"}else switch(c){case"s":e="काही सेकंदां";break;case"m":e="एका मिनिटा";break;case"mm":e="%d मिनिटां";break;case"h":e="एका तासा";break;case"hh":e="%d तासां";break;case"d":e="एका दिवसा";break;case"dd":e="%d दिवसां";break;case"M":e="एका महिन्या";break;case"MM":e="%d महिन्यां";break;case"y":e="एका वर्षा";break;case"yy":e="%d वर्षां"}return e.replace(/%d/i,a)}function ie(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function je(a,b,c){var d=a+" ";switch(c){case"m":return b?"minuta":"minutę";case"mm":return d+(ie(a)?"minuty":"minut");case"h":return b?"godzina":"godzinę";case"hh":return d+(ie(a)?"godziny":"godzin");case"MM":return d+(ie(a)?"miesiące":"miesięcy");case"yy":return d+(ie(a)?"lata":"lat")}}
66
+ //! moment.js locale configuration
67
+ //! locale : Romanian [ro]
68
+ //! author : Vlad Gurdiga : https://github.com/gurdiga
69
+ //! author : Valentin Agachi : https://github.com/avaly
70
+ function ke(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]}
71
+ //! moment.js locale configuration
72
+ //! locale : Russian [ru]
73
+ //! author : Viktorminator : https://github.com/Viktorminator
74
+ //! Author : Menelion Elensúle : https://github.com/Oire
75
+ //! author : Коренберг Марк : https://github.com/socketpair
76
+ function le(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 me(a,b,c){var d={mm:b?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===c?b?"минута":"минуту":a+" "+le(d[c],+a)}function ne(a){return a>1&&5>a}function oe(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"pár sekúnd":"pár sekundami";case"m":return b?"minúta":d?"minútu":"minútou";case"mm":return b||d?e+(ne(a)?"minúty":"minút"):e+"minútami";case"h":return b?"hodina":d?"hodinu":"hodinou";case"hh":return b||d?e+(ne(a)?"hodiny":"hodín"):e+"hodinami";case"d":return b||d?"deň":"dňom";case"dd":return b||d?e+(ne(a)?"dni":"dní"):e+"dňami";case"M":return b||d?"mesiac":"mesiacom";case"MM":return b||d?e+(ne(a)?"mesiace":"mesiacov"):e+"mesiacmi";case"y":return b||d?"rok":"rokom";case"yy":return b||d?e+(ne(a)?"roky":"rokov"):e+"rokmi"}}
77
+ //! moment.js locale configuration
78
+ //! locale : Slovenian [sl]
79
+ //! author : Robert Sedovšek : https://github.com/sedovsek
80
+ function pe(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nekaj sekund":"nekaj sekundami";case"m":return b?"ena minuta":"eno minuto";case"mm":return e+=1===a?b?"minuta":"minuto":2===a?b||d?"minuti":"minutama":5>a?b||d?"minute":"minutami":b||d?"minut":"minutami";case"h":return b?"ena ura":"eno uro";case"hh":return e+=1===a?b?"ura":"uro":2===a?b||d?"uri":"urama":5>a?b||d?"ure":"urami":b||d?"ur":"urami";case"d":return b||d?"en dan":"enim dnem";case"dd":return e+=1===a?b||d?"dan":"dnem":2===a?b||d?"dni":"dnevoma":b||d?"dni":"dnevi";case"M":return b||d?"en mesec":"enim mesecem";case"MM":return e+=1===a?b||d?"mesec":"mesecem":2===a?b||d?"meseca":"mesecema":5>a?b||d?"mesece":"meseci":b||d?"mesecev":"meseci";case"y":return b||d?"eno leto":"enim letom";case"yy":return e+=1===a?b||d?"leto":"letom":2===a?b||d?"leti":"letoma":5>a?b||d?"leta":"leti":b||d?"let":"leti"}}function qe(a){var b=a;return b=-1!==a.indexOf("jaj")?b.slice(0,-3)+"leS":-1!==a.indexOf("jar")?b.slice(0,-3)+"waQ":-1!==a.indexOf("DIS")?b.slice(0,-3)+"nem":b+" pIq"}function re(a){var b=a;return b=-1!==a.indexOf("jaj")?b.slice(0,-3)+"Hu’":-1!==a.indexOf("jar")?b.slice(0,-3)+"wen":-1!==a.indexOf("DIS")?b.slice(0,-3)+"ben":b+" ret"}function se(a,b,c,d){var e=te(a);switch(c){case"mm":return e+" tup";case"hh":return e+" rep";case"dd":return e+" jaj";case"MM":return e+" jar";case"yy":return e+" DIS"}}function te(a){var b=Math.floor(a%1e3/100),c=Math.floor(a%100/10),d=a%10,e="";return b>0&&(e+=di[b]+"vatlh"),c>0&&(e+=(""!==e?" ":"")+di[c]+"maH"),d>0&&(e+=(""!==e?" ":"")+di[d]),""===e?"pagh":e}function ue(a,b,c,d){var e={s:["viensas secunds","'iensas secunds"],m:["'n míut","'iens míut"],mm:[a+" míuts",""+a+" míuts"],h:["'n þora","'iensa þora"],hh:[a+" þoras",""+a+" þoras"],d:["'n ziua","'iensa ziua"],dd:[a+" ziuas",""+a+" ziuas"],M:["'n mes","'iens mes"],MM:[a+" mesen",""+a+" mesen"],y:["'n ar","'iens ar"],yy:[a+" ars",""+a+" ars"]};return d?e[c][0]:b?e[c][0]:e[c][1]}
81
+ //! moment.js locale configuration
82
+ //! locale : Ukrainian [uk]
83
+ //! author : zemlanin : https://github.com/zemlanin
84
+ //! Author : Menelion Elensúle : https://github.com/Oire
85
+ function ve(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 we(a,b,c){var d={mm:b?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:b?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===c?b?"хвилина":"хвилину":"h"===c?b?"година":"годину":a+" "+ve(d[c],+a)}function xe(a,b){var c={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!a)return c.nominative;var d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function ye(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}var ze,Ae;Ae=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;c>d;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var Be=a.momentProperties=[],Ce=!1,De={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var Ee;Ee=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)j(a,b)&&c.push(b);return c};var Fe={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Ge={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},He="Invalid date",Ie="%d",Je=/\d{1,2}/,Ke={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d 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"},Le={},Me={},Ne=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Oe=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Pe={},Qe={},Re=/\d/,Se=/\d\d/,Te=/\d{3}/,Ue=/\d{4}/,Ve=/[+-]?\d{6}/,We=/\d\d?/,Xe=/\d\d\d\d?/,Ye=/\d\d\d\d\d\d?/,Ze=/\d{1,3}/,$e=/\d{1,4}/,_e=/[+-]?\d{1,6}/,af=/\d+/,bf=/[+-]?\d+/,cf=/Z|[+-]\d\d:?\d\d/gi,df=/Z|[+-]\d\d(?::?\d\d)?/gi,ef=/[+-]?\d+(\.\d{1,3})?/,ff=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,gf={},hf={},jf=0,kf=1,lf=2,mf=3,nf=4,of=5,pf=6,qf=7,rf=8;P("Y",0,0,function(){var a=this.year();return 9999>=a?""+a:"+"+a}),P(0,["YY",2],0,function(){return this.year()%100}),P(0,["YYYY",4],0,"year"),P(0,["YYYYY",5],0,"year"),P(0,["YYYYYY",6,!0],0,"year"),J("year","y"),M("year",1),U("Y",bf),U("YY",We,Se),U("YYYY",$e,Ue),U("YYYYY",_e,Ve),U("YYYYYY",_e,Ve),Y(["YYYYY","YYYYYY"],jf),Y("YYYY",function(b,c){c[jf]=2===b.length?a.parseTwoDigitYear(b):u(b)}),Y("YY",function(b,c){c[jf]=a.parseTwoDigitYear(b)}),Y("Y",function(a,b){b[jf]=parseInt(a,10)}),a.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3)};var sf,tf=ca("FullYear",!0);sf=Array.prototype.indexOf?Array.prototype.indexOf:function(a){var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1},P("M",["MM",2],"Mo",function(){return this.month()+1}),P("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),P("MMMM",0,0,function(a){return this.localeData().months(this,a)}),J("month","M"),M("month",8),U("M",We),U("MM",We,Se),U("MMM",function(a,b){return b.monthsShortRegex(a)}),U("MMMM",function(a,b){return b.monthsRegex(a)}),Y(["M","MM"],function(a,b){b[kf]=u(a)-1}),Y(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[kf]=e:n(c).invalidMonth=a});var uf=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,vf="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),wf="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),xf=ff,yf=ff;P("w",["ww",2],"wo","week"),P("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),U("w",We),U("ww",We,Se),U("W",We),U("WW",We,Se),Z(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var zf={dow:0,doy:6};P("d",0,"do","day"),P("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),P("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),P("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),P("e",0,0,"weekday"),P("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),U("d",We),U("e",We),U("E",We),U("dd",function(a,b){return b.weekdaysMinRegex(a)}),U("ddd",function(a,b){return b.weekdaysShortRegex(a)}),U("dddd",function(a,b){return b.weekdaysRegex(a)}),Z(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a}),Z(["d","e","E"],function(a,b,c,d){b[d]=u(a)});var Af="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Bf="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Cf="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Df=ff,Ef=ff,Ff=ff;P("H",["HH",2],0,"hour"),P("h",["hh",2],0,Sa),P("k",["kk",2],0,Ta),P("hmm",0,0,function(){return""+Sa.apply(this)+O(this.minutes(),2)}),P("hmmss",0,0,function(){return""+Sa.apply(this)+O(this.minutes(),2)+O(this.seconds(),2)}),P("Hmm",0,0,function(){return""+this.hours()+O(this.minutes(),2)}),P("Hmmss",0,0,function(){return""+this.hours()+O(this.minutes(),2)+O(this.seconds(),2)}),Ua("a",!0),Ua("A",!1),J("hour","h"),M("hour",13),U("a",Va),U("A",Va),U("H",We),U("h",We),U("k",We),U("HH",We,Se),U("hh",We,Se),U("kk",We,Se),U("hmm",Xe),U("hmmss",Ye),U("Hmm",Xe),U("Hmmss",Ye),Y(["H","HH"],mf),Y(["k","kk"],function(a,b,c){var d=u(a);b[mf]=24===d?0:d}),Y(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),Y(["h","hh"],function(a,b,c){b[mf]=u(a),n(c).bigHour=!0}),Y("hmm",function(a,b,c){var d=a.length-2;b[mf]=u(a.substr(0,d)),b[nf]=u(a.substr(d)),n(c).bigHour=!0}),Y("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[mf]=u(a.substr(0,d)),b[nf]=u(a.substr(d,2)),b[of]=u(a.substr(e)),n(c).bigHour=!0}),Y("Hmm",function(a,b,c){var d=a.length-2;b[mf]=u(a.substr(0,d)),b[nf]=u(a.substr(d))}),Y("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[mf]=u(a.substr(0,d)),b[nf]=u(a.substr(d,2)),b[of]=u(a.substr(e))});var Gf,Hf=/[ap]\.?m?\.?/i,If=ca("Hours",!0),Jf={calendar:Fe,longDateFormat:Ge,invalidDate:He,ordinal:Ie,dayOfMonthOrdinalParse:Je,relativeTime:Ke,months:vf,monthsShort:wf,week:zf,weekdays:Af,weekdaysMin:Cf,weekdaysShort:Bf,meridiemParse:Hf},Kf={},Lf={},Mf=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Nf=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Of=/Z|[+-]\d\d(?::?\d\d)?/,Pf=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Qf=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Rf=/^\/?Date\((\-?\d+)/i,Sf=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Tf={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Uf=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=zb.apply(null,arguments);return this.isValid()&&a.isValid()?this>a?this:a:p()}),Vf=x("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=zb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:p()}),Wf=function(){return Date.now?Date.now():+new Date},Xf=["year","quarter","month","week","day","hour","minute","second","millisecond"];Jb("Z",":"),Jb("ZZ",""),U("Z",df),U("ZZ",df),Y(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Kb(df,a)});var Yf=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Zf=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,$f=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Yb.fn=Gb.prototype,Yb.invalid=Fb;var _f=ac(1,"add"),ag=ac(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var bg=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});P(0,["gg",2],0,function(){return this.weekYear()%100}),P(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Jc("gggg","weekYear"),Jc("ggggg","weekYear"),Jc("GGGG","isoWeekYear"),Jc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),U("G",bf),U("g",bf),U("GG",We,Se),U("gg",We,Se),U("GGGG",$e,Ue),U("gggg",$e,Ue),U("GGGGG",_e,Ve),U("ggggg",_e,Ve),Z(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),Z(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),P("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),U("Q",Re),Y("Q",function(a,b){b[kf]=3*(u(a)-1)}),P("D",["DD",2],"Do","date"),J("date","D"),M("date",9),U("D",We),U("DD",We,Se),U("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient}),Y(["D","DD"],lf),Y("Do",function(a,b){b[lf]=u(a.match(We)[0],10)});var cg=ca("Date",!0);P("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),U("DDD",Ze),U("DDDD",Te),Y(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),P("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),U("m",We),U("mm",We,Se),Y(["m","mm"],nf);var dg=ca("Minutes",!1);P("s",["ss",2],0,"second"),J("second","s"),M("second",15),U("s",We),U("ss",We,Se),Y(["s","ss"],of);var eg=ca("Seconds",!1);P("S",0,0,function(){return~~(this.millisecond()/100)}),P(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),P(0,["SSS",3],0,"millisecond"),P(0,["SSSS",4],0,function(){return 10*this.millisecond()}),P(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),P(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),P(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),P(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),P(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),J("millisecond","ms"),M("millisecond",16),U("S",Ze,Re),U("SS",Ze,Se),U("SSS",Ze,Te);var fg;for(fg="SSSS";fg.length<=9;fg+="S")U(fg,af);for(fg="S";fg.length<=9;fg+="S")Y(fg,Sc);var gg=ca("Milliseconds",!1);P("z",0,0,"zoneAbbr"),P("zz",0,0,"zoneName");var hg=r.prototype;hg.add=_f,hg.calendar=dc,hg.clone=ec,hg.diff=lc,hg.endOf=yc,hg.format=qc,hg.from=rc,hg.fromNow=sc,hg.to=tc,hg.toNow=uc,hg.get=fa,hg.invalidAt=Hc,hg.isAfter=fc,hg.isBefore=gc,hg.isBetween=hc,hg.isSame=ic,hg.isSameOrAfter=jc,hg.isSameOrBefore=kc,hg.isValid=Fc,hg.lang=bg,hg.locale=vc,hg.localeData=wc,hg.max=Vf,hg.min=Uf,hg.parsingFlags=Gc,hg.set=ga,hg.startOf=xc,hg.subtract=ag,hg.toArray=Cc,hg.toObject=Dc,hg.toDate=Bc,hg.toISOString=oc,hg.inspect=pc,hg.toJSON=Ec,hg.toString=nc,hg.unix=Ac,hg.valueOf=zc,hg.creationData=Ic,hg.year=tf,hg.isLeapYear=ba,hg.weekYear=Kc,hg.isoWeekYear=Lc,hg.quarter=hg.quarters=Qc,hg.month=oa,hg.daysInMonth=pa,hg.week=hg.weeks=Ca,hg.isoWeek=hg.isoWeeks=Da,hg.weeksInYear=Nc,hg.isoWeeksInYear=Mc,hg.date=cg,hg.day=hg.days=La,hg.weekday=Ma,hg.isoWeekday=Na,hg.dayOfYear=Rc,hg.hour=hg.hours=If,hg.minute=hg.minutes=dg,hg.second=hg.seconds=eg,hg.millisecond=hg.milliseconds=gg,hg.utcOffset=Nb,hg.utc=Pb,hg.local=Qb,hg.parseZone=Rb,hg.hasAlignedHourOffset=Sb,hg.isDST=Tb,hg.isLocal=Vb,hg.isUtcOffset=Wb,hg.isUtc=Xb,hg.isUTC=Xb,hg.zoneAbbr=Tc,hg.zoneName=Uc,hg.dates=x("dates accessor is deprecated. Use date instead.",cg),hg.months=x("months accessor is deprecated. Use month instead",oa),hg.years=x("years accessor is deprecated. Use year instead",tf),hg.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ob),hg.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ub);var ig=C.prototype;ig.calendar=D,ig.longDateFormat=E,ig.invalidDate=F,ig.ordinal=G,ig.preparse=Xc,ig.postformat=Xc,ig.relativeTime=H,ig.pastFuture=I,ig.set=A,ig.months=ja,ig.monthsShort=ka,ig.monthsParse=ma,ig.monthsRegex=ra,ig.monthsShortRegex=qa,ig.week=za,ig.firstDayOfYear=Ba,ig.firstDayOfWeek=Aa,ig.weekdays=Ga,ig.weekdaysMin=Ia,ig.weekdaysShort=Ha,ig.weekdaysParse=Ka,ig.weekdaysRegex=Oa,ig.weekdaysShortRegex=Pa,ig.weekdaysMinRegex=Qa,ig.isPM=Wa,ig.meridiem=Xa,_a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",_a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",cb);var jg=Math.abs,kg=od("ms"),lg=od("s"),mg=od("m"),ng=od("h"),og=od("d"),pg=od("w"),qg=od("M"),rg=od("y"),sg=rd("milliseconds"),tg=rd("seconds"),ug=rd("minutes"),vg=rd("hours"),wg=rd("days"),xg=rd("months"),yg=rd("years"),zg=Math.round,Ag={ss:44,s:45,m:45,h:22,d:26,M:11},Bg=Math.abs,Cg=Gb.prototype;Cg.isValid=Eb,Cg.abs=ed,Cg.add=gd,Cg.subtract=hd,Cg.as=md,Cg.asMilliseconds=kg,Cg.asSeconds=lg,Cg.asMinutes=mg,Cg.asHours=ng,Cg.asDays=og,Cg.asWeeks=pg,Cg.asMonths=qg,Cg.asYears=rg,Cg.valueOf=nd,Cg._bubble=jd,Cg.clone=pd,Cg.get=qd,Cg.milliseconds=sg,Cg.seconds=tg,Cg.minutes=ug,Cg.hours=vg,Cg.days=wg,Cg.weeks=sd,Cg.months=xg,Cg.years=yg,Cg.humanize=xd,Cg.toISOString=zd,Cg.toString=zd,Cg.toJSON=zd,Cg.locale=vc,Cg.localeData=wc,Cg.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",zd),Cg.lang=bg,P("X",0,0,"unix"),P("x",0,0,"valueOf"),U("x",bf),U("X",ef),Y("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),Y("x",function(a,b,c){c._d=new Date(u(a))}),
86
+ //! moment.js
87
+ //! version : 2.19.2
88
+ //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
89
+ //! license : MIT
90
+ //! momentjs.com
91
+ a.version="2.19.2",b(zb),a.fn=hg,a.min=Bb,a.max=Cb,a.now=Wf,a.utc=l,a.unix=Vc,a.months=_c,a.isDate=h,a.locale=_a,a.invalid=p,a.duration=Yb,a.isMoment=s,a.weekdays=bd,a.parseZone=Wc,a.localeData=cb,a.isDuration=Hb,a.monthsShort=ad,a.weekdaysMin=dd,a.defineLocale=ab,a.updateLocale=bb,a.locales=db,a.weekdaysShort=cd,a.normalizeUnits=K,a.relativeTimeRounding=vd,a.relativeTimeThreshold=wd,a.calendarFormat=cc,a.prototype=hg,
92
+ //! moment.js locale configuration
93
+ //! locale : Afrikaans [af]
94
+ //! author : Werner Mollentze : https://github.com/wernerm
95
+ a.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_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("_"),meridiemParse:/vm|nm/i,isPM:function(a){return/^nm$/i.test(a)},meridiem:function(a,b,c){return 12>a?c?"vm":"VM":c?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),
96
+ //! moment.js locale configuration
97
+ //! locale : Arabic (Algeria) [ar-dz]
98
+ //! author : Noureddine LOUAHEDJ : https://github.com/noureddineme
99
+ a.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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:0,doy:4}}),
100
+ //! moment.js locale configuration
101
+ //! locale : Arabic (Kuwait) [ar-kw]
102
+ //! author : Nusret Parlak: https://github.com/nusretparlak
103
+ a.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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:0,doy:12}});
104
+ //! moment.js locale configuration
105
+ //! locale : Arabic (Lybia) [ar-ly]
106
+ //! author : Ali Hmer: https://github.com/kikoanis
107
+ var Dg={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},Eg=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},Fg={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},Gg=function(a){return function(b,c,d,e){var f=Eg(b),g=Fg[a][Eg(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},Hg=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];a.defineLocale("ar-ly",{months:Hg,monthsShort:Hg,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:Gg("s"),m:Gg("m"),mm:Gg("m"),h:Gg("h"),hh:Gg("h"),d:Gg("d"),dd:Gg("d"),M:Gg("M"),MM:Gg("M"),y:Gg("y"),yy:Gg("y")},preparse:function(a){return a.replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Dg[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}}),
108
+ //! moment.js locale configuration
109
+ //! locale : Arabic (Morocco) [ar-ma]
110
+ //! author : ElFadili Yassine : https://github.com/ElFadiliY
111
+ //! author : Abdel Said : https://github.com/abdelsaid
112
+ a.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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}});
113
+ //! moment.js locale configuration
114
+ //! locale : Arabic (Saudi Arabia) [ar-sa]
115
+ //! author : Suhail Alkowaileet : https://github.com/xsoh
116
+ var Ig={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},Jg={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};a.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){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 Jg[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Ig[a]}).replace(/,/g,"،")},week:{dow:0,doy:6}}),
117
+ //! moment.js locale configuration
118
+ //! locale : Arabic (Tunisia) [ar-tn]
119
+ //! author : Nader Toukabri : https://github.com/naderio
120
+ a.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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}});
121
+ //! moment.js locale configuration
122
+ //! locale : Arabic [ar]
123
+ //! author : Abdel Said: https://github.com/abdelsaid
124
+ //! author : Ahmed Elkhatib
125
+ //! author : forabi https://github.com/forabi
126
+ var Kg={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},Lg={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},Mg=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},Ng={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},Og=function(a){return function(b,c,d,e){var f=Mg(b),g=Ng[a][Mg(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},Pg=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"];a.defineLocale("ar",{months:Pg,monthsShort:Pg,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:Og("s"),m:Og("m"),mm:Og("m"),h:Og("h"),hh:Og("h"),d:Og("d"),dd:Og("d"),M:Og("M"),MM:Og("M"),y:Og("y"),yy:Og("y")},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return Lg[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Kg[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}});
127
+ //! moment.js locale configuration
128
+ //! locale : Azerbaijani [az]
129
+ //! author : topchiyev : https://github.com/topchiyev
130
+ var Qg={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ı"};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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},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"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(a){return/^(gündüz|axşam)$/.test(a)},meridiem:function(a,b,c){return 4>a?"gecə":12>a?"səhər":17>a?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(a){if(0===a)return a+"-ıncı";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(Qg[b]||Qg[c]||Qg[d])},week:{dow:1,doy:7}}),a.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},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:Bd,mm:Bd,h:Bd,hh:Bd,d:"дзень",dd:Bd,M:"месяц",MM:Bd,y:"год",yy:Bd},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(a){return/^(дня|вечара)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночы":12>a?"раніцы":17>a?"дня":"вечара"},dayOfMonthOrdinalParse:/\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}}),
131
+ //! moment.js locale configuration
132
+ //! locale : Bulgarian [bg]
133
+ //! author : Krasen Borisov : https://github.com/kraz
134
+ a.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},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 години"},dayOfMonthOrdinalParse:/\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}}),
135
+ //! moment.js locale configuration
136
+ //! locale : Bambara [bm]
137
+ //! author : Estelle Comment : https://github.com/estellecomment
138
+ a.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});
139
+ //! moment.js locale configuration
140
+ //! locale : Bengali [bn]
141
+ //! author : Kaushik Gandhi : https://github.com/kaushikgandhi
142
+ var Rg={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},Sg={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};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, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},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 Sg[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Rg[a]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(a,b){return 12===a&&(a=0),"রাত"===b&&a>=4||"দুপুর"===b&&5>a||"বিকাল"===b?a+12:a},meridiem:function(a,b,c){return 4>a?"রাত":10>a?"সকাল":17>a?"দুপুর":20>a?"বিকাল":"রাত"},week:{dow:0,doy:6}});
143
+ //! moment.js locale configuration
144
+ //! locale : Tibetan [bo]
145
+ //! author : Thupten N. Chakrishar : https://github.com/vajradog
146
+ var Tg={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},Ug={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};a.defineLocale("bo",{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, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},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 Ug[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Tg[a]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(a,b){return 12===a&&(a=0),"མཚན་མོ"===b&&a>=4||"ཉིན་གུང"===b&&5>a||"དགོང་དག"===b?a+12:a},meridiem:function(a,b,c){return 4>a?"མཚན་མོ":10>a?"ཞོགས་ཀས":17>a?"ཉིན་གུང":20>a?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}}),a.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("_"),weekdaysParseExact:!0,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 h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},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:Cd,h:"un eur",hh:"%d eur",d:"un devezh",dd:Cd,M:"ur miz",MM:Cd,y:"ur bloaz",yy:Dd},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(a){var b=1===a?"añ":"vet";return a+b},week:{dow:1,doy:4}}),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("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},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:Hd,mm:Hd,h:Hd,hh:Hd,d:"dan",dd:Hd,M:"mjesec",MM:Hd,y:"godinu",yy:Hd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),
147
+ //! moment.js locale configuration
148
+ //! locale : Catalan [ca]
149
+ //! author : Juan G. Hurtado : https://github.com/juanghurtado
150
+ a.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},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:"d'aquí %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"},dayOfMonthOrdinalParse:/\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}});
151
+ //! moment.js locale configuration
152
+ //! locale : Czech [cs]
153
+ //! author : petrbela : https://github.com/petrbela
154
+ var Vg="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),Wg="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");a.defineLocale("cs",{months:Vg,monthsShort:Wg,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(Vg,Wg),shortMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(Wg),longMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(Vg),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:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},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:Jd,m:Jd,mm:Jd,h:Jd,hh:Jd,d:Jd,dd:Jd,M:Jd,MM:Jd,y:Jd,yy:Jd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
155
+ //! moment.js locale configuration
156
+ //! locale : Chuvash [cv]
157
+ //! author : Anatoly Mironov : https://github.com/mirontoli
158
+ a.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},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 ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}}),
159
+ //! moment.js locale configuration
160
+ //! locale : Welsh [cy]
161
+ //! author : Robert Allen : https://github.com/robgallen
162
+ //! author : https://github.com/ryangreaves
163
+ 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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\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}}),
164
+ //! moment.js locale configuration
165
+ //! locale : Danish [da]
166
+ //! author : Ulrik Nielsen : https://github.com/mrbase
167
+ 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:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s 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"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},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:Kd,mm:"%d Minuten",h:Kd,hh:"%d Stunden",d:Kd,dd:Kd,M:Kd,MM:Kd,y:Kd,yy:Kd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH.mm",LLLL:"dddd, D. MMMM YYYY HH.mm"},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:Ld,mm:"%d Minuten",h:Ld,hh:"%d Stunden",d:Ld,dd:Ld,M:Ld,MM:Ld,y:Ld,yy:Ld},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},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:Md,mm:"%d Minuten",h:Md,hh:"%d Stunden",d:Md,dd:Md,M:Md,MM:Md,y:Md,yy:Md},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
168
+ //! moment.js locale configuration
169
+ //! locale : Maldivian [dv]
170
+ //! author : Jawish Hameed : https://github.com/jawish
171
+ var Xg=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],Yg=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];a.defineLocale("dv",{months:Xg,monthsShort:Xg,weekdays:Yg,weekdaysShort:Yg,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(a){return"މފ"===a},meridiem:function(a,b,c){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,",")},postformat:function(a){return a.replace(/,/g,"،")},week:{dow:7,doy:12}}),
172
+ //! moment.js locale configuration
173
+ //! locale : Greek [el]
174
+ //! author : Aggelos Karalias : https://github.com/mehiel
175
+ a.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(a,b){return a?"string"==typeof b&&/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]:this._monthsNominativeEl},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 h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},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 z(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 χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}}),
176
+ //! moment.js locale configuration
177
+ //! locale : English (Australia) [en-au]
178
+ //! author : Jared Morse : https://github.com/jarcoal
179
+ 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 h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},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"},dayOfMonthOrdinalParse:/\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}}),
180
+ //! moment.js locale configuration
181
+ //! locale : English (Canada) [en-ca]
182
+ //! author : Jonathan Abourbih : https://github.com/jonbca
183
+ 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:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},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"},dayOfMonthOrdinalParse:/\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}}),
184
+ //! moment.js locale configuration
185
+ //! locale : English (United Kingdom) [en-gb]
186
+ //! author : Chris Gedrim : https://github.com/chrisgedrim
187
+ 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 HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\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}}),
188
+ //! moment.js locale configuration
189
+ //! locale : English (Ireland) [en-ie]
190
+ //! author : Chris Cartlidge : https://github.com/chriscartlidge
191
+ a.defineLocale("en-ie",{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 HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\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}}),
192
+ //! moment.js locale configuration
193
+ //! locale : English (New Zealand) [en-nz]
194
+ //! author : Luke McGregor : https://github.com/lukemcgregor
195
+ a.defineLocale("en-nz",{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 h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},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"},dayOfMonthOrdinalParse:/\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}}),
196
+ //! moment.js locale configuration
197
+ //! locale : Esperanto [eo]
198
+ //! author : Colin Dean : https://github.com/colindean
199
+ //! author : Mia Nordentoft Imperatori : https://github.com/miestasmia
200
+ //! comment : miestasmia corrected the translation by colindean
201
+ 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:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(a){return"p"===a.charAt(0).toLowerCase()},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:"post %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"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});
202
+ //! moment.js locale configuration
203
+ //! locale : Spanish (Dominican Republic) [es-do]
204
+ var Zg="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),$g="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),_g=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],ah=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;a.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?$g[a.month()]:Zg[a.month()]:Zg},monthsRegex:ah,monthsShortRegex:ah,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:_g,longMonthsParse:_g,shortMonthsParse:_g,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},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"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});
205
+ //! moment.js locale configuration
206
+ //! locale : Spanish(United State) [es-us]
207
+ //! author : bustta : https://github.com/bustta
208
+ var bh="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),ch="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");a.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?ch[a.month()]:bh[a.month()]:bh},monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY H:mm",LLLL:"dddd, MMMM [de] D [de] YYYY H:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}});
209
+ //! moment.js locale configuration
210
+ //! locale : Spanish [es]
211
+ //! author : Julio Napurí : https://github.com/julionc
212
+ var dh="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),eh="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),fh=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],gh=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;a.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?eh[a.month()]:dh[a.month()]:dh},monthsRegex:gh,monthsShortRegex:gh,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:fh,longMonthsParse:fh,shortMonthsParse:fh,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),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:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},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:Nd,m:Nd,mm:Nd,h:Nd,hh:Nd,d:Nd,dd:"%d päeva",M:Nd,MM:Nd,y:Nd,yy:Nd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
213
+ //! moment.js locale configuration
214
+ //! locale : Basque [eu]
215
+ //! author : Eneko Illarramendi : https://github.com/eillarra
216
+ 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("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});
217
+ //! moment.js locale configuration
218
+ //! locale : Persian [fa]
219
+ //! author : Ebrahim Byagowi : https://github.com/ebraminio
220
+ var hh={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},ih={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};a.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(a){return/بعد از ظهر/.test(a)},meridiem:function(a,b,c){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 ih[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return hh[a]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}});
221
+ //! moment.js locale configuration
222
+ //! locale : Finnish [fi]
223
+ //! author : Tarmo Aidantausta : https://github.com/bleadof
224
+ var jh="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),kh=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",jh[7],jh[8],jh[9]];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] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},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:Od,m:Od,mm:Od,h:Od,hh:Od,d:Od,dd:Od,M:Od,MM:Od,y:Od,yy:Od},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
225
+ //! moment.js locale configuration
226
+ //! locale : Faroese [fo]
227
+ //! author : Ragnar Johannesen : https://github.com/ragnar123
228
+ 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:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
229
+ //! moment.js locale configuration
230
+ //! locale : French (Canada) [fr-ca]
231
+ //! author : Jonathan Abourbih : https://github.com/jonbca
232
+ 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("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(a,b){switch(b){default:case"M":case"Q":case"D":case"DDD":case"d":return a+(1===a?"er":"e");case"w":case"W":return a+(1===a?"re":"e")}}}),
233
+ //! moment.js locale configuration
234
+ //! locale : French (Switzerland) [fr-ch]
235
+ //! author : Gaspard Bucher : https://github.com/gaspard
236
+ a.defineLocale("fr-ch",{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("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(a,b){switch(b){default:case"M":case"Q":case"D":case"DDD":case"d":return a+(1===a?"er":"e");case"w":case"W":return a+(1===a?"re":"e")}},week:{dow:1,doy:4}}),
237
+ //! moment.js locale configuration
238
+ //! locale : French [fr]
239
+ //! author : John Fischer : https://github.com/jfroffice
240
+ 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("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(a,b){switch(b){case"D":return a+(1===a?"er":"");default:case"M":case"Q":case"DDD":case"d":return a+(1===a?"er":"e");case"w":case"W":return a+(1===a?"re":"e")}},week:{dow:1,doy:4}});
241
+ //! moment.js locale configuration
242
+ //! locale : Frisian [fy]
243
+ //! author : Robin van der Vliet : https://github.com/robin0van0der0v
244
+ var lh="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),mh="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");a.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?mh[a.month()]:lh[a.month()]:lh},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}});
245
+ //! moment.js locale configuration
246
+ //! locale : Scottish Gaelic [gd]
247
+ //! author : Jon Ashdown : https://github.com/jonashdown
248
+ var nh=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],oh=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],ph=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],qh=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],rh=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"];a.defineLocale("gd",{months:nh,monthsShort:oh,monthsParseExact:!0,weekdays:ph,weekdaysShort:qh,weekdaysMin:rh,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(a){var b=1===a?"d":a%10===2?"na":"mh";return a+b},week:{dow:1,doy:4}}),
249
+ //! moment.js locale configuration
250
+ //! locale : Galician [gl]
251
+ //! author : Juan G. Hurtado : https://github.com/juanghurtado
252
+ 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("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},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 0===a.indexOf("un")?"n"+a:"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"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),a.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:Qd,m:Qd,mm:Qd,h:Qd,hh:Qd,d:Qd,dd:Qd,M:Qd,MM:Qd,y:Qd,yy:Qd},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(a,b){switch(b){case"D":return a+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return a}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(a,b){return 12===a&&(a=0),"rati"===b?4>a?a:a+12:"sokalli"===b?a:"donparam"===b?a>12?a:a+12:"sanje"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"rati":12>a?"sokalli":16>a?"donparam":20>a?"sanje":"rati"}});
253
+ //! moment.js locale configuration
254
+ //! locale : Gujarati [gu]
255
+ //! author : Kaushik Thanki : https://github.com/Kaushik1987
256
+ var sh={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},th={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};a.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,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, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},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 th[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return sh[a]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(a,b){return 12===a&&(a=0),"રાત"===b?4>a?a:a+12:"સવાર"===b?a:"બપોર"===b?a>=10?a:a+12:"સાંજ"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"રાત":10>a?"સવાર":17>a?"બપોર":20>a?"સાંજ":"રાત"},week:{dow:0,doy:6}}),
257
+ //! moment.js locale configuration
258
+ //! locale : Hebrew [he]
259
+ //! author : Tomer Cohen : https://github.com/tomer
260
+ //! author : Moshe Simantov : https://github.com/DevelopmentIL
261
+ //! author : Tal Ater : https://github.com/TalAter
262
+ a.defineLocale("he",{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 HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},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%10===0&&10!==a?a+" שנה":a+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(a){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(a)},meridiem:function(a,b,c){return 5>a?"לפנות בוקר":10>a?"בבוקר":12>a?c?'לפנה"צ':"לפני הצהריים":18>a?c?'אחה"צ':"אחרי הצהריים":"בערב"}});
263
+ //! moment.js locale configuration
264
+ //! locale : Hindi [hi]
265
+ //! author : Mayank Singhal : https://github.com/mayanksinghal
266
+ var uh={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},vh={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};a.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,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, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},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 vh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return uh[a]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात"===b?4>a?a:a+12:"सुबह"===b?a:"दोपहर"===b?a>=10?a:a+12:"शाम"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"रात":10>a?"सुबह":17>a?"दोपहर":20>a?"शाम":"रात"},week:{dow:0,doy:6}}),a.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},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:Rd,mm:Rd,h:Rd,hh:Rd,d:"dan",dd:Rd,M:"mjesec",MM:Rd,y:"godinu",yy:Rd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});
267
+ //! moment.js locale configuration
268
+ //! locale : Hungarian [hu]
269
+ //! author : Adam Brunner : https://github.com/adambrunner
270
+ var wh="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");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:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},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 Td.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return Td.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:Sd,m:Sd,mm:Sd,h:Sd,hh:Sd,d:Sd,dd:Sd,M:Sd,MM:Sd,y:Sd,yy:Sd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
271
+ //! moment.js locale configuration
272
+ //! locale : Armenian [hy-am]
273
+ //! author : Armendarabyan : https://github.com/armendarabyan
274
+ a.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".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 թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},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 տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(a){return/^(ցերեկվա|երեկոյան)$/.test(a)},meridiem:function(a){return 4>a?"գիշերվա":12>a?"առավոտվա":17>a?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\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}}),
275
+ //! moment.js locale configuration
276
+ //! locale : Indonesian [id]
277
+ //! author : Mohammad Satrio Utomo : https://github.com/tyok
278
+ //! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
279
+ 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:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){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}}),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:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},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:Vd,m:Vd,mm:Vd,h:"klukkustund",hh:Vd,d:Vd,dd:Vd,M:Vd,MM:Vd,y:Vd,yy:Vd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
280
+ //! moment.js locale configuration
281
+ //! locale : Italian [it]
282
+ //! author : Lorenzo : https://github.com/aliem
283
+ //! author: Mattia Larentis: https://github.com/nostalgiaz
284
+ 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:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),
285
+ //! moment.js locale configuration
286
+ //! locale : Japanese [ja]
287
+ //! author : LI Long : https://github.com/baryon
288
+ 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:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(a){return"午後"===a},meridiem:function(a,b,c){return 12>a?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":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年"}}),
289
+ //! moment.js locale configuration
290
+ //! locale : Javanese [jv]
291
+ //! author : Rony Lantip : https://github.com/lantip
292
+ //! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
293
+ a.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(a,b){return 12===a&&(a=0),"enjing"===b?a:"siyang"===b?a>=11?a:a+12:"sonten"===b||"ndalu"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"enjing":15>a?"siyang":19>a?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),
294
+ //! moment.js locale configuration
295
+ //! locale : Georgian [ka]
296
+ //! author : Irakli Janiashvili : https://github.com/irakli-janiashvili
297
+ a.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},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 h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},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 წელი"},dayOfMonthOrdinalParse:/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}});
298
+ //! moment.js locale configuration
299
+ //! locale : Kazakh [kk]
300
+ //! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
301
+ var xh={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};a.defineLocale("kk",{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 HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},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 жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(a){var b=a%10,c=a>=100?100:null;return a+(xh[a]||xh[b]||xh[c])},week:{dow:1,doy:7}}),
302
+ //! moment.js locale configuration
303
+ //! locale : Cambodian [km]
304
+ //! author : Kruy Vanna : https://github.com/kruyvanna
305
+ a.defineLocale("km",{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 HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},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}});
306
+ //! moment.js locale configuration
307
+ //! locale : Kannada [kn]
308
+ //! author : Rajeev Naik : https://github.com/rajeevnaikte
309
+ var yh={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},zh={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};a.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ".split("_"),monthsParseExact:!0,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, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},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 zh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return yh[a]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(a,b){return 12===a&&(a=0),"ರಾತ್ರಿ"===b?4>a?a:a+12:"ಬೆಳಿಗ್ಗೆ"===b?a:"ಮಧ್ಯಾಹ್ನ"===b?a>=10?a:a+12:"ಸಂಜೆ"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"ರಾತ್ರಿ":10>a?"ಬೆಳಿಗ್ಗೆ":17>a?"ಮಧ್ಯಾಹ್ನ":20>a?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(a){return a+"ನೇ"},week:{dow:0,doy:6}}),
310
+ //! moment.js locale configuration
311
+ //! locale : Korean [ko]
312
+ //! author : Kyungwook, Park : https://github.com/kyungw00k
313
+ //! author : Jeeeyul Lee <jeeeyul@gmail.com>
314
+ 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:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\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}},meridiemParse:/오전|오후/,isPM:function(a){return"오후"===a},meridiem:function(a,b,c){return 12>a?"오전":"오후"}});
315
+ //! moment.js locale configuration
316
+ //! locale : Kyrgyz [ky]
317
+ //! author : Chyngyz Arystan uulu : https://github.com/chyngyz
318
+ var Ah={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};a.defineLocale("ky",{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 HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},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 жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(a){var b=a%10,c=a>=100?100:null;return a+(Ah[a]||Ah[b]||Ah[c])},week:{dow:1,doy:7}}),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("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},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:Xd,past:Yd,s:"e puer Sekonnen",m:Wd,mm:"%d Minutten",h:Wd,hh:"%d Stonnen",d:Wd,dd:"%d Deeg",M:Wd,MM:"%d Méint",y:Wd,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
319
+ //! moment.js locale configuration
320
+ //! locale : Lao [lo]
321
+ //! author : Ryan Hart : https://github.com/ryanhart2
322
+ a.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(a){return"ຕອນແລງ"===a},meridiem:function(a,b,c){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 ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(a){return"ທີ່"+a}});
323
+ //! moment.js locale configuration
324
+ //! locale : Lithuanian [lt]
325
+ //! author : Mindaugas Mozūras : https://github.com/mmozuras
326
+ var Bh={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"};a.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [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:$d,m:_d,mm:ce,h:_d,hh:ce,d:_d,dd:ce,M:_d,MM:ce,y:_d,yy:ce},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}});
327
+ //! moment.js locale configuration
328
+ //! locale : Latvian [lv]
329
+ //! author : Kristaps Karlsons : https://github.com/skakri
330
+ //! author : Jānis Elmeris : https://github.com/JanisE
331
+ var Ch={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},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:"pēc %s",past:"pirms %s",s:ge,m:fe,mm:ee,h:fe,hh:ee,d:fe,dd:ee,M:fe,MM:ee,y:fe,yy:ee},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
332
+ //! moment.js locale configuration
333
+ //! locale : Montenegrin [me]
334
+ //! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
335
+ var Dh={words:{m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,b,c){var d=Dh.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+Dh.correctGrammaticalCase(a,d)}};a.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra 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če u] LT",lastWeek:function(){var a=["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [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:"prije %s",s:"nekoliko sekundi",m:Dh.translate,mm:Dh.translate,h:Dh.translate,hh:Dh.translate,d:"dan",dd:Dh.translate,M:"mjesec",MM:Dh.translate,y:"godinu",yy:Dh.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),
336
+ //! moment.js locale configuration
337
+ //! locale : Maori [mi]
338
+ //! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal
339
+ a.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),
340
+ //! moment.js locale configuration
341
+ //! locale : Macedonian [mk]
342
+ //! author : Borislav Mickov : https://github.com/B0k0
343
+ a.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},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 години"},dayOfMonthOrdinalParse:/\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}}),
344
+ //! moment.js locale configuration
345
+ //! locale : Malayalam [ml]
346
+ //! author : Floyd Pink : https://github.com/floydpink
347
+ a.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,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, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},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 വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(a,b){return 12===a&&(a=0),"രാത്രി"===b&&a>=4||"ഉച്ച കഴിഞ്ഞ്"===b||"വൈകുന്നേരം"===b?a+12:a},meridiem:function(a,b,c){return 4>a?"രാത്രി":12>a?"രാവിലെ":17>a?"ഉച്ച കഴിഞ്ഞ്":20>a?"വൈകുന്നേരം":"രാത്രി"}});
348
+ //! moment.js locale configuration
349
+ //! locale : Marathi [mr]
350
+ //! author : Harshad Kale : https://github.com/kalehv
351
+ //! author : Vivek Athalye : https://github.com/vnathalye
352
+ var Eh={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},Fh={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};a.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,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, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:he,m:he,mm:he,h:he,hh:he,d:he,dd:he,M:he,MM:he,y:he,yy:he},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return Fh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Eh[a]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात्री"===b?4>a?a:a+12:"सकाळी"===b?a:"दुपारी"===b?a>=10?a:a+12:"सायंकाळी"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"रात्री":10>a?"सकाळी":17>a?"दुपारी":20>a?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}}),
353
+ //! moment.js locale configuration
354
+ //! locale : Malay [ms-my]
355
+ //! note : DEPRECATED, the correct one is [ms]
356
+ //! author : Weldan Jamili : https://github.com/weldan
357
+ 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:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){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}}),
358
+ //! moment.js locale configuration
359
+ //! locale : Malay [ms]
360
+ //! author : Weldan Jamili : https://github.com/weldan
361
+ a.defineLocale("ms",{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:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){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}});
362
+ //! moment.js locale configuration
363
+ //! locale : Burmese [my]
364
+ //! author : Squar team, mysquar.com
365
+ //! author : David Rossellat : https://github.com/gholadr
366
+ //! author : Tin Aung Lin : https://github.com/thanyawzinmin
367
+ var Gh={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},Hh={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};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 HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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 Hh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Gh[a]})},week:{dow:1,doy:4}}),
368
+ //! moment.js locale configuration
369
+ //! locale : Norwegian Bokmål [nb]
370
+ //! authors : Espen Hovlandsdal : https://github.com/rexxars
371
+ //! Sigurd Gartmann : https://github.com/sigurdga
372
+ a.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},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:"%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"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
373
+ //! moment.js locale configuration
374
+ //! locale : Nepalese [ne]
375
+ //! author : suvash : https://github.com/suvash
376
+ var Ih={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},Jh={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};a.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return Jh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Ih[a]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(a,b){return 12===a&&(a=0),"राति"===b?4>a?a:a+12:"बिहान"===b?a:"दिउँसो"===b?a>=10?a:a+12:"साँझ"===b?a+12:void 0},meridiem:function(a,b,c){return 3>a?"राति":12>a?"बिहान":16>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:0,doy:6}});
377
+ //! moment.js locale configuration
378
+ //! locale : Dutch (Belgium) [nl-be]
379
+ //! author : Joris Röling : https://github.com/jorisroling
380
+ //! author : Jacob Middag : https://github.com/middagj
381
+ var Kh="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Lh="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Mh=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Nh=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;a.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?Lh[a.month()]:Kh[a.month()]:Kh},monthsRegex:Nh,monthsShortRegex:Nh,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Mh,longMonthsParse:Mh,shortMonthsParse:Mh,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}});
382
+ //! moment.js locale configuration
383
+ //! locale : Dutch [nl]
384
+ //! author : Joris Röling : https://github.com/jorisroling
385
+ //! author : Jacob Middag : https://github.com/middagj
386
+ var Oh="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Ph="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Qh=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Rh=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;a.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?Ph[a.month()]:Oh[a.month()]:Oh},monthsRegex:Rh,monthsShortRegex:Rh,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Qh,longMonthsParse:Qh,shortMonthsParse:Qh,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),
387
+ //! moment.js locale configuration
388
+ //! locale : Nynorsk [nn]
389
+ //! author : https://github.com/mechuwind
390
+ 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:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},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:"%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"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
391
+ //! moment.js locale configuration
392
+ //! locale : Punjabi (India) [pa-in]
393
+ //! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
394
+ var Sh={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},Th={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};a.defineLocale("pa-in",{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, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},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 Th[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Sh[a]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(a,b){return 12===a&&(a=0),"ਰਾਤ"===b?4>a?a:a+12:"ਸਵੇਰ"===b?a:"ਦੁਪਹਿਰ"===b?a>=10?a:a+12:"ਸ਼ਾਮ"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"ਰਾਤ":10>a?"ਸਵੇਰ":17>a?"ਦੁਪਹਿਰ":20>a?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}});
395
+ //! moment.js locale configuration
396
+ //! locale : Polish [pl]
397
+ //! author : Rafal Hirsz : https://github.com/evoL
398
+ var Uh="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),Vh="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");a.defineLocale("pl",{months:function(a,b){return a?""===b?"("+Vh[a.month()]+"|"+Uh[a.month()]+")":/D MMMM/.test(b)?Vh[a.month()]:Uh[a.month()]:Uh},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:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[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:je,mm:je,h:je,hh:je,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:je,y:"rok",yy:je},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
399
+ //! moment.js locale configuration
400
+ //! locale : Portuguese (Brazil) [pt-br]
401
+ //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
402
+ 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:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},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:"poucos segundos",ss:"%d 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"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"}),
403
+ //! moment.js locale configuration
404
+ //! locale : Portuguese [pt]
405
+ //! author : Jefferson : https://github.com/jalex79
406
+ 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:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),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("_"),monthsParseExact:!0,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:"H:mm: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:ke,h:"o oră",hh:ke,d:"o zi",dd:ke,M:"o lună",MM:ke,y:"un an",yy:ke},week:{dow:1,doy:7}});var Wh=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];a.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:Wh,longMonthsParse:Wh,shortMonthsParse:Wh,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek: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"}},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:me,mm:me,h:"час",hh:me,d:"день",dd:me,M:"месяц",MM:me,y:"год",yy:me},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(a){return/^(дня|вечера)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночи":12>a?"утра":17>a?"дня":"вечера"},dayOfMonthOrdinalParse:/\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:4}});
407
+ //! moment.js locale configuration
408
+ //! locale : Sindhi [sd]
409
+ //! author : Narain Sagar : https://github.com/narainsagar
410
+ var Xh=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],Yh=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];a.defineLocale("sd",{months:Xh,monthsShort:Xh,weekdays:Yh,weekdaysShort:Yh,weekdaysMin:Yh,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(a){return"شام"===a},meridiem:function(a,b,c){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,",")},postformat:function(a){return a.replace(/,/g,"،")},week:{dow:1,doy:4}}),
411
+ //! moment.js locale configuration
412
+ //! locale : Northern Sami [se]
413
+ //! authors : Bård Rolstad Henriksen : https://github.com/karamell
414
+ a.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
415
+ //! moment.js locale configuration
416
+ //! locale : Sinhalese [si]
417
+ //! author : Sampath Sitinamaluwa : https://github.com/sampathsris
418
+ a.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},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"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(a){return a+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(a){return"ප.ව."===a||"පස් වරු"===a},meridiem:function(a,b,c){return a>11?c?"ප.ව.":"පස් වරු":c?"පෙ.ව.":"පෙර වරු"}});
419
+ //! moment.js locale configuration
420
+ //! locale : Slovak [sk]
421
+ //! author : Martin Minka : https://github.com/k2s
422
+ //! based on work of petrbela : https://github.com/petrbela
423
+ var Zh="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),$h="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");a.defineLocale("sk",{months:Zh,monthsShort:$h,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:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},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:oe,m:oe,mm:oe,h:oe,hh:oe,d:oe,dd:oe,M:oe,MM:oe,y:oe,yy:oe},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),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("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},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:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:pe,m:pe,mm:pe,h:pe,hh:pe,d:pe,dd:pe,M:pe,MM:pe,y:pe,yy:pe},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),
424
+ //! moment.js locale configuration
425
+ //! locale : Albanian [sq]
426
+ //! author : Flakërim Ismani : https://github.com/flakerimi
427
+ //! author : Menelion Elensúle : https://github.com/Oire
428
+ //! author : Oerd Cukalla : https://github.com/oerd
429
+ 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("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(a){return"M"===a.charAt(0)},meridiem:function(a,b,c){return 12>a?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
430
+ //! moment.js locale configuration
431
+ //! locale : Serbian Cyrillic [sr-cyrl]
432
+ //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
433
+ var _h={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,b,c){var d=_h.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+_h.correctGrammaticalCase(a,d)}};a.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},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:_h.translate,mm:_h.translate,h:_h.translate,hh:_h.translate,d:"дан",dd:_h.translate,M:"месец",MM:_h.translate,y:"годину",yy:_h.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});
434
+ //! moment.js locale configuration
435
+ //! locale : Serbian [sr]
436
+ //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
437
+ var ai={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,b,c){var d=ai.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+ai.correctGrammaticalCase(a,d)}};a.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},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:ai.translate,mm:ai.translate,h:ai.translate,hh:ai.translate,d:"dan",dd:ai.translate,M:"mesec",MM:ai.translate,y:"godinu",yy:ai.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),
438
+ //! moment.js locale configuration
439
+ //! locale : siSwati [ss]
440
+ //! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies
441
+ a.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(a,b,c){return 11>a?"ekuseni":15>a?"emini":19>a?"entsambama":"ebusuku"},meridiemHour:function(a,b){return 12===a&&(a=0),"ekuseni"===b?a:"emini"===b?a>=11?a:a+12:"entsambama"===b||"ebusuku"===b?0===a?0:a+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),
442
+ //! moment.js locale configuration
443
+ //! locale : Swedish [sv]
444
+ //! author : Jens Alm : https://github.com/ulmus
445
+ 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:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] 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"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,doy:4}}),
446
+ //! moment.js locale configuration
447
+ //! locale : Swahili [sw]
448
+ //! author : Fahad Kassim : https://github.com/fadsel
449
+ a.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});
450
+ //! moment.js locale configuration
451
+ //! locale : Tamil [ta]
452
+ //! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
453
+ var bi={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},ci={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};a.defineLocale("ta",{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, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},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 ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(a){return a+"வது"},preparse:function(a){return a.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(a){return ci[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return bi[a]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(a,b,c){return 2>a?" யாமம்":6>a?" வைகறை":10>a?" காலை":14>a?" நண்பகல்":18>a?" எற்பாடு":22>a?" மாலை":" யாமம்"},meridiemHour:function(a,b){return 12===a&&(a=0),"யாமம்"===b?2>a?a:a+12:"வைகறை"===b||"காலை"===b?a:"நண்பகல்"===b&&a>=10?a:a+12},week:{dow:0,doy:6}}),
454
+ //! moment.js locale configuration
455
+ //! locale : Telugu [te]
456
+ //! author : Krishna Chaitanya Thota : https://github.com/kcthota
457
+ a.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,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, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},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 సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(a,b){return 12===a&&(a=0),"రాత్రి"===b?4>a?a:a+12:"ఉదయం"===b?a:"మధ్యాహ్నం"===b?a>=10?a:a+12:"సాయంత్రం"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"రాత్రి":10>a?"ఉదయం":17>a?"మధ్యాహ్నం":20>a?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}}),
458
+ //! moment.js locale configuration
459
+ //! locale : Tetun Dili (East Timor) [tet]
460
+ //! author : Joshua Brooks : https://github.com/joshbrooks
461
+ //! author : Onorio De J. Afonso : https://github.com/marobo
462
+ a.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sext_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Sex_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutus %d",h:"horas ida",hh:"horas %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\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}}),
463
+ //! moment.js locale configuration
464
+ //! locale : Thai [th]
465
+ //! author : Kridsada Thanabulpong : https://github.com/sirn
466
+ a.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(a){return"หลังเที่ยง"===a},meridiem:function(a,b,c){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 ปี"}}),
467
+ //! moment.js locale configuration
468
+ //! locale : Tagalog (Philippines) [tl-ph]
469
+ //! author : Dan Hagman : https://github.com/hagmandan
470
+ 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:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",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"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}});
471
+ //! moment.js locale configuration
472
+ //! locale : Klingon [tlh]
473
+ //! author : Dominika Kruk : https://github.com/amaranthrose
474
+ var di="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");a.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:qe,past:re,s:"puS lup",m:"wa’ tup",mm:se,h:"wa’ rep",hh:se,d:"wa’ jaj",dd:se,M:"wa’ jar",MM:se,y:"wa’ DIS",yy:se},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
475
+ //! moment.js locale configuration
476
+ //! locale : Turkish [tr]
477
+ //! authors : Erhan Gundogan : https://github.com/erhangundogan,
478
+ //! Burak Yiğit Kaya: https://github.com/BYK
479
+ var ei={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ı"};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:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] 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"},dayOfMonthOrdinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(a){if(0===a)return a+"'ıncı";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(ei[b]||ei[c]||ei[d])},week:{dow:1,doy:7}}),
480
+ //! moment.js locale configuration
481
+ //! locale : Talossan [tzl]
482
+ //! author : Robin van der Vliet : https://github.com/robin0van0der0v
483
+ //! author : Iustì Canun
484
+ a.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(a){return"d'o"===a.toLowerCase()},meridiem:function(a,b,c){return a>11?c?"d'o":"D'O":c?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:ue,m:ue,mm:ue,h:ue,hh:ue,d:ue,dd:ue,M:ue,MM:ue,y:ue,yy:ue},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
485
+ //! moment.js locale configuration
486
+ //! locale : Central Atlas Tamazight Latin [tzm-latn]
487
+ //! author : Abdel Said : https://github.com/abdelsaid
488
+ 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:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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}}),
489
+ //! moment.js locale configuration
490
+ //! locale : Central Atlas Tamazight [tzm]
491
+ //! author : Abdel Said : https://github.com/abdelsaid
492
+ a.defineLocale("tzm",{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 HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},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}}),a.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:xe,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:ye("[Сьогодні "),nextDay:ye("[Завтра "),lastDay:ye("[Вчора "),nextWeek:ye("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return ye("[Минулої] dddd [").call(this);case 1:case 2:case 4:return ye("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:we,mm:we,h:"годину",hh:we,d:"день",dd:we,M:"місяць",MM:we,y:"рік",yy:we},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(a){return/^(дня|вечора)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночі":12>a?"ранку":17>a?"дня":"вечора"},dayOfMonthOrdinalParse:/\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}});
493
+ //! moment.js locale configuration
494
+ //! locale : Urdu [ur]
495
+ //! author : Sawood Alam : https://github.com/ibnesayeed
496
+ //! author : Zack : https://github.com/ZackVision
497
+ var fi=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],gi=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];
498
+ //! moment.js locale configuration
499
+ //! locale : Uzbek Latin [uz-latn]
500
+ //! author : Rasulbek Mirzayev : github.com/Rasulbeeek
501
+ //! moment.js locale configuration
502
+ //! locale : Uzbek [uz]
503
+ //! author : Sardor Muminov : https://github.com/muminoff
504
+ //! moment.js locale configuration
505
+ //! locale : Vietnamese [vi]
506
+ //! author : Bang Nguyen : https://github.com/bangnk
507
+ //! moment.js locale configuration
508
+ //! locale : Pseudo [x-pseudo]
509
+ //! author : Andrew Hood : https://github.com/andrewhood125
510
+ //! moment.js locale configuration
511
+ //! locale : Yoruba Nigeria [yo]
512
+ //! author : Atolagbe Abisoye : https://github.com/andela-batolagbe
513
+ //! moment.js locale configuration
514
+ //! locale : Chinese (China) [zh-cn]
515
+ //! author : suupic : https://github.com/suupic
516
+ //! author : Zeno Zeng : https://github.com/zenozeng
517
+ //! moment.js locale configuration
518
+ //! locale : Chinese (Hong Kong) [zh-hk]
519
+ //! author : Ben : https://github.com/ben-lin
520
+ //! author : Chris Lam : https://github.com/hehachris
521
+ //! author : Konstantin : https://github.com/skfd
522
+ //! moment.js locale configuration
523
+ //! locale : Chinese (Taiwan) [zh-tw]
524
+ //! author : Ben : https://github.com/ben-lin
525
+ //! author : Chris Lam : https://github.com/hehachris
526
+ return a.defineLocale("ur",{months:fi,monthsShort:fi,weekdays:gi,weekdaysShort:gi,weekdaysMin:gi,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(a){return"شام"===a},meridiem:function(a,b,c){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,",")},postformat:function(a){return a.replace(/,/g,"،")},week:{dow:1,doy:4}}),a.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),a.defineLocale("uz",{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 HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},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}}),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("_"),monthsParseExact:!0,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("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(a){return/^ch$/i.test(a)},meridiem:function(a,b,c){return 12>a?c?"sa":"SA":c?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},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"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}}),a.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,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}}),a.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}}),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:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"下午"===b||"晚上"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"凌晨":900>d?"早上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\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}}),a.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"中午"===b?a>=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"凌晨":900>d?"早上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\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 年"}}),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:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"中午"===b?a>=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"凌晨":900>d?"早上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\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 年"}}),a.locale("en"),a});
libs/factory/bootstrap/assets/js-min/plugin.nouislider.min.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ /*! $.noUiSlider - WTFPL - refreshless.com/nouislider/ */
11
+ !function(a){function b(a){throw new RangeError("noUiSlider: "+a)}function c(a,c,d){(a[c]||a[d])&&a[c]===a[d]&&b("(Link) '"+c+"' can't match '"+d+"'.'")}function d(a){return"number"==typeof a&&!isNaN(a)&&isFinite(a)}function e(b){return a.isArray(b)?b:[b]}function f(a,b){a.addClass(b),setTimeout(function(){a.removeClass(b)},300)}function g(a,b){return 100*b/(a[1]-a[0])}function h(a,b){if(b>=a.d.slice(-1)[0])return 100;for(var c,d,e,f=1;b>=a.d[f];)f++;return c=a.d[f-1],d=a.d[f],e=a.c[f-1],c=[c,d],e+g(c,0>c[0]?b+Math.abs(c[0]):b-c[0])/(100/(a.c[f]-e))}function i(a,b){for(var c,d=1;b>=a.c[d];)d++;return a.m?(c=a.c[d-1],d=a.c[d],b-c>(d-c)/2?d:c):(a.h[d-1]?(c=a.h[d-1],d=a.c[d-1]+Math.round((b-a.c[d-1])/c)*c):d=b,d)}function j(d){void 0===d&&(d={}),"object"!=typeof d&&b("(Format) 'format' option must be an object.");var e={};a(J).each(function(a,c){void 0===d[c]?e[c]=K[a]:typeof d[c]==typeof K[a]?("decimals"===c&&(0>d[c]||7<d[c])&&b("(Format) 'format.decimals' option must be between 0 and 7."),e[c]=d[c]):b("(Format) 'format."+c+"' must be a "+typeof K[a]+".")}),c(e,"mark","thousand"),c(e,"prefix","negative"),c(e,"prefix","negativeBefore"),this.B=e}function k(b,c){if(!(this instanceof k))throw Error("Link: Don't use Link as a function. Use the 'new' keyword.");if(!b)throw new RangeError("Link: missing parameters.");this.g=b.format||{},this.update=!c;var d=this,e=b.target||function(){},f=b.method,g="string"==typeof e&&0===e.indexOf("-tooltip-"),h="string"==typeof e&&0!==e.indexOf("-"),i="function"==typeof e,j=e instanceof a||a.zepto&&a.zepto.isZ(e),l=j&&e.is("input, select, textarea"),m=j&&"function"==typeof f,n=j&&"string"==typeof f&&e[f];if(g)this.method=f||"html",this.j=a(e.replace("-tooltip-","")||"<div/>")[0];else if(h)this.method="val",this.j=document.createElement("input"),this.j.name=e,this.j.type="hidden";else{if(!i){if(j){if(f&&(m||n))return this.target=e,void(this.method=f);if(!f&&l)return this.method="val",this.target=e,void this.target.on("change",function(b){b=a(b.target).val();var c=d.q;d.u.val([c?null:b,c?b:null],{link:d})});if(!f&&!l)return this.method="html",void(this.target=e)}throw new RangeError("Link: Invalid Link.")}this.target=!1,this.method=e}}function l(a,c){d(c)||b("'step' is not numeric."),a.h[0]=c}function m(c,e){("object"!=typeof e||a.isArray(e))&&b("'range' is not an object."),a.each(e,function(e,f){var g;"number"==typeof f&&(f=[f]),a.isArray(f)||b("'range' contains invalid value."),g="min"===e?0:"max"===e?100:parseFloat(e),d(g)&&d(f[0])||b("'range' value isn't numeric."),c.c.push(g),c.d.push(f[0]),g?c.h.push(isNaN(f[1])?!1:f[1]):isNaN(f[1])||(c.h[0]=f[1])}),a.each(c.h,function(a,b){return b?void(c.h[a]=g([c.d[a],c.d[a+1]],b)/(100/(c.c[a+1]-c.c[a]))):!0})}function n(c,d){"number"==typeof d&&(d=[d]),(!a.isArray(d)||!d.length||2<d.length)&&b("'start' option is incorrect."),c.a=d.length,c.start=d}function o(a,c){a.m=c,"boolean"!=typeof c&&b("'snap' option must be a boolean.")}function p(a,c){"lower"===c&&1===a.a?a.i=1:"upper"===c&&1===a.a?a.i=2:!0===c&&2===a.a?a.i=3:!1===c?a.i=0:b("'connect' option was doesn't match handle count.")}function q(a,c){switch(c){case"horizontal":a.k=0;break;case"vertical":a.k=1;break;default:b("'orientation' option is invalid.")}}function r(a,c){2<a.c.length&&b("'margin' option is only supported on linear sliders."),a.margin=g(a.d,c),d(c)||b("'margin' option must be numeric.")}function s(a,c){switch(c){case"ltr":a.dir=0;break;case"rtl":a.dir=1,a.i=[0,2,1,3][a.i];break;default:b("'direction' option was not recognized.")}}function t(a,c){"string"!=typeof c&&b("'behaviour' must be a string containing options.");var d=0<=c.indexOf("snap");a.n={p:0<=c.indexOf("tap")||d,extend:0<=c.indexOf("extend"),s:0<=c.indexOf("drag"),fixed:0<=c.indexOf("fixed"),m:d}}function u(c,d,e){c.o=[d.lower,d.upper],c.g=new j(d.format),a.each(c.o,function(c,f){a.isArray(f)||b("'serialization."+(c?"upper":"lower")+"' must be an array."),a.each(f,function(){this instanceof k||b("'serialization."+(c?"upper":"lower")+"' can only contain Link instances."),this.q=c,this.u=e,this.scope=this.scope||e,this.g=new j(a.extend({},d.format,this.g))})}),c.dir&&1<c.a&&c.o.reverse()}function v(c,d){var e,f={c:[],d:[],h:[!1],margin:0};return e={step:{e:!1,f:l},range:{e:!0,f:m},start:{e:!0,f:n},snap:{e:!1,f:o},connect:{e:!0,f:p},orientation:{e:!1,f:q},margin:{e:!1,f:r},direction:{e:!0,f:s},behaviour:{e:!0,f:t},serialization:{e:!0,f:u}},c=a.extend({connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal"},c),c.serialization=a.extend({lower:[],upper:[],format:{}},c.serialization),a.each(e,function(a,e){if(void 0===c[a]){if(!e.e)return!0;b("'"+a+"' is required.")}e.f(f,c[a],d)}),f.style=f.k?"top":"left",f}function w(b,c){var d=a("<div><div/></div>").addClass(I[2]),e=["-lower","-upper"];return b.dir&&e.reverse(),d.children().addClass(I[3]+" "+I[3]+e[c]),d}function x(b,c){return c.j&&(c=new k({target:a(c.j).clone().appendTo(b),method:c.method,format:c.g},!0)),c}function y(a,b){var c,d=[];for(c=0;c<a.a;c++){var e=d,f=c,g=a.o[c],h=b[c].children(),i=void 0,j=[];for(j.push(new k({format:a.g},!0)),i=0;i<g.length;i++)j.push(x(h,g[i]));e[f]=j}return d}function z(a,b,c){switch(a){case 1:b.addClass(I[7]),c[0].addClass(I[6]);break;case 3:c[1].addClass(I[6]);case 2:c[0].addClass(I[7]);case 0:b.addClass(I[6])}}function A(a,b){var c,d=[];for(c=0;c<a.a;c++)d.push(w(a,c).appendTo(b));return d}function B(b,c){return c.addClass([I[0],I[8+b.dir],I[4+b.k]].join(" ")),a("<div/>").appendTo(c).addClass(I[1])}function C(b,c,d){function e(){return r[["width","height"][c.k]]()}function g(a){var b,c=[u.val()];for(b=0;b<a.length;b++)u.trigger(a[b],c)}function j(b,d,e){var f=b[0]!==t[0][0]?1:0,g=v[0]+c.margin,h=v[1]-c.margin;return e&&1<t.length&&(d=f?Math.max(d,g):Math.min(d,h)),100>d&&(d=i(c,d)),d=Math.max(Math.min(parseFloat(d.toFixed(7)),100),0),d===v[f]?1===t.length?!1:d===g||d===h?0:!1:(b.css(c.style,d+"%"),b.is(":first-child")&&b.toggleClass(I[17],d>50),v[f]=d,c.dir&&(d=100-d),a(s[f]).each(function(){this.write(c,d,b.children(),u)}),!0)}function k(a,b,c){c||f(u,I[14]),j(a,b,!1),g(["slide","set","change"])}function l(a,b,d,e){a=a.replace(/\s/g,".nui ")+".nui",b.on(a,function(a){var b=u.attr("disabled");if(u.hasClass(I[14])||void 0!==b&&null!==b)return!1;a.preventDefault();var f,g,b=0===a.type.indexOf("touch"),h=0===a.type.indexOf("mouse"),i=0===a.type.indexOf("pointer"),j=a;0===a.type.indexOf("MSPointer")&&(i=!0),a.originalEvent&&(a=a.originalEvent),b&&(f=a.changedTouches[0].pageX,g=a.changedTouches[0].pageY),(h||i)&&(i||void 0!==window.pageXOffset||(window.pageXOffset=document.documentElement.scrollLeft,window.pageYOffset=document.documentElement.scrollTop),f=a.clientX+window.pageXOffset,g=a.clientY+window.pageYOffset),j.v=[f,g],j.cursor=h,a=j,a.l=a.v[c.k],d(a,e)})}function m(a,b){var c,d=b.a||t,f=!1,f=100*(a.l-b.start)/e(),h=d[0][0]!==t[0][0]?1:0,i=b.w;c=f+i[0],f+=i[1],1<d.length?(0>c&&(f+=Math.abs(c)),f>100&&(c-=f-100),c=[Math.max(Math.min(c,100),0),Math.max(Math.min(f,100),0)]):c=[c,f],f=j(d[0],c[h],1===d.length),1<d.length&&(f=j(d[1],c[h?0:1],!1)||f),f&&g(["slide"])}function n(b){a("."+I[15]).removeClass(I[15]),b.cursor&&a("body").css("cursor","").off(".nui"),F.off(".nui"),u.removeClass(I[12]),g(["set","change"])}function o(b,c){1===c.a.length&&c.a[0].children().addClass(I[15]),b.stopPropagation(),l(H.move,F,m,{start:b.l,a:c.a,w:[v[0],v[t.length-1]]}),l(H.end,F,n,null),b.cursor&&(a("body").css("cursor",a(b.target).css("cursor")),1<t.length&&u.addClass(I[12]),a("body").on("selectstart.nui",!1))}function p(b){var d=b.l,f=0;b.stopPropagation(),a.each(t,function(){f+=this.offset()[c.style]}),f=f/2>d||1===t.length?0:1,d-=r.offset()[c.style],d=100*d/e(),k(t[f],d,c.n.m),c.n.m&&o(b,{a:[t[f]]})}function q(a){var b=(a=a.l<r.offset()[c.style])?0:100;a=a?0:t.length-1,k(t[a],b,!1)}var r,s,t,u=a(b),v=[-1,-1];if(!u.is(":empty"))throw Error("Slider was already initialized.");r=B(c,u),t=A(c,r),s=y(c,t),z(c.i,u,t),function(a){var b;if(!a.fixed)for(b=0;b<t.length;b++)l(H.start,t[b].children(),o,{a:[t[b]]});a.p&&l(H.start,r,p,{a:t}),a.extend&&(u.addClass(I[16]),a.p&&l(H.start,u,q,{a:t})),a.s&&(b=r.find("."+I[7]).addClass(I[10]),a.fixed&&(b=b.add(r.children().not(b).children())),l(H.start,b,o,{a:t}))}(c.n),b.F=function(b,d,e,i,k){var l;for(c.dir&&1<c.a&&b.reverse(),k&&f(u,I[14]),l=0;l<(1<t.length?3:1);l++)k=e||s[l%2][0],k=k.valueOf(b[l%2]),!1!==k&&(k=h(c,k),c.dir&&(k=100-k),!0!==j(t[l%2],k,!0)&&a(s[l%2]).each(function(){this.write(c,v[l%2],t[l%2].children(),u,i)}));!0===d&&g(["set"])},b.D=function(){var a,b=[];for(a=0;a<c.a;a++)b[a]=s[a][0].A;return 1===b.length?b[0]:c.dir&&1<c.a?b.reverse():b},b.r=function(){return a.each(s,function(){a.each(this,function(){this.target&&this.target.off(".nui")})}),a(this).off(".nui").removeClass(I.join(" ")).empty(),d},u.val(c.start)}function D(a){this.length||b("Can't initialize slider on empty selection.");var c=v(a,this);return this.each(function(){C(this,c,a)})}function E(b){return this.each(function(){var c=a(this).val(),d=this.r(),e=a.extend({},d,b);a(this).noUiSlider(e),d.start===e.start&&a(this).val(c)})}var F=a(document),G=a.fn.val,H=window.navigator.G?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"},I="noUi-target noUi-base noUi-origin noUi-handle noUi-horizontal noUi-vertical noUi-background noUi-connect noUi-ltr noUi-rtl noUi-dragable noUi-state-drag noUi-state-tap noUi-active noUi-extended noUi-stacking".split(" "),J="decimals mark thousand prefix postfix encoder decoder negative negativeBefore".split(" "),K=[2,".","","","",function(a){return a},function(a){return a},"-",""];j.prototype.b=function(a){return this.B[a]},j.prototype.C=function(a){function b(a){return a.split("").reverse().join("")}a=this.b("encoder")(a);var c="",d="",e="",f="";return 0>a&&(c=this.b("negative"),d=this.b("negativeBefore")),a=Math.abs(a).toFixed(this.b("decimals")).toString(),a=a.split("."),0===parseFloat(a)&&(a[0]="0"),this.b("thousand")?(e=b(a[0]).match(/.{1,3}/g),e=b(e.join(b(this.b("thousand"))))):e=a[0],this.b("mark")&&1<a.length&&(f=this.b("mark")+a[1]),d+this.b("prefix")+c+e+f+this.b("postfix")},j.prototype.t=function(a){function b(a){return a.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}var c;return null===a||void 0===a?!1:(a=a.toString(),c=a.replace(RegExp("^"+b(this.b("negativeBefore"))),""),a!==c?(a=c,c="-"):c="",a=a.replace(RegExp("^"+b(this.b("prefix"))),""),this.b.negative&&(c="",a=a.replace(RegExp("^"+b(this.b("negative"))),"-")),a=a.replace(RegExp(b(this.b("postfix"))+"$"),"").replace(RegExp(b(this.b("thousand")),"g"),"").replace(this.b("mark"),"."),a=this.b("decoder")(parseFloat(c+a)),isNaN(a)?!1:a)},k.prototype.write=function(a,b,c,d,e){if(!this.update||!1!==e){if(b>=100)b=a.d.slice(-1)[0];else{e=1;for(var f,g,h;b>=a.c[e];)e++;f=a.d[e-1],g=a.d[e],h=a.c[e-1],f=[f,g],b=100/(a.c[e]-h)*(b-h)*(f[1]-f[0])/100+f[0]}this.A=b=this.format(b),"function"==typeof this.method?this.method.call(this.target[0]||d[0],b,c,d):this.target[this.method](b,c,d)}},k.prototype.format=function(a){return this.g.C(a)},k.prototype.valueOf=function(a){return this.g.t(a)},a.noUiSlider={Link:k},a.fn.noUiSlider=function(a,b){return(b?E:D).call(this,a)},a.fn.val=function(){var b,c,d,f,g=Array.prototype.slice.call(arguments,0);return g.length?("object"==typeof g[1]?(b=g[1].set,c=g[1].link,d=g[1].update,f=g[1].animate):!0===g[1]&&(b=!0),this.each(function(){a(this).hasClass(I[0])?this.F(e(g[0]),b,c,d,f):G.apply(a(this),g)})):this.hasClass(I[0])?this[0].D():G.apply(this)}}(window.jQuery||window.Zepto);
libs/factory/bootstrap/assets/js-min/plugin.paddings-editor.min.js ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2018-02-26
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){this.$element=a(b),this.$rectangle=this.$element.find(".factory-rectangle"),this.$center=this.$element.find(".factory-side-center"),this.$bar=this.$element.find(".factory-bar"),this.$sides=this.$element.find(".factory-side"),this.$result=this.$element.find(".factory-result"),this.units=this.$element.data("units"),this.rangeStart=this.$element.data("range-start"),this.rangeEnd=this.$element.data("range-end"),this.step=this.$element.data("step"),this._createCanvas(),this._createSlider(),this._initMouse(),this.selectSide("center")};b.prototype._createCanvas=function(){var b=this;this._recalculateSizes(),this.$canvas=a("<canvas width='"+b.elementWidth+"' height='"+b.elementHeight+"'>").appendTo(this.$rectangle),this.canvasContext=this.$canvas.get(0).getContext("2d"),this._redraw()},b.prototype._createSlider=function(){var a=this;this.$bar.noUiSlider({start:parseInt(a.$center.data("value")),range:{min:a.rangeStart,max:a.rangeEnd},step:a.step}),this.$bar.on("slide",function(){var b=parseInt(a.$bar.val()),c=b+a.units;"center"===a.activeSide?(a.$sides.data("value",b),a.$sides.find(".factory-visible-value").text(c)):(a.$activeSide.data("value",b),a.$activeSide.find(".factory-visible-value").text(c))}),this.$bar.on("set",function(){a.$result.val(a.getValue()),a.$result.trigger("change")})},b.prototype.getValue=function(){var a=this.$element.find(".factory-side-top").data("value"),b=this.$element.find(".factory-side-right").data("value"),c=this.$element.find(".factory-side-bottom").data("value"),d=this.$element.find(".factory-side-left").data("value");return a+this.units+" "+b+this.units+" "+c+this.units+" "+d+this.units},b.prototype.selectSide=function(a){this.activeSide!==a&&(this.activeSide=a,this.$activeSide=this.$element.find(".factory-side-"+this.activeSide),this.$element.find(".factory-side.factory-active").removeClass("factory-active"),this.$activeSide.addClass("factory-active"),this._redraw(),this.$bar.val(this.$activeSide.data("value")))},b.prototype._initMouse=function(){var a=this;this._recalculateSizes(),this.$rectangle.on("mousemove.paddings-editor",function(b){a.hoveredSide=a._getCurrentSide(b.pageX,b.pageY),a.hoveredSide!==a.lastHoveredSide&&(a.lastHoveredSide=a.hoveredSide,a._redraw())}),this.$rectangle.on("mouseleave.paddings-editor",function(b){a.hoveredSide=a.lastHoveredSide=null,a._redraw()}),this.$rectangle.on("click.paddings-editor",function(b){var c=a._getCurrentSide(b.pageX,b.pageY);a.selectSide(c)})},b.prototype._getCurrentSide=function(a,b){var c=this.$element.offset(),d=a-c.left,e=b-c.top,f=d-this.centerX,g=e-this.centerY,h=Math.sqrt(Math.pow(f,2)+Math.pow(g,2));if(h<=this.centerR)return"center";var i=this.elementHeight,j=this.elementWidth,k=-this.elementWidth*this.elementHeight,l=-(k+i*d)/j,m=-this.elementHeight,n=this.elementWidth,o=0,p=-(o+m*d)/n;return e>l&&p>e?"right":l>e&&e>p?"left":l>e&&p>e?"top":e>l&&e>p?"bottom":null},b.prototype._redraw=function(){this.canvasContext.clearRect(0,0,this.elementWidth,this.elementHeight),this._highlightSide("top","#a6b6b6"),this._highlightSide("bottom","#a6b6b6"),this._highlightSide("left","#aec0c0"),this._highlightSide("right","#aec0c0"),this._highlightSide(this.hoveredSide,"#c0cece"),this.activeSide&&this._highlightSide(this.activeSide,"#829595")},b.prototype._highlightSide=function(a,b){a&&"center"!==a&&(this.canvasContext.fillStyle=b,this.canvasContext.beginPath(),"top"===a?(this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(this.elementWidth,0)):"bottom"===a?(this.canvasContext.moveTo(0,this.elementHeight),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(this.elementWidth,this.elementHeight)):"left"===a?(this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(0,this.elementHeight)):"right"===a&&(this.canvasContext.moveTo(this.elementWidth,0),this.canvasContext.lineTo(this.centerX,this.centerY),this.canvasContext.lineTo(this.elementWidth,this.elementHeight)),this.canvasContext.closePath(),this.canvasContext.fill())},b.prototype._recalculateSizes=function(){this.elementOffset=this.$element.offset(),this.elementWidth=this.$rectangle.innerWidth(),this.elementHeight=this.$rectangle.innerHeight(),this.centerSize=this.$center.innerWidth(),this.centerR=this.centerSize/2,this.centerX=this.elementWidth/2,this.centerY=this.elementHeight/2},a.fn.factoryBootstrap422_paddingsEditor=function(c){if("string"==typeof c){var d=a(this).data("factory.paddings-editor");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.paddings-editor");d||c.data("factory.paddings-editor",d=new b(this))})},a.fn.factoryBootstrap422_paddingsEditor.Constructor=b,a(function(){a(".factory-bootstrap-422 .factory-paddings-editor").factoryBootstrap422_paddingsEditor()})}(jQuery);
libs/factory/bootstrap/boot.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Factory Bootstrap
4
+ *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
6
+ * @since 1.0.0
7
+ * @package factory-bootstrap
8
+ * @copyright (c) 2018, Webcraftic Ltd
9
+ *
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ // module provides function only for the admin area
18
+ if ( ! is_admin() ) {
19
+ return;
20
+ }
21
+
22
+ if ( defined( 'FACTORY_BOOTSTRAP_422_LOADED' ) ) {
23
+ return;
24
+ }
25
+
26
+ define( 'FACTORY_BOOTSTRAP_422_VERSION', '4.2.2' );
27
+ define( 'FACTORY_BOOTSTRAP_422_LOADED', true );
28
+
29
+ if ( ! defined( 'FACTORY_FLAT_ADMIN' ) ) {
30
+ define( 'FACTORY_FLAT_ADMIN', true );
31
+ }
32
+
33
+ define( 'FACTORY_BOOTSTRAP_422_DIR', dirname( __FILE__ ) );
34
+ define( 'FACTORY_BOOTSTRAP_422_URL', plugins_url( null, __FILE__ ) );
35
+
36
+ require_once( FACTORY_BOOTSTRAP_422_DIR . '/includes/functions.php' );
37
+
38
+ /**
39
+ * @param Wbcr_Factory421_Plugin $plugin
40
+ */
41
+ add_action( 'wbcr_factory_bootstrap_422_plugin_created', function ( $plugin ) {
42
+ $manager = new Wbcr_FactoryBootstrap422_Manager( $plugin );
43
+ $plugin->setBootstap( $manager );
44
+ } );
45
+
46
+
libs/factory/bootstrap/includes/functions.php ADDED
@@ -0,0 +1,286 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file manages assets of the Factory Bootstap.
4
+ *
5
+ * @author Alex Kovalev <alex@byonepress.com>
6
+ * @author Paul Kashtanoff <paul@byonepress.com>
7
+ * @since 1.0.0
8
+ * @package factory-bootstrap
9
+ * @copyright (c) 2018, OnePress Ltd
10
+ *
11
+ */
12
+
13
+ // Exit if accessed directly
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ /**
19
+ * The Bootstrap Manager class.
20
+ *
21
+ * @since 3.2.0
22
+ */
23
+ class Wbcr_FactoryBootstrap422_Manager {
24
+
25
+ /**
26
+ * A plugin for which the manager was created.
27
+ *
28
+ * @since 3.2.0
29
+ * @var Wbcr_Factory421_Plugin
30
+ */
31
+ public $plugin;
32
+
33
+ /**
34
+ * Contains scripts to include.
35
+ *
36
+ * @since 3.2.0
37
+ * @var string[]
38
+ */
39
+ public $scripts = [];
40
+
41
+ /**
42
+ * Contains styles to include.
43
+ *
44
+ * @since 3.2.0
45
+ * @var string[]
46
+ */
47
+ public $styles = [];
48
+
49
+ /**
50
+ * Createas a new instance of the license api for a given plugin.
51
+ *
52
+ * @since 1.0.0
53
+ */
54
+ public function __construct( Wbcr_Factory421_Plugin $plugin ) {
55
+ $this->plugin = $plugin;
56
+
57
+ add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
58
+ add_filter( 'admin_body_class', [ $this, 'adminBodyClass' ] );
59
+ }
60
+
61
+ /**
62
+ * Includes the Bootstrap scripts.
63
+ *
64
+ * @since 3.2.0
65
+ *
66
+ * @param array|string $scripts
67
+ */
68
+ public function enqueueScript( $scripts ) {
69
+ if ( is_array( $scripts ) ) {
70
+ foreach ( $scripts as $script ) {
71
+ if ( ! in_array( $script, $this->scripts ) ) {
72
+ $this->scripts[] = $script;
73
+ }
74
+ }
75
+ } else {
76
+ if ( ! in_array( $scripts, $this->scripts ) ) {
77
+ $this->scripts[] = $scripts;
78
+ }
79
+ }
80
+ }
81
+
82
+ /**
83
+ * * Includes the Bootstrap styles.
84
+ *
85
+ * @since 3.2.0
86
+ *
87
+ * @param array|string $styles
88
+ */
89
+ public function enqueueStyle( $styles ) {
90
+
91
+ if ( is_array( $styles ) ) {
92
+ foreach ( $styles as $style ) {
93
+ if ( ! in_array( $style, $this->styles ) ) {
94
+ $this->styles[] = $style;
95
+ }
96
+ }
97
+ } else {
98
+ if ( ! in_array( $styles, $this->styles ) ) {
99
+ $this->styles[] = $styles;
100
+ }
101
+ }
102
+ }
103
+
104
+ /**
105
+ * Loads Bootstrap assets.
106
+ *
107
+ * @since 3.2.0
108
+ * @return void
109
+ * @see admin_enqueue_scripts
110
+ *
111
+ */
112
+ public function loadAssets( $hook ) {
113
+
114
+ do_action( 'wbcr_factory_421_bootstrap_enqueue_scripts', $hook );
115
+ do_action( 'wbcr_factory_421_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
116
+
117
+ $dependencies = [];
118
+ if ( ! empty( $this->scripts ) ) {
119
+ $dependencies[] = 'jquery';
120
+ $dependencies[] = 'jquery-ui-core';
121
+ $dependencies[] = 'jquery-ui-widget';
122
+ }
123
+
124
+ foreach ( $this->scripts as $script ) {
125
+ switch ( $script ) {
126
+ case 'plugin.iris':
127
+ $dependencies[] = 'jquery-ui-widget';
128
+ $dependencies[] = 'jquery-ui-slider';
129
+ $dependencies[] = 'jquery-ui-draggable';
130
+ break;
131
+ }
132
+ }
133
+
134
+ if ( ! empty( $this->scripts ) ) {
135
+ $this->enqueueScripts( $this->scripts, 'js', $dependencies );
136
+ }
137
+ if ( ! empty( $this->styles ) ) {
138
+ $this->enqueueScripts( $this->styles, 'css', $dependencies );
139
+ }
140
+
141
+ $user_id = get_current_user_id();
142
+ $color_name = get_user_meta( $user_id, 'admin_color', true );
143
+
144
+ if ( $color_name !== 'fresh' ) {
145
+ if ( file_exists( FACTORY_BOOTSTRAP_422_DIR . '/assets/flat/css/bootstrap.' . $color_name . '.css' ) ) {
146
+ wp_enqueue_style( 'wbcr-factory-bootstrap-422-colors', FACTORY_BOOTSTRAP_422_URL . '/assets/flat/css/bootstrap.' . $color_name . '.css' );
147
+ }
148
+ }
149
+
150
+ if ( $color_name == 'light' ) {
151
+ $primary_dark = '#037c9a';
152
+ $primary_light = '#04a4cc';
153
+ } else if ( $color_name == 'blue' ) {
154
+ $primary_dark = '#d39323';
155
+ $primary_light = '#e1a948';
156
+ } else if ( $color_name == 'coffee' ) {
157
+ $primary_dark = '#b78a66';
158
+ $primary_light = '#c7a589';
159
+ } else if ( $color_name == 'ectoplasm' ) {
160
+ $primary_dark = '#839237';
161
+ $primary_light = '#a3b745';
162
+ } else if ( $color_name == 'ocean' ) {
163
+ $primary_dark = '#80a583';
164
+ $primary_light = '#9ebaa0';
165
+ } else if ( $color_name == 'midnight' ) {
166
+ $primary_dark = '#d02a21';
167
+ $primary_light = '#e14d43';
168
+ } else if ( $color_name == 'sunrise' ) {
169
+ $primary_dark = '#c36822';
170
+ $primary_light = '#dd823b';
171
+ } else {
172
+ $primary_dark = '#0074a2';
173
+ $primary_light = '#2ea2cc';
174
+ }
175
+
176
+ ?>
177
+ <script>
178
+ if( !window.factory ) {
179
+ window.factory = {};
180
+ }
181
+ if( !window.factory.factoryBootstrap422 ) {
182
+ window.factory.factoryBootstrap422 = {};
183
+ }
184
+ window.factory.factoryBootstrap422.colors = {
185
+ primaryDark: '<?php echo $primary_dark ?>',
186
+ primaryLight: '<?php echo $primary_light ?>'
187
+ };
188
+ </script>
189
+ <?php
190
+ }
191
+
192
+ /**
193
+ * @param array $sripts
194
+ * @param string $type
195
+ * @param array $dependencies
196
+ */
197
+ protected function enqueueScripts( array $sripts, $type = 'js', array $dependencies ) {
198
+
199
+ $is_first = true;
200
+
201
+ /**
202
+ * Sets permission for file caching and combining into one file.
203
+ *
204
+ * @since 4.1.0
205
+ */
206
+ $cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
207
+
208
+ $cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
209
+ $cache_dir_path = FACTORY_BOOTSTRAP_422_DIR . '/assets/cache/';
210
+ $cache_dir_url = FACTORY_BOOTSTRAP_422_URL . '/assets/cache/';
211
+
212
+ $cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
213
+ $cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
214
+
215
+ if ( $cache_enable && file_exists( $cache_filepath ) ) {
216
+ if ( $type == 'js' ) {
217
+ wp_enqueue_script( 'wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, $dependencies, $this->plugin->getPluginVersion() );
218
+ } else {
219
+ wp_enqueue_style( 'wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, [], $this->plugin->getPluginVersion() );
220
+ }
221
+ } else {
222
+ $cache_dir_exists = false;
223
+ if ( ! file_exists( $cache_dir_path ) ) {
224
+ if ( @mkdir( $cache_dir_path, 0755 ) && wp_is_writable( $cache_dir_path ) ) {
225
+ $cache_dir_exists = true;
226
+ }
227
+ } else {
228
+ if ( wp_is_writable( $cache_dir_path ) ) {
229
+ $cache_dir_exists = true;
230
+ }
231
+ }
232
+
233
+ $concat_files = [];
234
+ foreach ( $sripts as $script_to_load ) {
235
+ $script_to_load = sanitize_text_field( $script_to_load );
236
+ if ( $cache_enable && $cache_dir_exists ) {
237
+ $fname = FACTORY_BOOTSTRAP_422_DIR . "/assets/$type-min/$script_to_load.min." . $type;
238
+ if ( file_exists( $fname ) ) {
239
+ $f = @fopen( $fname, 'r' );
240
+ $concat_files[] = @fread( $f, filesize( $fname ) );
241
+ @fclose( $f );
242
+ }
243
+ } else {
244
+ if ( $type == 'js' ) {
245
+ wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_422_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
246
+ } else {
247
+ wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_422_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
248
+ }
249
+ $is_first = false;
250
+ }
251
+ }
252
+
253
+ if ( $cache_enable && $cache_dir_exists && ! empty( $concat_files ) ) {
254
+
255
+ $cf = @fopen( $cache_filepath, 'w' );
256
+ $write_content = implode( PHP_EOL, $concat_files );
257
+ @fwrite( $cf, $write_content );
258
+ @fclose( $cf );
259
+ chmod( $cache_filepath, 0755 );
260
+
261
+ if ( file_exists( $cache_filepath ) ) {
262
+ if ( $type == 'js' ) {
263
+ wp_enqueue_script( 'wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, $dependencies, $this->plugin->getPluginVersion() );
264
+ } else {
265
+ wp_enqueue_style( 'wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, [], $this->plugin->getPluginVersion() );
266
+ }
267
+ }
268
+ }
269
+ }
270
+ }
271
+
272
+ /**
273
+ * Adds the body classes: 'factory-flat or 'factory-volumetric'.
274
+ *
275
+ * @since 3.2.0
276
+ *
277
+ * @param string $classes
278
+ *
279
+ * @return string
280
+ */
281
+ public function adminBodyClass( $classes ) {
282
+ $classes .= FACTORY_FLAT_ADMIN ? ' factory-flat ' : ' factory-volumetric ';
283
+
284
+ return $classes;
285
+ }
286
+ }
libs/factory/bootstrap/includes/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
libs/factory/bootstrap/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
libs/factory/core/README.md ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ # Core Factory Framework
2
+
3
+ It performs the connection of system modules of the framework, is responsible for migrations, plugin updates, admin notifications, initialization of the plugin.
libs/factory/core/boot.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Factory Plugin
4
+ *
5
+ * @author @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
6
+ * @since 1.0.0
7
+ * @package core
8
+ * @copyright (c) 2018, Webcraftic Ltd
9
+ *
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ if ( defined( 'FACTORY_421_LOADED' ) ) {
18
+ return;
19
+ }
20
+
21
+ define( 'FACTORY_421_LOADED', true );
22
+
23
+ define( 'FACTORY_421_VERSION', '4.2.1' );
24
+
25
+ define( 'FACTORY_421_DIR', dirname( __FILE__ ) );
26
+ define( 'FACTORY_421_URL', plugins_url( null, __FILE__ ) );
27
+
28
+ load_plugin_textdomain( 'wbcr_factory_421', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
29
+
30
+ #comp merge
31
+ require_once( FACTORY_421_DIR . '/includes/functions.php' );
32
+
33
+ require_once( FACTORY_421_DIR . '/includes/entities/class-factory-paths.php' );
34
+ require_once( FACTORY_421_DIR . '/includes/entities/class-factory-support.php' );
35
+
36
+ require_once( FACTORY_421_DIR . '/includes/class-factory-requests.php' );
37
+ require_once( FACTORY_421_DIR . '/includes/class-factory-options.php' );
38
+ require_once( FACTORY_421_DIR . '/includes/class-factory-plugin-base.php' );
39
+ require_once( FACTORY_421_DIR . '/includes/class-factory-migrations.php' );
40
+ require_once( FACTORY_421_DIR . '/includes/class-factory-notices.php' );
41
+
42
+ // ASSETS
43
+ require_once( FACTORY_421_DIR . '/includes/assets-managment/class-factory-assets-list.php' );
44
+ require_once( FACTORY_421_DIR . '/includes/assets-managment/class-factory-script-list.php' );
45
+ require_once( FACTORY_421_DIR . '/includes/assets-managment/class-factory-style-list.php' );
46
+
47
+ // PREMIUM
48
+ require_once( FACTORY_421_DIR . '/includes/premium/class-factory-license-interface.php' );
49
+ require_once( FACTORY_421_DIR . '/includes/premium/class-factory-provider-abstract.php' );
50
+ require_once( FACTORY_421_DIR . '/includes/premium/class-factory-manager.php' );
51
+
52
+ // UPDATES
53
+ require_once( FACTORY_421_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php' );
54
+ require_once( FACTORY_421_DIR . '/includes/updates/repositories/class-factory-wordpress.php' );
55
+ require_once( FACTORY_421_DIR . '/includes/updates/class-factory-upgrader.php' );
56
+ require_once( FACTORY_421_DIR . '/includes/updates/class-factory-premium-upgrader.php' );
57
+
58
+ require_once( FACTORY_421_DIR . '/includes/class-factory-plugin-abstract.php' );
59
+
60
+ require_once( FACTORY_421_DIR . '/includes/activation/class-factory-activator.php' );
61
+ require_once( FACTORY_421_DIR . '/includes/activation/class-factory-update.php' );
62
+ #endcomp
libs/factory/core/includes/activation/class-factory-activator.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The file contains a base class for plugin activators.
4
+ *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
6
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
7
+ *
8
+ * @package factory-core
9
+ * @since 1.0.0
10
+ */
11
+ // Exit if accessed directly
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+
16
+
17
+ /**
18
+ * Plugin Activator
19
+ *
20
+ * @since 1.0.0
21
+ */
22
+ abstract class Wbcr_Factory421_Activator {
23
+
24
+ /**
25
+ * Curent plugin.
26
+ *
27
+ * @var Wbcr_Factory421_Plugin
28
+ */
29
+ public $plugin;
30
+
31
+ public function __construct( Wbcr_Factory421_Plugin $plugin ) {
32
+ $this->plugin = $plugin;
33
+ }
34
+
35
+ public function activate() {
36
+ }
37
+
38
+ public function deactivate() {
39
+ }
40
+
41
+ public function update() {
42
+ }
43
+ }
libs/factory/core/includes/activation/class-factory-update.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The file contains a base class for update items of plugins.
4
+ *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
6
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
7
+ *
8
+ * @package factory-core
9
+ * @since 1.0.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+
18
+ /**
19
+ * Plugin Activator
20
+ *
21
+ * @since 1.0.0
22
+ */
23
+ abstract class Wbcr_Factory421_Update {
24
+
25
+ /**
26
+ * Current plugin
27
+ *
28
+ * @var Wbcr_Factory421_Plugin
29
+ */
30
+ var $plugin;
31
+
32
+ public function __construct( Wbcr_Factory421_Plugin $plugin ) {
33
+ $this->plugin = $plugin;
34
+ }
35
+
36
+ abstract function install();
37
+
38
+ //abstract function rollback();
39
+ }
libs/factory/core/includes/activation/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
libs/factory/core/includes/assets-managment/class-factory-assets-list.php ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The class contains a base class for all lists of assets.
4
+ *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
6
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
7
+ *
8
+ * @package factory-core
9
+ * @since 1.0.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ /**
18
+ * Assets List
19
+ *
20
+ * @since 1.0.0
21
+ */
22
+ class Wbcr_Factory421_AssetsList {
23
+
24
+ protected $all = [];
25
+ public $header_place = [];
26
+ public $footer_place = [];
27
+ public $required = [];
28
+
29
+ protected $default_place;
30
+
31
+ /**
32
+ * @var Wbcr_Factory421_Plugin
33
+ */
34
+ protected $plugin;
35
+
36
+ /**
37
+ * @param Wbcr_Factory421_Plugin $plugin
38
+ * @param bool $defaultIsFooter
39
+ */
40
+ public function __construct( Wbcr_Factory421_Plugin $plugin, $defaultIsFooter = true ) {
41
+ $this->plugin = $plugin;
42
+
43
+ if ( $defaultIsFooter ) {
44
+ $this->default_place = &$this->footer_place;
45
+ }
46
+ if ( ! $defaultIsFooter ) {
47
+ $this->default_place = &$this->header_place;
48
+ }
49
+ }
50
+
51
+ /**
52
+ * Remove items from the collection
53
+ *
54
+ * @return $this
55
+ */
56
+ public function deregister() {
57
+ foreach ( func_get_args() as $item ) {
58
+
59
+ if ( ! is_string( $item ) ) {
60
+ return $this;
61
+ }
62
+
63
+ $key_in_all = array_search( $item, $this->all );
64
+ $key_in_default_place = array_search( $item, $this->default_place );
65
+ $key_in_header_place = array_search( $item, $this->header_place );
66
+ $key_inFooterPlace = array_search( $item, $this->footer_place );
67
+
68
+ if ( $key_in_all ) {
69
+ unset( $this->all[ $key_in_all ] );
70
+ }
71
+ if ( $key_in_default_place ) {
72
+ unset( $this->default_place[ $key_in_default_place ] );
73
+ }
74
+ if ( $key_in_header_place ) {
75
+ unset( $this->header_place[ $key_in_header_place ] );
76
+ }
77
+ if ( $key_inFooterPlace ) {
78
+ unset( $this->footer_place[ $key_inFooterPlace ] );
79
+ }
80
+ }
81
+
82
+ return $this;
83
+ }
84
+
85
+ /**
86
+ * Checks whether the collection is empty.
87
+ *
88
+ * @param string $source if the 'bootstrap' specified, checks only whether the bootstrap assets were required.
89
+ *
90
+ * @return boolean
91
+ */
92
+ public function isEmpty( $source = 'wordpress' ) {
93
+ if ( 'bootstrap' === $source ) {
94
+ return empty( $this->required[ $source ] );
95
+ }
96
+
97
+ return empty( $this->all ) && empty( $this->required );
98
+ }
99
+
100
+ public function IsHeaderEmpty() {
101
+ return empty( $this->header_place );
102
+ }
103
+
104
+ public function IsFooterEmpty() {
105
+ return empty( $this->footer_place );
106
+ }
107
+
108
+ /**
109
+ * Adds new items to the requried collection.
110
+ *
111
+ * @param mixed
112
+ */
113
+ public function request( $items, $source = 'wordpress' ) {
114
+
115
+ if ( is_array( $items ) ) {
116
+ foreach ( $items as $item ) {
117
+ $this->required[ $source ][] = $item;
118
+ }
119
+ } else {
120
+ $this->required[ $source ][] = $items;
121
+ }
122
+
123
+ return $this;
124
+ }
125
+ }
126
+
libs/factory/core/includes/assets-managment/class-factory-script-list.php ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The file contains a class to manage script assets.
4
+ *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
6
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
7
+ *
8
+ * @package factory-core
9
+ * @since 1.0.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+
18
+ /**
19
+ * Script List
20
+ *
21
+ * @since 1.0.0
22
+ */
23
+ class Wbcr_Factory421_ScriptList extends Wbcr_Factory421_AssetsList {
24
+
25
+ public $localize_data = [];
26
+ public $use_ajax = false;
27
+
28
+ /**
29
+ * Adds new items to the collection (default place).
30
+ *
31
+ * @param mixed
32
+ *
33
+ * @version 2.0
34
+ */
35
+ public function add( $file_url, $deps = [ 'jquery' ], $handle = null, $version = false, $place = 'default' ) {
36
+
37
+ if ( empty( $file_url ) ) {
38
+ return $this;
39
+ }
40
+
41
+ $resource = [];
42
+ $resource['file_url'] = $file_url;
43
+ $resource['deps'] = $deps;
44
+ $resource['handle'] = $handle;
45
+ $resource['version'] = $version;
46
+
47
+ $this->all[] = $resource;
48
+
49
+ switch ( $place ) {
50
+ case 'header':
51
+ $this->header_place[] = $resource;
52
+ break;
53
+ case 'footer':
54
+ $this->footer_place[] = $resource;
55
+ break;
56
+ default:
57
+ $this->default_place[] = $resource;
58
+ break;
59
+ }
60
+
61
+ return $this;
62
+ }
63
+
64
+ /**
65
+ * Adds new items to the collection (header).
66
+ *
67
+ * @param mixed
68
+ */
69
+ public function addToHeader( $file_url, $deps = [ 'jquery' ], $handle = null ) {
70
+ return $this->add( $file_url, $deps, $handle, 'header' );
71
+ }
72
+
73
+ /**
74
+ * Adds new items to the collection (footer).
75
+ *
76
+ * @param mixed
77
+ */
78
+ public function addToFooter( $file_url, $deps = [ 'jquery' ], $handle = null ) {
79
+ return $this->add( $file_url, $deps, $handle, 'footer' );
80
+ }
81
+
82
+ /**
83
+ * Осуществляет подключение всех зарегистрированных скриптов
84
+ *
85
+ * @param string $source
86
+ */
87
+ public function connect( $source = 'wordpress' ) {
88
+
89
+ // register all global required scripts
90
+ if ( ! empty( $this->required[ $source ] ) ) {
91
+ foreach ( $this->required[ $source ] as $script ) {
92
+ if ( 'wordpress' === $source ) {
93
+ wp_enqueue_script( $script );
94
+ } else if ( 'bootstrap' === $source ) {
95
+ $this->plugin->bootstrap->enqueueScript( $script );
96
+ }
97
+ }
98
+ }
99
+
100
+ if ( $source == 'bootstrap' ) {
101
+ return;
102
+ }
103
+
104
+ $is_first_script = true;
105
+ $is_footer = false;
106
+
107
+ // register all other scripts
108
+ foreach ( [ $this->header_place, $this->footer_place ] as $script_place ) {
109
+ foreach ( $script_place as $script ) {
110
+
111
+ if ( empty( $script['file_url'] ) ) {
112
+ continue;
113
+ }
114
+
115
+ $handle = ! empty( $script['handle'] ) ? $script['handle'] : $script['file_url'];
116
+ $deps = ! is_array( $script['deps'] ) ? [] : $script['deps'];
117
+ $version = ! empty( $script['version'] ) ? $script['version'] : $this->plugin->getPluginVersion();
118
+
119
+ wp_register_script( $handle, $script['file_url'], $deps, $version, $is_footer );
120
+
121
+ if ( $is_first_script && $this->use_ajax ) {
122
+ wp_localize_script( $handle, 'factory', [ 'ajaxurl' => admin_url( 'admin-ajax.php' ) ] );
123
+ }
124
+
125
+ if ( ! empty( $this->localize_data[ $handle ] ) ) {
126
+ wp_localize_script( $handle, $this->localize_data[ $handle ][0], $this->localize_data[ $handle ][1] );
127
+ }
128
+
129
+ wp_enqueue_script( $handle );
130
+
131
+ $is_first_script = false;
132
+ }
133
+
134
+ $is_footer = true;
135
+ }
136
+ }
137
+
138
+ /**
139
+ * Если вызвать этот метод, на странице будет обязательно добавлена
140
+ * глобальная JS переменная с ссылкой на ajax обработчик
141
+ */
142
+ public function useAjax() {
143
+ $this->use_ajax = true;
144
+ }
145
+
146
+ /**
147
+ * Регистрирует глобальную JS переменную с пользовательскими данными
148
+ *
149
+ * @param string $varname
150
+ * @param string $data
151
+ *
152
+ * @return Wbcr_Factory421_ScriptList $this
153
+ */
154
+ public function localize( $varname, $data ) {
155
+ $bindTo = count( $this->all ) == 0 ? null : end( $this->all );
156
+
157
+ if ( ! $bindTo ) {
158
+ return $this;
159
+ }
160
+
161
+ $this->localize_data[ $bindTo ] = [ $varname, $data ];
162
+
163
+ return $this;
164
+ }
165
+ }
166
+
libs/factory/core/includes/assets-managment/class-factory-style-list.php ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The file contains a class to manage style assets.
4
+ *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
6
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
7
+ *
8
+ * @package factory-core
9
+ * @since 1.0.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+
18
+ /**
19
+ * Style List
20
+ *
21
+ * @since 1.0.0
22
+ */
23
+ class Wbcr_Factory421_StyleList extends Wbcr_Factory421_AssetsList {
24
+
25
+ /**
26
+ * Adds new items to the collection (default place).
27
+ *
28
+ * @param mixed
29
+ *
30
+ * @version 2.0
31
+ */
32
+ public function add( $file_url, $deps = [], $handle = null, $version = false, $media = 'all' ) {
33
+
34
+ if ( empty( $file_url ) ) {
35
+ return $this;
36
+ }
37
+
38
+ $resource = [];
39
+ $resource['file_url'] = $file_url;
40
+ $resource['deps'] = $deps;
41
+ $resource['handle'] = $handle;
42
+ $resource['version'] = $version;
43
+ $resource['media'] = $media;
44
+
45
+ $this->all[] = $resource;
46
+
47
+ return $this;
48
+ }
49
+
50
+ public function connect( $source = 'wordpress' ) {
51
+ // register all global required scripts
52
+ if ( ! empty( $this->required[ $source ] ) ) {
53
+
54
+ foreach ( $this->required[ $source ] as $style ) {
55
+ if ( 'wordpress' === $source ) {
56
+ wp_enqueue_style( $style );
57
+ } else if ( 'bootstrap' === $source ) {
58
+ $this->plugin->bootstrap->enqueueStyle( $style );
59
+ }
60
+ }
61
+ }
62
+
63
+ if ( $source == 'bootstrap' ) {
64
+ return;
65
+ }
66
+
67
+ if ( empty( $this->all ) ) {
68
+ return;
69
+ }
70
+
71
+ // register all other styles
72
+ foreach ( $this->all as $style ) {
73
+
74
+ if ( empty( $style['file_url'] ) ) {
75
+ continue;
76
+ }
77
+
78
+ $handle = ! empty( $style['handle'] ) ? $style['handle'] : md5( $style['file_url'] );
79
+ $deps = ! is_array( $style['deps'] ) ? [] : $style['deps'];
80
+ $version = ! empty( $style['version'] ) ? $style['version'] : $this->plugin->getPluginVersion();
81
+
82
+ wp_enqueue_style( $handle, $style['file_url'], $deps, $version );
83
+ }
84
+ }
85
+ }
86
+
libs/factory/core/includes/assets-managment/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
libs/factory/core/includes/class-check-compatibility.php ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Проверяет совместимость с плагинами Webcraftic, с версиями php, с версиями Wordpress
5
+ *
6
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
7
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
8
+ *
9
+ * @version 1.0.0
10
+ * @since 4.0.8
11
+ */
12
+
13
+ if ( ! class_exists( 'Wbcr_Factory_Compatibility' ) ) {
14
+ class Wbcr_Factory_Compatibility {
15
+
16
+ protected $plugin_prefix;
17
+ protected $plugin_class_prefix;
18
+ protected $plugin_name;
19
+ protected $plugin_title = "(no title)";
20
+ protected $required_php_version = '5.3';
21
+ protected $required_wp_version = '4.2.0';
22
+
23
+ function __construct( array $plugin_info ) {
24
+ foreach ( (array) $plugin_info as $property => $value ) {
25
+ $this->$property = $value;
26
+ }
27
+
28
+ add_action( 'admin_init', [ $this, 'registerNotices' ] );
29
+ }
30
+
31
+ /**
32
+ * Метод проверяет совместимость плагина с php и wordpress версией
33
+ *
34
+ * @return bool
35
+ */
36
+ public function check() {
37
+ if ( ! $this->isPhpCompatibility() ) {
38
+ return false;
39
+ }
40
+
41
+ if ( ! $this->isWpCompatibility() ) {
42
+ return false;
43
+ }
44
+
45
+ return true;
46
+ }
47
+
48
+ /**
49
+ * Метод проверяет совместимость плагина с php версией сервера
50
+ *
51
+ * @return mixed
52
+ */
53
+ public function isPhpCompatibility() {
54
+ return version_compare( PHP_VERSION, $this->required_php_version, '>=' );
55
+ }
56
+
57
+ /**
58
+ * Метод проверяет совместимость плагина с Wordpress версией сайта
59
+ *
60
+ * @return mixed
61
+ */
62
+ public function isWpCompatibility() {
63
+ // Get the WP Version global.
64
+ global $wp_version;
65
+
66
+ return version_compare( $wp_version, $this->required_wp_version, '>=' );
67
+ }
68
+
69
+ /**
70
+ * Метод возвращает текст уведомления
71
+ *
72
+ * @return string
73
+ */
74
+ public function getNoticeText() {
75
+ $notice_text = $notice_default_text = '';
76
+ $notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
77
+
78
+ $notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_000' ), $this->plugin_title ) . ' ';
79
+ $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
80
+
81
+ $has_one = false;
82
+
83
+ if ( ! $this->isPhpCompatibility() ) {
84
+ $has_one = true;
85
+ $notice_text .= '- ' . sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_421' ), $this->required_php_version ) . '<br>';
86
+ }
87
+
88
+ if ( ! $this->isWpCompatibility() ) {
89
+ $has_one = true;
90
+ $notice_text .= '- ' . sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_421' ), $this->required_wp_version ) . '<br>';
91
+ }
92
+
93
+ if ( $has_one ) {
94
+ $notice_text = $notice_default_text . $notice_text;
95
+ }
96
+
97
+ return $notice_text;
98
+ }
99
+
100
+ public function registerNotices() {
101
+ if ( current_user_can( 'activate_plugins' ) && current_user_can( 'edit_plugins' ) && current_user_can( 'install_plugins' ) ) {
102
+ if ( is_multisite() ) {
103
+ add_action( 'network_admin_notices', [ $this, 'showNotice' ] );
104
+ }
105
+
106
+ add_action( 'admin_notices', [ $this, 'showNotice' ] );
107
+ }
108
+ }
109
+
110
+ public function showNotice() {
111
+ $notice_text = $this->getNoticeText();
112
+
113
+ if ( empty( $notice_text ) ) {
114
+ return;
115
+ }
116
+
117
+ $notice_text = '<p>' . $this->getNoticeText() . '</p>';
118
+
119
+ echo '<div class="notice notice-error">' . apply_filters( 'wbcr/factory/check_compatibility/notice_text', $notice_text, $this->plugin_name ) . '</div>';
120
+ }
121
+ }
122
+ }
libs/factory/core/includes/class-factory-migrations.php ADDED
@@ -0,0 +1,541 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WBCR\Factory_421;
4
+
5
+ use Exception;
6
+ use Wbcr_Factory421_Plugin;
7
+
8
+ if ( ! defined( 'ABSPATH' ) ) {
9
+ exit;
10
+ }
11
+
12
+ /**
13
+ * Often when updating plugins, you need to make some changes to the database.
14
+ * This class automatically checks for plugin migrations and executes them when
15
+ * updating.
16
+ *
17
+ * The class has a debug mode, to enable the debug mode add constants to your plugin:
18
+ * define ('FACTORY_MIGRATIONS_DEBUG', true) - enables/disables debugging mode
19
+ * define ('FACTORY_MIGRATIONS_FORCE_OLD_VERSION', '1.1.9') - sets previous version
20
+ * for the plugin, if constant isn't set, then the previous version is taken from
21
+ * the database.
22
+ *
23
+ * todo: get_option and get_site_option are used because some caching plugins caching options, which causes problems
24
+ *
25
+ *
26
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
27
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
28
+ *
29
+ * @since 4.1.1
30
+ */
31
+ class Migrations {
32
+
33
+ protected $plugin;
34
+
35
+ /**
36
+ * Migrations constructor.
37
+ *
38
+ * @param Wbcr_Factory421_Plugin $plugin
39
+ *
40
+ * @throws Exception
41
+ */
42
+ public function __construct( Wbcr_Factory421_Plugin $plugin ) {
43
+
44
+ $this->plugin = $plugin;
45
+ $plugin_name = $plugin->getPluginName();
46
+
47
+ if ( ! file_exists( $this->plugin->get_paths()->migrations ) ) {
48
+ throw new Exception( 'Starting with version 4.1.1 of the Core for Factory framework module, you must create a "migrations" folder in the root of your plugin to store the migration of the plugin.' );
49
+ }
50
+
51
+ if ( is_admin() ) {
52
+ add_action( "admin_init", [ $this, "check_migrations" ] );
53
+
54
+ add_action( "wbcr/factory/plugin_{$plugin_name}_activated", [ $this, 'activation_hook' ] );
55
+ add_action( "wbcr/factory/admin_notices", [ $this, "debug_bar_notice" ], 10, 2 );
56
+ add_action( "wbcr/factory/admin_notices", [ $this, "migration_error_notice" ], 10, 2 );
57
+ }
58
+ }
59
+
60
+ /**
61
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
62
+ * @since 4.1.1
63
+ * @return mixed|void
64
+ */
65
+ public function get_plugin_activated_time() {
66
+ if ( $this->plugin->isNetworkActive() ) {
67
+ return get_site_option( $this->plugin->getOptionName( 'plugin_activated' ), 0 );
68
+ }
69
+
70
+ return get_option( $this->plugin->getOptionName( 'plugin_activated' ), 0 );
71
+ }
72
+
73
+ /**
74
+ * Check if migration is necessary for plugin and if there are errors from previous migrations.
75
+ * In debug mode, migrations are not performed automatically.
76
+ */
77
+ public function check_migrations() {
78
+ if ( $this->is_migration_error() && isset( $_GET['wbcr_factory_fix_migration_error'] ) ) {
79
+ $this->fix_migration_error();
80
+ wp_redirect( remove_query_arg( 'wbcr_factory_fix_migration_error' ) );
81
+ die();
82
+ }
83
+
84
+ if ( $this->is_debug() && isset( $_GET['wbcr_factory_test_migration'] ) ) {
85
+ $this->make_migration();
86
+ wp_redirect( remove_query_arg( 'wbcr_factory_test_migration' ) );
87
+ die();
88
+ }
89
+
90
+ if ( $this->need_migration() && ! $this->is_debug() ) {
91
+ $this->make_migration();
92
+ }
93
+ }
94
+
95
+ /**
96
+ * Notification displays the errors of outstanding migrations to fix errors
97
+ * you need to follow the instructions in the notification and click
98
+ * "I fixed, confirm migration".
99
+ *
100
+ * What is it for. Migrations are performed in background and on some sites,
101
+ * due to php errors or for some other reason, migration may be
102
+ * interrupted, because of what plugin will work incorrectly, you may lose settings.
103
+ *
104
+ * When creating new migrations, developer will add error handlers,
105
+ * and framework will intercept them safely for user and display them
106
+ * in this notice.
107
+ *
108
+ * @param array $notices
109
+ * @param static $plugin_name
110
+ *
111
+ * @return array
112
+ */
113
+ public function migration_error_notice( $notices, $plugin_name ) {
114
+
115
+ if ( $this->plugin->getPluginName() !== $plugin_name ) {
116
+ return $notices;
117
+ }
118
+
119
+ if ( ! $this->is_migration_error() || ! current_user_can( 'update_plugins' ) ) {
120
+ return $notices;
121
+ }
122
+
123
+ if ( $this->plugin->isNetworkActive() ) {
124
+ $migration_error_text = get_site_option( $this->plugin->getOptionName( 'plugin_migration_error' ), '' );
125
+ } else {
126
+ $migration_error_text = get_option( $this->plugin->getOptionName( 'plugin_migration_error' ), '' );
127
+ }
128
+
129
+ $fix_migration_error_url = add_query_arg( 'wbcr_factory_fix_migration_error', 1 );
130
+
131
+ $notice_text = $migration_error_text;
132
+ $notice_text .= "<br><br><a href='{$fix_migration_error_url}' class='button button-default'>" . __( 'I fixed, confirm migration', 'wbcr_factory_421' ) . "</a>";
133
+
134
+ $notices[] = [
135
+ 'id' => 'migration_debug_bar',
136
+ 'type' => 'error',
137
+ 'dismissible' => false,
138
+ 'dismiss_expires' => 0,
139
+ 'text' => '<p><b>' . $this->plugin->getPluginTitle() . ' ' . __( 'migration error', 'wbcr_factory_421' ) . '</b><br>' . $notice_text . '</p>'
140
+ ];
141
+
142
+ return $notices;
143
+ }
144
+
145
+ /**
146
+ * Debug panel, display some information from the database. Also allows
147
+ * perform manual migrations to test new migrations.
148
+ *
149
+ * @param array $notices
150
+ * @param string $plugin_name
151
+ *
152
+ * @return array
153
+ */
154
+ public function debug_bar_notice( $notices, $plugin_name ) {
155
+
156
+ if ( $this->plugin->getPluginName() !== $plugin_name ) {
157
+ return $notices;
158
+ }
159
+ if ( ! $this->is_debug() || ! current_user_can( 'update_plugins' ) ) {
160
+ return $notices;
161
+ }
162
+
163
+ $migrate_url = add_query_arg( 'wbcr_factory_test_migration', 1 );
164
+
165
+ $notice_text = __( "Plugin activated:", "wbcr_factory_421" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
166
+
167
+ $notice_text .= __( "Old plugin version (debug):", "wbcr_factory_421" ) . ' ' . $this->get_old_plugin_version() . "<br>";
168
+ $notice_text .= __( "Current plugin version:", "wbcr_factory_421" ) . ' ' . $this->get_current_plugin_version() . "<br>";
169
+ $notice_text .= __( "Need migration:", "wbcr_factory_421" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
170
+ $notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_421" ) . "</a><br>";
171
+
172
+ $notices[] = [
173
+ 'id' => 'migration_debug_bar',
174
+ 'type' => 'warning',
175
+ 'dismissible' => false,
176
+ 'dismiss_expires' => 0,
177
+ 'text' => '<p><b style="color:red;">' . $this->plugin->getPluginTitle() . ' ' . __( 'migrations DEBUG bar', 'wbcr_factory_421' ) . '</b><br>' . $notice_text . '</p>'
178
+ ];
179
+
180
+ return $notices;
181
+ }
182
+
183
+ /**
184
+ * Runs when plugin is activated. Checks if you need to migrate
185
+ * and if necessary it does it. Also adds a option when the plugin
186
+ * was activated for the first time.
187
+ */
188
+ public function activation_hook() {
189
+ /*if ( $this->need_migration() && ! $this->is_debug() ) {
190
+ $this->make_migration();
191
+ }*/
192
+
193
+ // just time to know when the plugin was activated the first time
194
+ $activated = $this->get_plugin_activated_time();
195
+
196
+ if ( ! $activated ) {
197
+ if ( $this->plugin->isNetworkActive() ) {
198
+ update_site_option( $this->plugin->getOptionName( 'plugin_activated' ), time() );
199
+ update_site_option( $this->plugin->getOptionName( 'plugin_version' ), $this->get_current_plugin_version() );
200
+ } else {
201
+ update_option( $this->plugin->getOptionName( 'plugin_activated' ), time() );
202
+ update_option( $this->plugin->getOptionName( 'plugin_version' ), $this->get_current_plugin_version() );
203
+ }
204
+ }
205
+ }
206
+
207
+ /**
208
+ * Checks if debug mode of migrations from version x.x.x to x.x.y is enabled.
209
+ *
210
+ * @return bool
211
+ */
212
+ protected function is_debug() {
213
+ return defined( 'FACTORY_MIGRATIONS_DEBUG' ) && FACTORY_MIGRATIONS_DEBUG;
214
+ }
215
+
216
+ /**
217
+ * Gets previous version of plugin that plugin had before updating to the new version.
218
+ *
219
+ * @return string|null
220
+ */
221
+ protected function get_old_plugin_version() {
222
+
223
+ if ( $this->is_debug() && defined( 'FACTORY_MIGRATIONS_FORCE_OLD_VERSION' ) ) {
224
+ return FACTORY_MIGRATIONS_FORCE_OLD_VERSION;
225
+ }
226
+
227
+ if ( $this->plugin->isNetworkActive() ) {
228
+ $plugin_version = get_site_option( $this->plugin->getOptionName( 'plugin_version' ), null );
229
+ } else {
230
+ $plugin_version = get_option( $this->plugin->getOptionName( 'plugin_version' ), null );
231
+ }
232
+
233
+ if ( ! empty( $plugin_version ) ) {
234
+ return $plugin_version;
235
+ }
236
+
237
+ # TODO: Remove after few releases
238
+ # This block for compatibility code with old version of framework < 4.1.1
239
+ #-------------------------------------------
240
+ if ( $this->plugin->isNetworkActive() ) {
241
+ $plugin_versions = get_site_option( 'factory_plugin_versions', [] );
242
+ } else {
243
+ $plugin_versions = get_option( 'factory_plugin_versions', [] );
244
+ }
245
+
246
+ $plugin_version = isset( $plugin_versions[ $this->plugin->getPluginName() ] ) ? $plugin_versions[ $this->plugin->getPluginName() ] : null;
247
+
248
+ if ( ! empty( $plugin_version ) ) {
249
+ $plugin_version = str_replace( [ 'free-', 'premium-', 'offline-' ], '', $plugin_version );
250
+ }
251
+
252
+ #-------------------------------------------
253
+
254
+ return $plugin_version;
255
+ }
256
+
257
+ /**
258
+ * Gets the current version of plugin.
259
+ *
260
+ * @return string
261
+ */
262
+ protected function get_current_plugin_version() {
263
+ return $this->plugin->getPluginVersion();
264
+ }
265
+
266
+ /**
267
+ * Do I need migration for plugin? If previous migration was with a error, then
268
+ * method will always return false to prevent looping.
269
+ *
270
+ * @return mixed
271
+ */
272
+ protected function need_migration() {
273
+ if ( $this->is_migration_error() ) {
274
+ return false;
275
+ }
276
+
277
+ return version_compare( $this->get_old_plugin_version(), $this->get_current_plugin_version(), '<' );
278
+ }
279
+
280
+ /**
281
+ * Are there errors from previous migrations?
282
+ *
283
+ * @return bool
284
+ */
285
+ protected function is_migration_error() {
286
+ if ( $this->plugin->isNetworkActive() ) {
287
+ $error = get_site_option( $this->plugin->getOptionName( 'plugin_migration_error' ), false );
288
+ } else {
289
+ $error = get_option( $this->plugin->getOptionName( 'plugin_migration_error' ), false );
290
+ }
291
+
292
+ return $error !== false;
293
+ }
294
+
295
+ /**
296
+ * Remove an option in database, thereby fix errors of the previous migration.
297
+ */
298
+ protected function fix_migration_error() {
299
+ if ( $this->plugin->isNetworkActive() ) {
300
+ delete_site_option( $this->plugin->getOptionName( 'plugin_migration_error' ) );
301
+
302
+ return;
303
+ }
304
+
305
+ delete_option( $this->plugin->getOptionName( 'plugin_migration_error' ) );
306
+ }
307
+
308
+ /**
309
+ * Migrates the plugin from version x.x.x to x.x.y. Automatically searches for files
310
+ * migrations to the plugin's root directory and executes them. Default files
311
+ * migrations are stored in wp-content/plugins/plugin-name/migrations and have names
312
+ * 0x0x0x.php, which corresponds to the version x.x.x. Method executes those migration files
313
+ * versions of which are between the previous version of plugin and current one.
314
+ *
315
+ */
316
+ protected function make_migration() {
317
+
318
+ if ( ! current_user_can( 'update_plugins' ) ) {
319
+ return;
320
+ }
321
+
322
+ $old_plugin_version = $this->get_old_plugin_version();
323
+ $new_plugin_version = $this->get_current_plugin_version();
324
+
325
+ if ( empty( $old_plugin_version ) ) {
326
+ $this->update_plugin_version_in_db();
327
+ }
328
+
329
+ // converts versions like 0.0.0 to 000000
330
+ $old_number = $this->get_version_number( $old_plugin_version );
331
+ $new_number = $this->get_version_number( $new_plugin_version );
332
+
333
+ try {
334
+
335
+ $update_files = $this->plugin->get_paths()->migrations;
336
+ $files = $this->find_files( $update_files );
337
+
338
+ if ( empty( $files ) ) {
339
+ $this->update_plugin_version_in_db();
340
+
341
+ return;
342
+ }
343
+
344
+ // finds updates that has intermediate version
345
+ foreach ( (array) $files as $item ) {
346
+ if ( ! preg_match( '/^\d+$/', $item['name'] ) ) {
347
+ continue;
348
+ }
349
+
350
+ $item_number = intval( $item['name'] );
351
+
352
+ if ( $item_number > $old_number && $item_number <= $new_number ) {
353
+ $classes = $this->get_classes( $item['path'] );
354
+
355
+ if ( count( $classes ) == 0 ) {
356
+ continue;
357
+ }
358
+
359
+ foreach ( $classes as $path => $class_data ) {
360
+ include_once( $path );
361
+ $update_class = $class_data['name'];
362
+
363
+ $update = new $update_class( $this->plugin );
364
+ $update->install();
365
+ }
366
+ }
367
+ }
368
+
369
+ $this->update_plugin_version_in_db();
370
+ } catch( Exception $e ) {
371
+ if ( $this->plugin->isNetworkActive() ) {
372
+ update_site_option( $this->plugin->getOptionName( 'plugin_migration_error' ), $e->getMessage() );
373
+
374
+ return;
375
+ }
376
+ update_option( $this->plugin->getOptionName( 'plugin_migration_error' ), $e->getMessage() );
377
+ }
378
+ }
379
+
380
+ /**
381
+ * Updates version of plugin in database. So that we can track which
382
+ * previous version of plugin was at the user, before he updated
383
+ * plugin.
384
+ */
385
+ protected function update_plugin_version_in_db() {
386
+
387
+ # TODO: Delete after few releases
388
+ # This block for compatibility code with the old version of framework.
389
+ # Cleans up old data, after the transition to new version of framework.
390
+ #-------------------------------------------
391
+ if ( $this->plugin->isNetworkActive() ) {
392
+ $plugin_versions = get_site_option( 'factory_plugin_versions', [] );
393
+ } else {
394
+ $plugin_versions = get_option( 'factory_plugin_versions', [] );
395
+ }
396
+
397
+ if ( isset( $plugin_versions[ $this->plugin->getPluginName() ] ) ) {
398
+ unset( $plugin_versions[ $this->plugin->getPluginName() ] );
399
+ }
400
+
401
+ if ( $this->plugin->isNetworkActive() ) {
402
+ if ( empty( $plugin_versions ) ) {
403
+ delete_site_option( 'factory_plugin_versions' );
404
+ }
405
+ update_site_option( 'factory_plugin_versions', $plugin_versions );
406
+ update_site_option( $this->plugin->getOptionName( 'plugin_version' ), $this->get_current_plugin_version() );
407
+
408
+ return;
409
+ }
410
+
411
+ if ( empty( $plugin_versions ) ) {
412
+ delete_option( 'factory_plugin_versions' );
413
+ }
414
+
415
+ update_option( 'factory_plugin_versions', $plugin_versions );
416
+ update_option( $this->plugin->getOptionName( 'plugin_version' ), $this->get_current_plugin_version() );
417
+ }
418
+
419
+ /**
420
+ * Converts string representation of the version to the numeric.
421
+ *
422
+ * @since 1.0.0
423
+ *
424
+ * @param string $version A string version to convert.
425
+ *
426
+ * @return integer
427
+ */
428
+ protected function get_version_number( $version ) {
429
+ preg_match( '/(\d+)\.(\d+)\.(\d+)/', $version, $matches );
430
+ if ( count( $matches ) == 0 ) {
431
+ return false;
432
+ }
433
+
434
+ $number = '';
435
+ $number .= ( strlen( $matches[1] ) == 1 ) ? '0' . $matches[1] : $matches[1];
436
+ $number .= ( strlen( $matches[2] ) == 1 ) ? '0' . $matches[2] : $matches[2];
437
+ $number .= ( strlen( $matches[3] ) == 1 ) ? '0' . $matches[3] : $matches[3];
438
+
439
+ return intval( $number );
440
+ }
441
+
442
+ /**
443
+ * Returns a list of files at a given path.
444
+ *
445
+ * @param string $path path for search
446
+ */
447
+ private function find_files( $path ) {
448
+ return $this->find_file_or_folders( $path, true );
449
+ }
450
+
451
+ /**
452
+ * Returns a list of folders at a given path.
453
+ *
454
+ * @param string $path path for search
455
+ */
456
+ /*private function find_folders( $path ) {
457
+ return $this->find_file_or_folders( $path, false );
458
+ }*/
459
+
460
+ /**
461
+ * Returns a list of files or folders at a given path.
462
+ *
463
+ * @param string $path path for search
464
+ * @param bool $files files or folders?
465
+ */
466
+ private function find_file_or_folders( $path, $areFiles = true ) {
467
+ if ( ! is_dir( $path ) ) {
468
+ return [];
469
+ }
470
+
471
+ $entries = scandir( $path );
472
+ if ( empty( $entries ) ) {
473
+ return [];
474
+ }
475
+
476
+ $files = [];
477
+ foreach ( $entries as $entryName ) {
478
+ if ( $entryName == '.' || $entryName == '..' ) {
479
+ continue;
480
+ }
481
+
482
+ $filename = $path . '/' . $entryName;
483
+ if ( ( $areFiles && is_file( $filename ) ) || ( ! $areFiles && is_dir( $filename ) ) ) {
484
+ $files[] = [
485
+ 'path' => str_replace( "\\", "/", $filename ),
486
+ 'name' => $areFiles ? str_replace( '.php', '', $entryName ) : $entryName
487
+ ];
488
+ }
489
+ }
490
+
491
+ return $files;
492
+ }
493
+
494
+ /**
495
+ * Gets php classes defined in a specified file.
496
+ *
497
+ * @param string $path
498
+ *
499
+ * @throws Exception
500
+ */
501
+ private function get_classes( $path ) {
502
+
503
+ $phpCode = file_get_contents( $path );
504
+
505
+ $classes = [];
506
+
507
+ if ( ! function_exists( 'token_get_all' ) ) {
508
+ throw new Exception( __( 'There is no PHP Tokenizer extension installed on your server, you cannot use the token_get_all function.', 'wbcr_factory_421' ) );
509
+ }
510
+
511
+ $tokens = token_get_all( $phpCode );
512
+
513
+ $count = count( $tokens );
514
+ for ( $i = 2; $i < $count; $i ++ ) {
515
+ if ( is_array( $tokens ) && $tokens[ $i - 2 ][0] == T_CLASS && $tokens[ $i - 1 ][0] == T_WHITESPACE && $tokens[ $i ][0] == T_STRING ) {
516
+
517
+ $extends = null;
518
+ if ( $tokens[ $i + 2 ][0] == T_EXTENDS && $tokens[ $i + 4 ][0] == T_STRING ) {
519
+ $extends = $tokens[ $i + 4 ][1];
520
+ }
521
+
522
+ $class_name = $tokens[ $i ][1];
523
+ $classes[ $path ] = [
524
+ 'name' => $class_name,
525
+ 'extends' => $extends
526
+ ];
527
+ }
528
+ }
529
+
530
+ /**
531
+ * result example:
532
+ *
533
+ * $classes['/plugin/items/filename.php'] = array(
534
+ * 'name' => 'PluginNameItem',
535
+ * 'extendes' => 'PluginNameItemBase'
536
+ * )
537
+ */
538
+
539
+ return $classes;
540
+ }
541
+ }
libs/factory/core/includes/class-factory-notices.php ADDED
@@ -0,0 +1,291 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace WBCR\Factory_421;
4
+
5
+ use Wbcr_Factory421_Plugin;
6
+
7
+ // Exit if accessed directly
8
+ if ( ! defined( 'ABSPATH' ) ) {
9
+ exit;
10
+ }
11
+
12
+ /**
13
+ * A class to manage notices.
14
+ *
15
+ * @since 1.0.0
16
+ */
17
+
18
+ /**
19
+ * A group of classes and methods to create and manage notices.
20
+ *
21
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, repo: https://github.com/alexkovalevv
22
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, site: https://webcraftic.com
23
+ *
24
+ * @package factory-notices
25
+ * @since 1.0.0
26
+ */
27
+ class Notices {
28
+
29
+ /**
30
+ * @var Wbcr_Factory421_Plugin
31
+ */
32
+ protected $plugin;
33
+ /**
34
+ * @var array
35
+ */
36
+ protected $notices = [];
37
+
38
+ /**
39
+ * @var array
40
+ */
41
+ protected $default_where = [
42
+ 'plugins',
43
+ 'themes',
44
+ 'dashboard',
45
+ 'edit',
46
+ 'settings',
47
+ 'dashboard-network',
48
+ 'plugins-network',
49
+ 'themes-network',
50
+ 'settings-network',
51
+ ];
52
+
53
+ /**
54
+ * @var array
55
+ */
56
+ private $dissmised_notices;
57
+
58
+ /**
59
+ * Инициализируем уведомлений сразу после загрузки модуля уведомлений
60
+ *
61
+ * @param Wbcr_Factory421_Plugin $plugin
62
+ */
63
+ public function __construct( $plugin ) {
64
+ //default notices
65
+ //---
66
+
67
+ $this->plugin = $plugin;
68
+ $this->dissmised_notices = $this->plugin->getPopulateOption( 'factory_dismissed_notices', [] );
69
+
70
+ add_action( 'current_screen', [ $this, 'currentScreenAction' ] );
71
+
72
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
73
+ add_action( 'wp_ajax_' . $this->plugin->getPluginName() . '_dismiss_notice', [
74
+ $this,
75
+ 'dismiss_notice'
76
+ ] );
77
+ }
78
+ }
79
+
80
+ /**
81
+ * Регистрирует экшены для работ