Version Description
~ Fix: start quiz 404 ~ Optimize
Download this release
Release Info
Developer | ThimPress |
Plugin | LearnPress – WordPress LMS Plugin |
Version | 3.2.8.7 |
Comparing to | |
See all releases |
Code changes from version 3.2.8.5 to 3.2.8.7
- assets/js/utils.js +1629 -0
- assets/js/utils.js.map +1 -0
- assets/js/utils.min.js +1 -0
- assets/src/js/plugins.all.min-bk.js +1 -0
- assets/src/js/plugins.all.min.js +5626 -0
- inc/admin/class-lp-reset-data.php +96 -14
- inc/admin/views/tools/course/html-user-item.php +3 -3
- inc/class-lp-checkout.php +6 -9
- inc/class-lp-database.php +3 -2
- inc/class-lp-datetime.php +12 -12
- inc/class-lp-emails.php +1 -1
- inc/class-lp-request-handler.php +11 -5
- inc/course/abstract-course.php +1 -1
- inc/course/class-lp-course-database.php +78 -2
- inc/course/class-lp-course-item.php +38 -24
- inc/course/lp-course-functions.php +12 -4
- inc/curds/class-lp-user-curd.php +1 -4
- inc/emails/types/class-lp-email-type-enrolled-course.php +3 -2
- inc/lesson/class-lp-lesson-database.php +1 -1
- inc/lp-core-functions.php +1 -3
- inc/lp-template-functions.php +2802 -2796
- inc/order/lp-order-functions.php +0 -35
- inc/question/class-lp-question-database.php +1 -1
- inc/quiz/class-lp-quiz-database.php +2 -2
- inc/section/class-lp-section-database.php +2 -2
- inc/user-item/class-lp-user-item-course.php +3 -46
- inc/user-item/class-lp-user-item.php +0 -6
- inc/user-item/class-lp-user-items-db.php +30 -23
- inc/user/abstract-lp-user.php +9 -16
- learnpress.php +1 -1
- readme.txt +12 -1
- templates/single-course/content-learning.php +1 -1
- templates/single-course/content-protected.php +1 -1
- templates/single-course/tabs/instructor.php +37 -37
assets/js/utils.js
ADDED
@@ -0,0 +1,1629 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40 |
+
/******/ }
|
41 |
+
/******/ };
|
42 |
+
/******/
|
43 |
+
/******/ // define __esModule on exports
|
44 |
+
/******/ __webpack_require__.r = function(exports) {
|
45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47 |
+
/******/ }
|
48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49 |
+
/******/ };
|
50 |
+
/******/
|
51 |
+
/******/ // create a fake namespace object
|
52 |
+
/******/ // mode & 1: value is a module id, require it
|
53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
54 |
+
/******/ // mode & 4: return value when already ns object
|
55 |
+
/******/ // mode & 8|1: behave like require
|
56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58 |
+
/******/ if(mode & 8) return value;
|
59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60 |
+
/******/ var ns = Object.create(null);
|
61 |
+
/******/ __webpack_require__.r(ns);
|
62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64 |
+
/******/ return ns;
|
65 |
+
/******/ };
|
66 |
+
/******/
|
67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68 |
+
/******/ __webpack_require__.n = function(module) {
|
69 |
+
/******/ var getter = module && module.__esModule ?
|
70 |
+
/******/ function getDefault() { return module['default']; } :
|
71 |
+
/******/ function getModuleExports() { return module; };
|
72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73 |
+
/******/ return getter;
|
74 |
+
/******/ };
|
75 |
+
/******/
|
76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78 |
+
/******/
|
79 |
+
/******/ // __webpack_public_path__
|
80 |
+
/******/ __webpack_require__.p = "";
|
81 |
+
/******/
|
82 |
+
/******/
|
83 |
+
/******/ // Load entry module and return exports
|
84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./assets/src/js/utils/index.js");
|
85 |
+
/******/ })
|
86 |
+
/************************************************************************/
|
87 |
+
/******/ ({
|
88 |
+
|
89 |
+
/***/ "./assets/src/js/utils/event-callback.js":
|
90 |
+
/*!***********************************************!*\
|
91 |
+
!*** ./assets/src/js/utils/event-callback.js ***!
|
92 |
+
\***********************************************/
|
93 |
+
/*! exports provided: default */
|
94 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
95 |
+
|
96 |
+
"use strict";
|
97 |
+
__webpack_require__.r(__webpack_exports__);
|
98 |
+
/**
|
99 |
+
* Manage event callbacks.
|
100 |
+
* Allow add/remove a callback function into custom event of an object.
|
101 |
+
*
|
102 |
+
* @constructor
|
103 |
+
*/
|
104 |
+
var Event_Callback = function Event_Callback(self) {
|
105 |
+
var callbacks = {};
|
106 |
+
var $ = window.jQuery;
|
107 |
+
|
108 |
+
this.on = function (event, callback) {
|
109 |
+
var namespaces = event.split('.'),
|
110 |
+
namespace = '';
|
111 |
+
|
112 |
+
if (namespaces.length > 1) {
|
113 |
+
event = namespaces[0];
|
114 |
+
namespace = namespaces[1];
|
115 |
+
}
|
116 |
+
|
117 |
+
if (!callbacks[event]) {
|
118 |
+
callbacks[event] = [[], {}];
|
119 |
+
}
|
120 |
+
|
121 |
+
if (namespace) {
|
122 |
+
if (!callbacks[event][1][namespace]) {
|
123 |
+
callbacks[event][1][namespace] = [];
|
124 |
+
}
|
125 |
+
|
126 |
+
callbacks[event][1][namespace].push(callback);
|
127 |
+
} else {
|
128 |
+
callbacks[event][0].push(callback);
|
129 |
+
}
|
130 |
+
|
131 |
+
return self;
|
132 |
+
};
|
133 |
+
|
134 |
+
this.off = function (event, callback) {
|
135 |
+
var namespaces = event.split('.'),
|
136 |
+
namespace = '';
|
137 |
+
|
138 |
+
if (namespaces.length > 1) {
|
139 |
+
event = namespaces[0];
|
140 |
+
namespace = namespaces[1];
|
141 |
+
}
|
142 |
+
|
143 |
+
if (!callbacks[event]) {
|
144 |
+
return self;
|
145 |
+
}
|
146 |
+
|
147 |
+
var at = -1;
|
148 |
+
|
149 |
+
if (!namespace) {
|
150 |
+
if ($.isFunction(callback)) {
|
151 |
+
at = callbacks[event][0].indexOf(callback);
|
152 |
+
|
153 |
+
if (at < 0) {
|
154 |
+
return self;
|
155 |
+
}
|
156 |
+
|
157 |
+
callbacks[event][0].splice(at, 1);
|
158 |
+
} else {
|
159 |
+
callbacks[event][0] = [];
|
160 |
+
}
|
161 |
+
} else {
|
162 |
+
if (!callbacks[event][1][namespace]) {
|
163 |
+
return self;
|
164 |
+
}
|
165 |
+
|
166 |
+
if ($.isFunction(callback)) {
|
167 |
+
at = callbacks[event][1][namespace].indexOf(callback);
|
168 |
+
|
169 |
+
if (at < 0) {
|
170 |
+
return self;
|
171 |
+
}
|
172 |
+
|
173 |
+
callbacks[event][1][namespace].splice(at, 1);
|
174 |
+
} else {
|
175 |
+
callbacks[event][1][namespace] = [];
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
return self;
|
180 |
+
};
|
181 |
+
|
182 |
+
this.callEvent = function (event, callbackArgs) {
|
183 |
+
if (!callbacks[event]) {
|
184 |
+
return;
|
185 |
+
}
|
186 |
+
|
187 |
+
if (callbacks[event][0]) {
|
188 |
+
for (var i = 0; i < callbacks[event][0].length; i++) {
|
189 |
+
$.isFunction(callbacks[event][0][i]) && callbacks[event][i][0].apply(self, callbackArgs);
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
+
if (callbacks[event][1]) {
|
194 |
+
for (var i in callbacks[event][1]) {
|
195 |
+
for (var j = 0; j < callbacks[event][1][i].length; j++) {
|
196 |
+
$.isFunction(callbacks[event][1][i][j]) && callbacks[event][1][i][j].apply(self, callbackArgs);
|
197 |
+
}
|
198 |
+
}
|
199 |
+
}
|
200 |
+
};
|
201 |
+
};
|
202 |
+
|
203 |
+
/* harmony default export */ __webpack_exports__["default"] = (Event_Callback);
|
204 |
+
|
205 |
+
/***/ }),
|
206 |
+
|
207 |
+
/***/ "./assets/src/js/utils/extend.js":
|
208 |
+
/*!***************************************!*\
|
209 |
+
!*** ./assets/src/js/utils/extend.js ***!
|
210 |
+
\***************************************/
|
211 |
+
/*! exports provided: default */
|
212 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
213 |
+
|
214 |
+
"use strict";
|
215 |
+
__webpack_require__.r(__webpack_exports__);
|
216 |
+
/* harmony default export */ __webpack_exports__["default"] = (function () {
|
217 |
+
window.LP = window.LP || {};
|
218 |
+
|
219 |
+
if (typeof arguments[0] === 'string') {
|
220 |
+
LP[arguments[0]] = LP[arguments[0]] || {};
|
221 |
+
LP[arguments[0]] = jQuery.extend(LP[arguments[0]], arguments[1]);
|
222 |
+
} else {
|
223 |
+
LP = jQuery.extend(LP, arguments[0]);
|
224 |
+
}
|
225 |
+
});
|
226 |
+
|
227 |
+
/***/ }),
|
228 |
+
|
229 |
+
/***/ "./assets/src/js/utils/fn.js":
|
230 |
+
/*!***********************************!*\
|
231 |
+
!*** ./assets/src/js/utils/fn.js ***!
|
232 |
+
\***********************************/
|
233 |
+
/*! exports provided: default */
|
234 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
235 |
+
|
236 |
+
"use strict";
|
237 |
+
__webpack_require__.r(__webpack_exports__);
|
238 |
+
/**
|
239 |
+
* Auto prepend `LP` prefix for jQuery fn plugin name.
|
240 |
+
*
|
241 |
+
* Create : $.fn.LP( 'PLUGIN_NAME', func) <=> $.fn.LP_PLUGIN_NAME
|
242 |
+
* Usage: $(selector).LP('PLUGIN_NAME') <=> $(selector).LP_PLUGIN_NAME()
|
243 |
+
*
|
244 |
+
* @version 3.2.6
|
245 |
+
*/
|
246 |
+
var $ = window.jQuery;
|
247 |
+
var exp;
|
248 |
+
|
249 |
+
(function () {
|
250 |
+
if ($ === undefined) {
|
251 |
+
return;
|
252 |
+
}
|
253 |
+
|
254 |
+
$.fn.LP = exp = function exp(widget, fn) {
|
255 |
+
if ($.isFunction(fn)) {
|
256 |
+
$.fn['LP_' + widget] = fn;
|
257 |
+
} else if (widget) {
|
258 |
+
var args = [];
|
259 |
+
|
260 |
+
if (arguments.length > 1) {
|
261 |
+
for (var i = 1; i < arguments.length; i++) {
|
262 |
+
args.push(arguments[i]);
|
263 |
+
}
|
264 |
+
}
|
265 |
+
|
266 |
+
return $.isFunction($(this)['LP_' + widget]) ? $(this)['LP_' + widget].apply(this, args) : this;
|
267 |
+
}
|
268 |
+
|
269 |
+
return this;
|
270 |
+
};
|
271 |
+
})();
|
272 |
+
|
273 |
+
/* harmony default export */ __webpack_exports__["default"] = (exp);
|
274 |
+
|
275 |
+
/***/ }),
|
276 |
+
|
277 |
+
/***/ "./assets/src/js/utils/hook.js":
|
278 |
+
/*!*************************************!*\
|
279 |
+
!*** ./assets/src/js/utils/hook.js ***!
|
280 |
+
\*************************************/
|
281 |
+
/*! exports provided: default */
|
282 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
283 |
+
|
284 |
+
"use strict";
|
285 |
+
__webpack_require__.r(__webpack_exports__);
|
286 |
+
var Hook = {
|
287 |
+
hooks: {
|
288 |
+
action: {},
|
289 |
+
filter: {}
|
290 |
+
},
|
291 |
+
addAction: function addAction(action, callable, priority, tag) {
|
292 |
+
this.addHook('action', action, callable, priority, tag);
|
293 |
+
return this;
|
294 |
+
},
|
295 |
+
addFilter: function addFilter(action, callable, priority, tag) {
|
296 |
+
this.addHook('filter', action, callable, priority, tag);
|
297 |
+
return this;
|
298 |
+
},
|
299 |
+
doAction: function doAction(action) {
|
300 |
+
this.doHook('action', action, arguments);
|
301 |
+
return this;
|
302 |
+
},
|
303 |
+
applyFilters: function applyFilters(action) {
|
304 |
+
return this.doHook('filter', action, arguments);
|
305 |
+
},
|
306 |
+
removeAction: function removeAction(action, tag) {
|
307 |
+
this.removeHook('action', action, tag);
|
308 |
+
return this;
|
309 |
+
},
|
310 |
+
removeFilter: function removeFilter(action, priority, tag) {
|
311 |
+
this.removeHook('filter', action, priority, tag);
|
312 |
+
return this;
|
313 |
+
},
|
314 |
+
addHook: function addHook(hookType, action, callable, priority, tag) {
|
315 |
+
if (undefined === this.hooks[hookType][action]) {
|
316 |
+
this.hooks[hookType][action] = [];
|
317 |
+
}
|
318 |
+
|
319 |
+
var hooks = this.hooks[hookType][action];
|
320 |
+
|
321 |
+
if (undefined === tag) {
|
322 |
+
tag = action + '_' + hooks.length;
|
323 |
+
}
|
324 |
+
|
325 |
+
this.hooks[hookType][action].push({
|
326 |
+
tag: tag,
|
327 |
+
callable: callable,
|
328 |
+
priority: priority
|
329 |
+
});
|
330 |
+
return this;
|
331 |
+
},
|
332 |
+
doHook: function doHook(hookType, action, args) {
|
333 |
+
// splice args from object into array and remove first index which is the hook name
|
334 |
+
args = Array.prototype.slice.call(args, 1);
|
335 |
+
|
336 |
+
if (undefined !== this.hooks[hookType][action]) {
|
337 |
+
var hooks = this.hooks[hookType][action],
|
338 |
+
hook; //sort by priority
|
339 |
+
|
340 |
+
hooks.sort(function (a, b) {
|
341 |
+
return a["priority"] - b["priority"];
|
342 |
+
});
|
343 |
+
|
344 |
+
for (var i = 0; i < hooks.length; i++) {
|
345 |
+
hook = hooks[i].callable;
|
346 |
+
if (typeof hook !== 'function') hook = window[hook];
|
347 |
+
|
348 |
+
if ('action' === hookType) {
|
349 |
+
hook.apply(null, args);
|
350 |
+
} else {
|
351 |
+
args[0] = hook.apply(null, args);
|
352 |
+
}
|
353 |
+
}
|
354 |
+
}
|
355 |
+
|
356 |
+
if ('filter' === hookType) {
|
357 |
+
return args[0];
|
358 |
+
}
|
359 |
+
|
360 |
+
return this;
|
361 |
+
},
|
362 |
+
removeHook: function removeHook(hookType, action, priority, tag) {
|
363 |
+
if (undefined !== this.hooks[hookType][action]) {
|
364 |
+
var hooks = this.hooks[hookType][action];
|
365 |
+
|
366 |
+
for (var i = hooks.length - 1; i >= 0; i--) {
|
367 |
+
if ((undefined === tag || tag === hooks[i].tag) && (undefined === priority || priority === hooks[i].priority)) {
|
368 |
+
hooks.splice(i, 1);
|
369 |
+
}
|
370 |
+
}
|
371 |
+
}
|
372 |
+
|
373 |
+
return this;
|
374 |
+
}
|
375 |
+
};
|
376 |
+
/* harmony default export */ __webpack_exports__["default"] = (Hook);
|
377 |
+
|
378 |
+
/***/ }),
|
379 |
+
|
380 |
+
/***/ "./assets/src/js/utils/index.js":
|
381 |
+
/*!**************************************!*\
|
382 |
+
!*** ./assets/src/js/utils/index.js ***!
|
383 |
+
\**************************************/
|
384 |
+
/*! exports provided: default */
|
385 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
386 |
+
|
387 |
+
"use strict";
|
388 |
+
__webpack_require__.r(__webpack_exports__);
|
389 |
+
/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./extend */ "./assets/src/js/utils/extend.js");
|
390 |
+
/* harmony import */ var _fn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fn */ "./assets/src/js/utils/fn.js");
|
391 |
+
/* harmony import */ var _quick_tip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./quick-tip */ "./assets/src/js/utils/quick-tip.js");
|
392 |
+
/* harmony import */ var _quick_tip__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_quick_tip__WEBPACK_IMPORTED_MODULE_2__);
|
393 |
+
/* harmony import */ var _message_box__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./message-box */ "./assets/src/js/utils/message-box.js");
|
394 |
+
/* harmony import */ var _event_callback__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./event-callback */ "./assets/src/js/utils/event-callback.js");
|
395 |
+
/* harmony import */ var _hook__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hook */ "./assets/src/js/utils/hook.js");
|
396 |
+
/* harmony import */ var _jquery_plugins__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./jquery.plugins */ "./assets/src/js/utils/jquery.plugins.js");
|
397 |
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
398 |
+
|
399 |
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
400 |
+
|
401 |
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
402 |
+
|
403 |
+
/**
|
404 |
+
* Utility functions may use for both admin and frontend.
|
405 |
+
*
|
406 |
+
* @version 3.2.6
|
407 |
+
*/
|
408 |
+
|
409 |
+
|
410 |
+
|
411 |
+
|
412 |
+
|
413 |
+
|
414 |
+
|
415 |
+
var $ = jQuery;
|
416 |
+
|
417 |
+
String.prototype.getQueryVar = function (name) {
|
418 |
+
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
|
419 |
+
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
|
420 |
+
results = regex.exec(this);
|
421 |
+
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
|
422 |
+
};
|
423 |
+
|
424 |
+
String.prototype.addQueryVar = function (name, value) {
|
425 |
+
var url = this,
|
426 |
+
m = url.split('#');
|
427 |
+
url = m[0];
|
428 |
+
|
429 |
+
if (name.match(/\[/)) {
|
430 |
+
url += url.match(/\?/) ? '&' : '?';
|
431 |
+
url += name + '=' + value;
|
432 |
+
} else {
|
433 |
+
if (url.indexOf('&' + name + '=') != -1 || url.indexOf('?' + name + '=') != -1) {
|
434 |
+
url = url.replace(new RegExp(name + "=([^&#]*)", 'g'), name + '=' + value);
|
435 |
+
} else {
|
436 |
+
url += url.match(/\?/) ? '&' : '?';
|
437 |
+
url += name + '=' + value;
|
438 |
+
}
|
439 |
+
}
|
440 |
+
|
441 |
+
return url + (m[1] ? '#' + m[1] : '');
|
442 |
+
};
|
443 |
+
|
444 |
+
String.prototype.removeQueryVar = function (name) {
|
445 |
+
var url = this;
|
446 |
+
var m = url.split('#');
|
447 |
+
url = m[0];
|
448 |
+
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
|
449 |
+
var regex = new RegExp("[\\?&]" + name + "([\[][^=]*)?=([^&#]*)", 'g');
|
450 |
+
url = url.replace(regex, '');
|
451 |
+
return url + (m[1] ? '#' + m[1] : '');
|
452 |
+
};
|
453 |
+
|
454 |
+
if ($.isEmptyObject("") == false) {
|
455 |
+
$.isEmptyObject = function (a) {
|
456 |
+
var prop;
|
457 |
+
|
458 |
+
for (prop in a) {
|
459 |
+
if (a.hasOwnProperty(prop)) {
|
460 |
+
return false;
|
461 |
+
}
|
462 |
+
}
|
463 |
+
|
464 |
+
return true;
|
465 |
+
};
|
466 |
+
}
|
467 |
+
|
468 |
+
var _default = {
|
469 |
+
Hook: _hook__WEBPACK_IMPORTED_MODULE_5__["default"],
|
470 |
+
setUrl: function setUrl(url, ember, title) {
|
471 |
+
if (url) {
|
472 |
+
history.pushState({}, title, url);
|
473 |
+
LP.Hook.doAction('learn_press_set_location_url', url);
|
474 |
+
}
|
475 |
+
},
|
476 |
+
toggleGroupSection: function toggleGroupSection(el, target) {
|
477 |
+
var $el = $(el),
|
478 |
+
isHide = $el.hasClass('hide-if-js');
|
479 |
+
|
480 |
+
if (isHide) {
|
481 |
+
$el.hide().removeClass('hide-if-js');
|
482 |
+
}
|
483 |
+
|
484 |
+
$el.removeClass('hide-if-js').slideToggle(function () {
|
485 |
+
var $this = $(this);
|
486 |
+
|
487 |
+
if ($this.is(':visible')) {
|
488 |
+
$(target).addClass('toggle-on').removeClass('toggle-off');
|
489 |
+
} else {
|
490 |
+
$(target).addClass('toggle-off').removeClass('toggle-on');
|
491 |
+
}
|
492 |
+
});
|
493 |
+
},
|
494 |
+
overflow: function overflow(el, v) {
|
495 |
+
var $el = $(el),
|
496 |
+
overflow = $el.css('overflow');
|
497 |
+
|
498 |
+
if (v) {
|
499 |
+
$el.css('overflow', v).data('overflow', overflow);
|
500 |
+
} else {
|
501 |
+
$el.css('overflow', $el.data('overflow'));
|
502 |
+
}
|
503 |
+
},
|
504 |
+
getUrl: function getUrl() {
|
505 |
+
return window.location.href;
|
506 |
+
},
|
507 |
+
addQueryVar: function addQueryVar(name, value, url) {
|
508 |
+
return (url === undefined ? window.location.href : url).addQueryVar(name, value);
|
509 |
+
},
|
510 |
+
removeQueryVar: function removeQueryVar(name, url) {
|
511 |
+
return (url === undefined ? window.location.href : url).removeQueryVar(name);
|
512 |
+
},
|
513 |
+
reload: function reload(url) {
|
514 |
+
if (!url) {
|
515 |
+
url = window.location.href;
|
516 |
+
}
|
517 |
+
|
518 |
+
window.location.href = url;
|
519 |
+
},
|
520 |
+
parseResponse: function parseResponse(response, type) {
|
521 |
+
var m = response.match(/<-- LP_AJAX_START -->(.*)<-- LP_AJAX_END -->/);
|
522 |
+
|
523 |
+
if (m) {
|
524 |
+
response = m[1];
|
525 |
+
}
|
526 |
+
|
527 |
+
return (type || "json") === "json" ? this.parseJSON(response) : response;
|
528 |
+
},
|
529 |
+
parseJSON: function parseJSON(data) {
|
530 |
+
var m = (data + '').match(/<-- LP_AJAX_START -->(.*)<-- LP_AJAX_END -->/);
|
531 |
+
|
532 |
+
try {
|
533 |
+
if (m) {
|
534 |
+
data = $.parseJSON(m[1]);
|
535 |
+
} else {
|
536 |
+
data = $.parseJSON(data);
|
537 |
+
}
|
538 |
+
} catch (e) {
|
539 |
+
data = {};
|
540 |
+
}
|
541 |
+
|
542 |
+
return data;
|
543 |
+
},
|
544 |
+
ajax: function ajax(args) {
|
545 |
+
var type = args.type || 'post',
|
546 |
+
dataType = args.dataType || 'json',
|
547 |
+
data = args.action ? $.extend(args.data, {
|
548 |
+
'lp-ajax': args.action
|
549 |
+
}) : args.data,
|
550 |
+
beforeSend = args.beforeSend || function () {},
|
551 |
+
url = args.url || window.location.href; // console.debug( beforeSend );
|
552 |
+
|
553 |
+
|
554 |
+
$.ajax({
|
555 |
+
data: data,
|
556 |
+
url: url,
|
557 |
+
type: type,
|
558 |
+
dataType: 'html',
|
559 |
+
beforeSend: beforeSend.apply(null, args),
|
560 |
+
success: function success(raw) {
|
561 |
+
var response = LP.parseResponse(raw, dataType);
|
562 |
+
$.isFunction(args.success) && args.success(response, raw);
|
563 |
+
},
|
564 |
+
error: function error() {
|
565 |
+
$.isFunction(args.error) && args.error.apply(null, LP.funcArgs2Array());
|
566 |
+
}
|
567 |
+
});
|
568 |
+
},
|
569 |
+
doAjax: function doAjax(args) {
|
570 |
+
var type = args.type || 'post',
|
571 |
+
dataType = args.dataType || 'json',
|
572 |
+
action = (args.prefix === undefined || 'learnpress_') + args.action,
|
573 |
+
data = args.action ? $.extend(args.data, {
|
574 |
+
action: action
|
575 |
+
}) : args.data;
|
576 |
+
$.ajax({
|
577 |
+
data: data,
|
578 |
+
url: args.url || window.location.href,
|
579 |
+
type: type,
|
580 |
+
dataType: 'html',
|
581 |
+
success: function success(raw) {
|
582 |
+
var response = LP.parseResponse(raw, dataType);
|
583 |
+
$.isFunction(args.success) && args.success(response, raw);
|
584 |
+
},
|
585 |
+
error: function error() {
|
586 |
+
$.isFunction(args.error) && args.error.apply(null, LP.funcArgs2Array());
|
587 |
+
}
|
588 |
+
});
|
589 |
+
},
|
590 |
+
funcArgs2Array: function funcArgs2Array(args) {
|
591 |
+
var arr = [];
|
592 |
+
|
593 |
+
for (var i = 0; i < args.length; i++) {
|
594 |
+
arr.push(args[i]);
|
595 |
+
}
|
596 |
+
|
597 |
+
return arr;
|
598 |
+
},
|
599 |
+
addFilter: function addFilter(action, callback) {
|
600 |
+
var $doc = $(document),
|
601 |
+
event = 'LP.' + action;
|
602 |
+
$doc.on(event, callback);
|
603 |
+
LP.log($doc.data('events'));
|
604 |
+
return this;
|
605 |
+
},
|
606 |
+
applyFilters: function applyFilters() {
|
607 |
+
var $doc = $(document),
|
608 |
+
action = arguments[0],
|
609 |
+
args = this.funcArgs2Array(arguments);
|
610 |
+
|
611 |
+
if ($doc.hasEvent(action)) {
|
612 |
+
args[0] = 'LP.' + action;
|
613 |
+
return $doc.triggerHandler.apply($doc, args);
|
614 |
+
}
|
615 |
+
|
616 |
+
return args[1];
|
617 |
+
},
|
618 |
+
addAction: function addAction(action, callback) {
|
619 |
+
return this.addFilter(action, callback);
|
620 |
+
},
|
621 |
+
doAction: function doAction() {
|
622 |
+
var $doc = $(document),
|
623 |
+
action = arguments[0],
|
624 |
+
args = this.funcArgs2Array(arguments);
|
625 |
+
|
626 |
+
if ($doc.hasEvent(action)) {
|
627 |
+
args[0] = 'LP.' + action;
|
628 |
+
$doc.trigger.apply($doc, args);
|
629 |
+
}
|
630 |
+
},
|
631 |
+
toElement: function toElement(element, args) {
|
632 |
+
if ($(element).length === 0) {
|
633 |
+
return;
|
634 |
+
}
|
635 |
+
|
636 |
+
args = $.extend({
|
637 |
+
delay: 300,
|
638 |
+
duration: 'slow',
|
639 |
+
offset: 50,
|
640 |
+
container: null,
|
641 |
+
callback: null,
|
642 |
+
invisible: false
|
643 |
+
}, args || {});
|
644 |
+
var $container = $(args.container),
|
645 |
+
rootTop = 0;
|
646 |
+
|
647 |
+
if ($container.length === 0) {
|
648 |
+
$container = $('body, html');
|
649 |
+
}
|
650 |
+
|
651 |
+
rootTop = $container.offset().top;
|
652 |
+
var to = $(element).offset().top + $container.scrollTop() - rootTop - args.offset;
|
653 |
+
|
654 |
+
function isElementInView(element, fullyInView) {
|
655 |
+
var pageTop = $container.scrollTop();
|
656 |
+
var pageBottom = pageTop + $container.height();
|
657 |
+
var elementTop = $(element).offset().top - $container.offset().top;
|
658 |
+
var elementBottom = elementTop + $(element).height();
|
659 |
+
|
660 |
+
if (fullyInView === true) {
|
661 |
+
return pageTop < elementTop && pageBottom > elementBottom;
|
662 |
+
} else {
|
663 |
+
return elementTop <= pageBottom && elementBottom >= pageTop;
|
664 |
+
}
|
665 |
+
}
|
666 |
+
|
667 |
+
if (args.invisible && isElementInView(element, true)) {
|
668 |
+
return;
|
669 |
+
}
|
670 |
+
|
671 |
+
$container.fadeIn(10).delay(args.delay).animate({
|
672 |
+
scrollTop: to
|
673 |
+
}, args.duration, args.callback);
|
674 |
+
},
|
675 |
+
uniqueId: function uniqueId(prefix, more_entropy) {
|
676 |
+
if (typeof prefix === 'undefined') {
|
677 |
+
prefix = '';
|
678 |
+
}
|
679 |
+
|
680 |
+
var retId;
|
681 |
+
|
682 |
+
var formatSeed = function formatSeed(seed, reqWidth) {
|
683 |
+
seed = parseInt(seed, 10).toString(16); // to hex str
|
684 |
+
|
685 |
+
if (reqWidth < seed.length) {
|
686 |
+
// so long we split
|
687 |
+
return seed.slice(seed.length - reqWidth);
|
688 |
+
}
|
689 |
+
|
690 |
+
if (reqWidth > seed.length) {
|
691 |
+
// so short we pad
|
692 |
+
return new Array(1 + (reqWidth - seed.length)).join('0') + seed;
|
693 |
+
}
|
694 |
+
|
695 |
+
return seed;
|
696 |
+
}; // BEGIN REDUNDANT
|
697 |
+
|
698 |
+
|
699 |
+
if (!this.php_js) {
|
700 |
+
this.php_js = {};
|
701 |
+
} // END REDUNDANT
|
702 |
+
|
703 |
+
|
704 |
+
if (!this.php_js.uniqidSeed) {
|
705 |
+
// init seed with big random int
|
706 |
+
this.php_js.uniqidSeed = Math.floor(Math.random() * 0x75bcd15);
|
707 |
+
}
|
708 |
+
|
709 |
+
this.php_js.uniqidSeed++;
|
710 |
+
retId = prefix; // start with prefix, add current milliseconds hex string
|
711 |
+
|
712 |
+
retId += formatSeed(parseInt(new Date().getTime() / 1000, 10), 8);
|
713 |
+
retId += formatSeed(this.php_js.uniqidSeed, 5); // add seed hex string
|
714 |
+
|
715 |
+
if (more_entropy) {
|
716 |
+
// for more entropy we add a float lower to 10
|
717 |
+
retId += (Math.random() * 10).toFixed(8).toString();
|
718 |
+
}
|
719 |
+
|
720 |
+
return retId;
|
721 |
+
},
|
722 |
+
log: function log() {
|
723 |
+
//if (typeof LEARN_PRESS_DEBUG != 'undefined' && LEARN_PRESS_DEBUG && console) {
|
724 |
+
for (var i = 0, n = arguments.length; i < n; i++) {
|
725 |
+
console.log(arguments[i]);
|
726 |
+
} //}
|
727 |
+
|
728 |
+
},
|
729 |
+
blockContent: function blockContent() {
|
730 |
+
if ($('#learn-press-block-content').length === 0) {
|
731 |
+
$(LP.template('learn-press-template-block-content', {})).appendTo($('body'));
|
732 |
+
}
|
733 |
+
|
734 |
+
LP.hideMainScrollbar().addClass('block-content');
|
735 |
+
$(document).trigger('learn_press_block_content');
|
736 |
+
},
|
737 |
+
unblockContent: function unblockContent() {
|
738 |
+
setTimeout(function () {
|
739 |
+
LP.showMainScrollbar().removeClass('block-content');
|
740 |
+
$(document).trigger('learn_press_unblock_content');
|
741 |
+
}, 350);
|
742 |
+
},
|
743 |
+
hideMainScrollbar: function hideMainScrollbar(el) {
|
744 |
+
if (!el) {
|
745 |
+
el = 'html, body';
|
746 |
+
}
|
747 |
+
|
748 |
+
var $el = $(el);
|
749 |
+
$el.each(function () {
|
750 |
+
var $root = $(this),
|
751 |
+
overflow = $root.css('overflow');
|
752 |
+
$root.css('overflow', 'hidden').attr('overflow', overflow);
|
753 |
+
});
|
754 |
+
return $el;
|
755 |
+
},
|
756 |
+
showMainScrollbar: function showMainScrollbar(el) {
|
757 |
+
if (!el) {
|
758 |
+
el = 'html, body';
|
759 |
+
}
|
760 |
+
|
761 |
+
var $el = $(el);
|
762 |
+
$el.each(function () {
|
763 |
+
var $root = $(this),
|
764 |
+
overflow = $root.attr('overflow');
|
765 |
+
$root.css('overflow', overflow).removeAttr('overflow');
|
766 |
+
});
|
767 |
+
return $el;
|
768 |
+
},
|
769 |
+
template: typeof _ !== 'undefined' ? _.memoize(function (id, data) {
|
770 |
+
var compiled,
|
771 |
+
options = {
|
772 |
+
evaluate: /<#([\s\S]+?)#>/g,
|
773 |
+
interpolate: /\{\{\{([\s\S]+?)\}\}\}/g,
|
774 |
+
escape: /\{\{([^\}]+?)\}\}(?!\})/g,
|
775 |
+
variable: 'data'
|
776 |
+
};
|
777 |
+
|
778 |
+
var tmpl = function tmpl(data) {
|
779 |
+
compiled = compiled || _.template($('#' + id).html(), null, options);
|
780 |
+
return compiled(data);
|
781 |
+
};
|
782 |
+
|
783 |
+
return data ? tmpl(data) : tmpl;
|
784 |
+
}, function (a, b) {
|
785 |
+
return a + '-' + JSON.stringify(b);
|
786 |
+
}) : function () {
|
787 |
+
return '';
|
788 |
+
},
|
789 |
+
alert: function alert(localize, callback) {
|
790 |
+
var title = '',
|
791 |
+
message = '';
|
792 |
+
|
793 |
+
if (typeof localize === 'string') {
|
794 |
+
message = localize;
|
795 |
+
} else {
|
796 |
+
if (typeof localize['title'] !== 'undefined') {
|
797 |
+
title = localize['title'];
|
798 |
+
}
|
799 |
+
|
800 |
+
if (typeof localize['message'] !== 'undefined') {
|
801 |
+
message = localize['message'];
|
802 |
+
}
|
803 |
+
}
|
804 |
+
|
805 |
+
$.alerts.alert(message, title, function (e) {
|
806 |
+
LP._on_alert_hide();
|
807 |
+
|
808 |
+
callback && callback(e);
|
809 |
+
});
|
810 |
+
|
811 |
+
this._on_alert_show();
|
812 |
+
},
|
813 |
+
confirm: function confirm(localize, callback) {
|
814 |
+
var title = '',
|
815 |
+
message = '';
|
816 |
+
|
817 |
+
if (typeof localize === 'string') {
|
818 |
+
message = localize;
|
819 |
+
} else {
|
820 |
+
if (typeof localize['title'] !== 'undefined') {
|
821 |
+
title = localize['title'];
|
822 |
+
}
|
823 |
+
|
824 |
+
if (typeof localize['message'] !== 'undefined') {
|
825 |
+
message = localize['message'];
|
826 |
+
}
|
827 |
+
}
|
828 |
+
|
829 |
+
$.alerts.confirm(message, title, function (e) {
|
830 |
+
LP._on_alert_hide();
|
831 |
+
|
832 |
+
callback && callback(e);
|
833 |
+
});
|
834 |
+
|
835 |
+
this._on_alert_show();
|
836 |
+
},
|
837 |
+
_on_alert_show: function _on_alert_show() {
|
838 |
+
var $container = $('#popup_container'),
|
839 |
+
$placeholder = $('<span id="popup_container_placeholder" />').insertAfter($container).data('xxx', $container);
|
840 |
+
$container.stop().css('top', '-=50').css('opacity', '0').animate({
|
841 |
+
top: '+=50',
|
842 |
+
opacity: 1
|
843 |
+
}, 250);
|
844 |
+
},
|
845 |
+
_on_alert_hide: function _on_alert_hide() {
|
846 |
+
var $holder = $("#popup_container_placeholder"),
|
847 |
+
$container = $holder.data('xxx');
|
848 |
+
|
849 |
+
if ($container) {
|
850 |
+
$container.replaceWith($holder);
|
851 |
+
}
|
852 |
+
|
853 |
+
$container.appendTo($(document.body));
|
854 |
+
$container.stop().animate({
|
855 |
+
top: '+=50',
|
856 |
+
opacity: 0
|
857 |
+
}, 250, function () {
|
858 |
+
$(this).remove();
|
859 |
+
});
|
860 |
+
},
|
861 |
+
sendMessage: function sendMessage(data, object, targetOrigin, transfer) {
|
862 |
+
if ($.isPlainObject(data)) {
|
863 |
+
data = JSON.stringify(data);
|
864 |
+
}
|
865 |
+
|
866 |
+
object = object || window;
|
867 |
+
targetOrigin = targetOrigin || '*';
|
868 |
+
object.postMessage(data, targetOrigin, transfer);
|
869 |
+
},
|
870 |
+
receiveMessage: function receiveMessage(event, b) {
|
871 |
+
var target = event.origin || event.originalEvent.origin,
|
872 |
+
data = event.data || event.originalEvent.data || '';
|
873 |
+
|
874 |
+
if (typeof data === 'string' || data instanceof String) {
|
875 |
+
if (data.indexOf('{') === 0) {
|
876 |
+
data = LP.parseJSON(data);
|
877 |
+
}
|
878 |
+
}
|
879 |
+
|
880 |
+
LP.Hook.doAction('learn_press_receive_message', data, target);
|
881 |
+
}
|
882 |
+
};
|
883 |
+
$(document).ready(function () {
|
884 |
+
if (typeof $.alerts !== 'undefined') {
|
885 |
+
$.alerts.overlayColor = '#000';
|
886 |
+
$.alerts.overlayOpacity = 0.5;
|
887 |
+
$.alerts.okButton = lpGlobalSettings.localize.button_ok;
|
888 |
+
$.alerts.cancelButton = lpGlobalSettings.localize.button_cancel;
|
889 |
+
}
|
890 |
+
|
891 |
+
$('.learn-press-message.fixed').each(function () {
|
892 |
+
var $el = $(this),
|
893 |
+
options = $el.data();
|
894 |
+
|
895 |
+
(function ($el, options) {
|
896 |
+
if (options.delayIn) {
|
897 |
+
setTimeout(function () {
|
898 |
+
$el.show().hide().fadeIn();
|
899 |
+
}, options.delayIn);
|
900 |
+
}
|
901 |
+
|
902 |
+
if (options.delayOut) {
|
903 |
+
setTimeout(function () {
|
904 |
+
$el.fadeOut();
|
905 |
+
}, options.delayOut + (options.delayIn || 0));
|
906 |
+
}
|
907 |
+
})($el, options);
|
908 |
+
});
|
909 |
+
$('body').on('click', '.learn-press-nav-tabs li a', function (e) {
|
910 |
+
e.preventDefault();
|
911 |
+
var $tab = $(this),
|
912 |
+
url = '';
|
913 |
+
$tab.closest('li').addClass('active').siblings().removeClass('active');
|
914 |
+
$($tab.attr('data-tab')).addClass('active').siblings().removeClass('active');
|
915 |
+
$(document).trigger('learn-press/nav-tabs/clicked', $tab);
|
916 |
+
});
|
917 |
+
setTimeout(function () {
|
918 |
+
$('.learn-press-nav-tabs li.active:not(.default) a').trigger('click');
|
919 |
+
}, 300);
|
920 |
+
$('body.course-item-popup').parent().css('overflow', 'hidden');
|
921 |
+
|
922 |
+
(function () {
|
923 |
+
var timer = null,
|
924 |
+
callback = function callback() {
|
925 |
+
$('.auto-check-lines').checkLines(function (r) {
|
926 |
+
if (r > 1) {
|
927 |
+
$(this).removeClass('single-lines');
|
928 |
+
} else {
|
929 |
+
$(this).addClass('single-lines');
|
930 |
+
}
|
931 |
+
|
932 |
+
$(this).attr('rows', r);
|
933 |
+
});
|
934 |
+
};
|
935 |
+
|
936 |
+
$(window).on('resize.check-lines', function () {
|
937 |
+
if (timer) {
|
938 |
+
timer && clearTimeout(timer);
|
939 |
+
timer = setTimeout(callback, 300);
|
940 |
+
} else {
|
941 |
+
callback();
|
942 |
+
}
|
943 |
+
});
|
944 |
+
})();
|
945 |
+
|
946 |
+
$('.learn-press-tooltip, .lp-passing-conditional').LP_Tooltip({
|
947 |
+
offset: [24, 24]
|
948 |
+
});
|
949 |
+
$('.learn-press-icon').LP_Tooltip({
|
950 |
+
offset: [30, 30]
|
951 |
+
});
|
952 |
+
$('.learn-press-message[data-autoclose]').each(function () {
|
953 |
+
var $el = $(this),
|
954 |
+
delay = parseInt($el.data('autoclose'));
|
955 |
+
|
956 |
+
if (delay) {
|
957 |
+
setTimeout(function ($el) {
|
958 |
+
$el.fadeOut();
|
959 |
+
}, delay, $el);
|
960 |
+
}
|
961 |
+
});
|
962 |
+
$(document).on('click', function () {
|
963 |
+
$(document).trigger('learn-press/close-all-quick-tip');
|
964 |
+
});
|
965 |
+
});
|
966 |
+
Object(_extend__WEBPACK_IMPORTED_MODULE_0__["default"])(_objectSpread({
|
967 |
+
Event_Callback: _event_callback__WEBPACK_IMPORTED_MODULE_4__["default"],
|
968 |
+
MessageBox: _message_box__WEBPACK_IMPORTED_MODULE_3__["default"]
|
969 |
+
}, _default));
|
970 |
+
/* harmony default export */ __webpack_exports__["default"] = ({
|
971 |
+
fn: _fn__WEBPACK_IMPORTED_MODULE_1__["default"],
|
972 |
+
QuickTip: _quick_tip__WEBPACK_IMPORTED_MODULE_2___default.a
|
973 |
+
});
|
974 |
+
|
975 |
+
/***/ }),
|
976 |
+
|
977 |
+
/***/ "./assets/src/js/utils/jquery.plugins.js":
|
978 |
+
/*!***********************************************!*\
|
979 |
+
!*** ./assets/src/js/utils/jquery.plugins.js ***!
|
980 |
+
\***********************************************/
|
981 |
+
/*! exports provided: default */
|
982 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
983 |
+
|
984 |
+
"use strict";
|
985 |
+
__webpack_require__.r(__webpack_exports__);
|
986 |
+
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
987 |
+
|
988 |
+
var $ = window.jQuery;
|
989 |
+
|
990 |
+
var serializeJSON = function serializeJSON(path) {
|
991 |
+
var isInput = $(this).is('input') || $(this).is('select') || $(this).is('textarea');
|
992 |
+
var unIndexed = isInput ? $(this).serializeArray() : $(this).find('input, select, textarea').serializeArray(),
|
993 |
+
indexed = {},
|
994 |
+
validate = /(\[([a-zA-Z0-9_-]+)?\]?)/g,
|
995 |
+
arrayKeys = {},
|
996 |
+
end = false;
|
997 |
+
$.each(unIndexed, function () {
|
998 |
+
var that = this,
|
999 |
+
match = this.name.match(/^([0-9a-zA-Z_-]+)/);
|
1000 |
+
|
1001 |
+
if (!match) {
|
1002 |
+
return;
|
1003 |
+
}
|
1004 |
+
|
1005 |
+
var keys = this.name.match(validate),
|
1006 |
+
objPath = "indexed['" + match[0] + "']";
|
1007 |
+
|
1008 |
+
if (keys) {
|
1009 |
+
if (_typeof(indexed[match[0]]) != 'object') {
|
1010 |
+
indexed[match[0]] = {};
|
1011 |
+
}
|
1012 |
+
|
1013 |
+
$.each(keys, function (i, prop) {
|
1014 |
+
prop = prop.replace(/\]|\[/g, '');
|
1015 |
+
var rawPath = objPath.replace(/'|\[|\]/g, ''),
|
1016 |
+
objExp = '',
|
1017 |
+
preObjPath = objPath;
|
1018 |
+
|
1019 |
+
if (prop == '') {
|
1020 |
+
if (arrayKeys[rawPath] == undefined) {
|
1021 |
+
arrayKeys[rawPath] = 0;
|
1022 |
+
} else {
|
1023 |
+
arrayKeys[rawPath]++;
|
1024 |
+
}
|
1025 |
+
|
1026 |
+
objPath += "['" + arrayKeys[rawPath] + "']";
|
1027 |
+
} else {
|
1028 |
+
if (!isNaN(prop)) {
|
1029 |
+
arrayKeys[rawPath] = prop;
|
1030 |
+
}
|
1031 |
+
|
1032 |
+
objPath += "['" + prop + "']";
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
try {
|
1036 |
+
if (i == keys.length - 1) {
|
1037 |
+
objExp = objPath + "=that.value;";
|
1038 |
+
end = true;
|
1039 |
+
} else {
|
1040 |
+
objExp = objPath + "={}";
|
1041 |
+
end = false;
|
1042 |
+
}
|
1043 |
+
|
1044 |
+
var evalString = "" + "if( typeof " + objPath + " == 'undefined'){" + objExp + ";" + "}else{" + "if(end){" + "if(typeof " + preObjPath + "!='object'){" + preObjPath + "={};}" + objExp + "}" + "}";
|
1045 |
+
eval(evalString);
|
1046 |
+
} catch (e) {
|
1047 |
+
console.log('Error:' + e + "\n" + objExp);
|
1048 |
+
}
|
1049 |
+
});
|
1050 |
+
} else {
|
1051 |
+
indexed[match[0]] = this.value;
|
1052 |
+
}
|
1053 |
+
});
|
1054 |
+
|
1055 |
+
if (path) {
|
1056 |
+
path = "['" + path.replace('.', "']['") + "']";
|
1057 |
+
var c = 'try{indexed = indexed' + path + '}catch(ex){console.log(c, ex);}';
|
1058 |
+
eval(c);
|
1059 |
+
}
|
1060 |
+
|
1061 |
+
return indexed;
|
1062 |
+
};
|
1063 |
+
|
1064 |
+
var LP_Tooltip = function LP_Tooltip(options) {
|
1065 |
+
options = $.extend({}, {
|
1066 |
+
offset: [0, 0]
|
1067 |
+
}, options || {});
|
1068 |
+
return $.each(this, function () {
|
1069 |
+
var $el = $(this),
|
1070 |
+
content = $el.data('content');
|
1071 |
+
|
1072 |
+
if (!content || $el.data('LP_Tooltip') !== undefined) {
|
1073 |
+
return;
|
1074 |
+
}
|
1075 |
+
|
1076 |
+
var $tooltip = null;
|
1077 |
+
$el.hover(function (e) {
|
1078 |
+
$tooltip = $('<div class="learn-press-tooltip-bubble"/>').html(content).appendTo($('body')).hide();
|
1079 |
+
var position = $el.offset();
|
1080 |
+
|
1081 |
+
if ($.isArray(options.offset)) {
|
1082 |
+
var top = options.offset[1],
|
1083 |
+
left = options.offset[0];
|
1084 |
+
|
1085 |
+
if ($.isNumeric(left)) {
|
1086 |
+
position.left += left;
|
1087 |
+
} else {}
|
1088 |
+
|
1089 |
+
if ($.isNumeric(top)) {
|
1090 |
+
position.top += top;
|
1091 |
+
} else {}
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
$tooltip.css({
|
1095 |
+
top: position.top,
|
1096 |
+
left: position.left
|
1097 |
+
});
|
1098 |
+
$tooltip.fadeIn();
|
1099 |
+
}, function () {
|
1100 |
+
$tooltip && $tooltip.remove();
|
1101 |
+
});
|
1102 |
+
$el.data('tooltip', true);
|
1103 |
+
});
|
1104 |
+
};
|
1105 |
+
|
1106 |
+
var hasEvent = function hasEvent(name) {
|
1107 |
+
var events = $(this).data('events');
|
1108 |
+
|
1109 |
+
if (typeof events.LP == 'undefined') {
|
1110 |
+
return false;
|
1111 |
+
}
|
1112 |
+
|
1113 |
+
for (i = 0; i < events.LP.length; i++) {
|
1114 |
+
if (events.LP[i].namespace == name) {
|
1115 |
+
return true;
|
1116 |
+
}
|
1117 |
+
}
|
1118 |
+
|
1119 |
+
return false;
|
1120 |
+
};
|
1121 |
+
|
1122 |
+
var dataToJSON = function dataToJSON() {
|
1123 |
+
var json = {};
|
1124 |
+
$.each(this[0].attributes, function () {
|
1125 |
+
var m = this.name.match(/^data-(.*)/);
|
1126 |
+
|
1127 |
+
if (m) {
|
1128 |
+
json[m[1]] = this.value;
|
1129 |
+
}
|
1130 |
+
});
|
1131 |
+
return json;
|
1132 |
+
};
|
1133 |
+
|
1134 |
+
var rows = function rows() {
|
1135 |
+
var h = $(this).height();
|
1136 |
+
var lh = $(this).css('line-height').replace("px", "");
|
1137 |
+
$(this).attr({
|
1138 |
+
height: h,
|
1139 |
+
'line-height': lh
|
1140 |
+
});
|
1141 |
+
return Math.floor(h / parseInt(lh));
|
1142 |
+
};
|
1143 |
+
|
1144 |
+
var checkLines = function checkLines(p) {
|
1145 |
+
return this.each(function () {
|
1146 |
+
var $e = $(this),
|
1147 |
+
rows = $e.rows();
|
1148 |
+
p.call(this, rows);
|
1149 |
+
});
|
1150 |
+
};
|
1151 |
+
|
1152 |
+
var findNext = function findNext(selector) {
|
1153 |
+
var $selector = $(selector),
|
1154 |
+
$root = this.first(),
|
1155 |
+
index = $selector.index($root),
|
1156 |
+
$next = $selector.eq(index + 1);
|
1157 |
+
return $next.length ? $next : false;
|
1158 |
+
};
|
1159 |
+
|
1160 |
+
var findPrev = function findPrev(selector) {
|
1161 |
+
var $selector = $(selector),
|
1162 |
+
$root = this.first(),
|
1163 |
+
index = $selector.index($root),
|
1164 |
+
$prev = $selector.eq(index - 1);
|
1165 |
+
return $prev.length ? $prev : false;
|
1166 |
+
};
|
1167 |
+
|
1168 |
+
var progress = function progress(v) {
|
1169 |
+
return this.each(function () {
|
1170 |
+
var t = parseInt(v / 100 * 360),
|
1171 |
+
timer = null,
|
1172 |
+
$this = $(this);
|
1173 |
+
|
1174 |
+
if (t < 180) {
|
1175 |
+
$this.find('.progress-circle').removeClass('gt-50');
|
1176 |
+
} else {
|
1177 |
+
$this.find('.progress-circle').addClass('gt-50');
|
1178 |
+
}
|
1179 |
+
|
1180 |
+
$this.find('.fill').css({
|
1181 |
+
transform: 'rotate(' + t + 'deg)'
|
1182 |
+
});
|
1183 |
+
});
|
1184 |
+
};
|
1185 |
+
|
1186 |
+
$.fn.serializeJSON = serializeJSON;
|
1187 |
+
$.fn.LP_Tooltip = LP_Tooltip;
|
1188 |
+
$.fn.hasEvent = hasEvent;
|
1189 |
+
$.fn.dataToJSON = dataToJSON;
|
1190 |
+
$.fn.rows = rows;
|
1191 |
+
$.fn.checkLines = checkLines;
|
1192 |
+
$.fn.findNext = findNext;
|
1193 |
+
$.fn.findPrev = findPrev;
|
1194 |
+
$.fn.progress = progress;
|
1195 |
+
/* harmony default export */ __webpack_exports__["default"] = ({
|
1196 |
+
serializeJSON: serializeJSON,
|
1197 |
+
LP_Tooltip: LP_Tooltip,
|
1198 |
+
hasEvent: hasEvent,
|
1199 |
+
dataToJSON: dataToJSON,
|
1200 |
+
rows: rows,
|
1201 |
+
checkLines: checkLines,
|
1202 |
+
findNext: findNext,
|
1203 |
+
findPrev: findPrev,
|
1204 |
+
progress: progress
|
1205 |
+
});
|
1206 |
+
|
1207 |
+
/***/ }),
|
1208 |
+
|
1209 |
+
/***/ "./assets/src/js/utils/message-box.js":
|
1210 |
+
/*!********************************************!*\
|
1211 |
+
!*** ./assets/src/js/utils/message-box.js ***!
|
1212 |
+
\********************************************/
|
1213 |
+
/*! exports provided: default */
|
1214 |
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1215 |
+
|
1216 |
+
"use strict";
|
1217 |
+
__webpack_require__.r(__webpack_exports__);
|
1218 |
+
var $ = window.jQuery;
|
1219 |
+
var MessageBox = {
|
1220 |
+
/*
|
1221 |
+
*
|
1222 |
+
*/
|
1223 |
+
$block: null,
|
1224 |
+
$window: null,
|
1225 |
+
events: {},
|
1226 |
+
instances: [],
|
1227 |
+
instance: null,
|
1228 |
+
quickConfirm: function quickConfirm(elem, args) {
|
1229 |
+
var $e = $(elem);
|
1230 |
+
$('[learn-press-quick-confirm]').each(function () {
|
1231 |
+
var $ins;
|
1232 |
+
($ins = $(this).data('quick-confirm')) && (console.log($ins), $ins.destroy());
|
1233 |
+
});
|
1234 |
+
!$e.attr('learn-press-quick-confirm') && $e.attr('learn-press-quick-confirm', 'true').data('quick-confirm', new function (elem, args) {
|
1235 |
+
var $elem = $(elem),
|
1236 |
+
$div = $('<span class="learn-press-quick-confirm"></span>').insertAfter($elem),
|
1237 |
+
//($(document.body)),
|
1238 |
+
offset = $(elem).position() || {
|
1239 |
+
left: 0,
|
1240 |
+
top: 0
|
1241 |
+
},
|
1242 |
+
timerOut = null,
|
1243 |
+
timerHide = null,
|
1244 |
+
n = 3,
|
1245 |
+
hide = function hide() {
|
1246 |
+
$div.fadeOut('fast', function () {
|
1247 |
+
$(this).remove();
|
1248 |
+
$div.parent().css('position', '');
|
1249 |
+
});
|
1250 |
+
$elem.removeAttr('learn-press-quick-confirm').data('quick-confirm', undefined);
|
1251 |
+
stop();
|
1252 |
+
},
|
1253 |
+
stop = function stop() {
|
1254 |
+
timerHide && clearInterval(timerHide);
|
1255 |
+
timerOut && clearInterval(timerOut);
|
1256 |
+
},
|
1257 |
+
start = function start() {
|
1258 |
+
timerOut = setInterval(function () {
|
1259 |
+
if (--n == 0) {
|
1260 |
+
hide.call($div[0]);
|
1261 |
+
$.isFunction(args.onCancel) && args.onCancel(args.data);
|
1262 |
+
stop();
|
1263 |
+
}
|
1264 |
+
|
1265 |
+
$div.find('span').html(' (' + n + ')');
|
1266 |
+
}, 1000);
|
1267 |
+
timerHide = setInterval(function () {
|
1268 |
+
if (!$elem.is(':visible') || $elem.css("visibility") == 'hidden') {
|
1269 |
+
stop();
|
1270 |
+
$div.remove();
|
1271 |
+
$div.parent().css('position', '');
|
1272 |
+
$.isFunction(args.onCancel) && args.onCancel(args.data);
|
1273 |
+
}
|
1274 |
+
}, 350);
|
1275 |
+
};
|
1276 |
+
|
1277 |
+
args = $.extend({
|
1278 |
+
message: '',
|
1279 |
+
data: null,
|
1280 |
+
onOk: null,
|
1281 |
+
onCancel: null,
|
1282 |
+
offset: {
|
1283 |
+
top: 0,
|
1284 |
+
left: 0
|
1285 |
+
}
|
1286 |
+
}, args || {});
|
1287 |
+
$div.html(args.message || $elem.attr('data-confirm-remove') || 'Are you sure?').append('<span> (' + n + ')</span>').css({});
|
1288 |
+
$div.click(function () {
|
1289 |
+
$.isFunction(args.onOk) && args.onOk(args.data);
|
1290 |
+
hide();
|
1291 |
+
}).hover(function () {
|
1292 |
+
stop();
|
1293 |
+
}, function () {
|
1294 |
+
start();
|
1295 |
+
}); //$div.parent().css('position', 'relative');
|
1296 |
+
|
1297 |
+
$div.css({
|
1298 |
+
left: offset.left + $elem.outerWidth() - $div.outerWidth() + args.offset.left,
|
1299 |
+
top: offset.top + $elem.outerHeight() + args.offset.top + 5
|
1300 |
+
}).hide().fadeIn('fast');
|
1301 |
+
start();
|
1302 |
+
|
1303 |
+
this.destroy = function () {
|
1304 |
+
$div.remove();
|
1305 |
+
$elem.removeAttr('learn-press-quick-confirm').data('quick-confirm', undefined);
|
1306 |
+
stop();
|
1307 |
+
};
|
1308 |
+
}(elem, args));
|
1309 |
+
},
|
1310 |
+
show: function show(message, args) {
|
1311 |
+
//this.hide();
|
1312 |
+
$.proxy(function () {
|
1313 |
+
args = $.extend({
|
1314 |
+
title: '',
|
1315 |
+
buttons: '',
|
1316 |
+
events: false,
|
1317 |
+
autohide: false,
|
1318 |
+
message: message,
|
1319 |
+
data: false,
|
1320 |
+
id: LP.uniqueId(),
|
1321 |
+
onHide: null
|
1322 |
+
}, args || {});
|
1323 |
+
this.instances.push(args);
|
1324 |
+
this.instance = args;
|
1325 |
+
var $doc = $(document),
|
1326 |
+
$body = $(document.body);
|
1327 |
+
|
1328 |
+
if (!this.$block) {
|
1329 |
+
this.$block = $('<div id="learn-press-message-box-block"></div>').appendTo($body);
|
1330 |
+
}
|
1331 |
+
|
1332 |
+
if (!this.$window) {
|
1333 |
+
this.$window = $('<div id="learn-press-message-box-window"><div id="message-box-wrap"></div> </div>').insertAfter(this.$block);
|
1334 |
+
this.$window.click(function () {});
|
1335 |
+
} //this.events = args.events || {};
|
1336 |
+
|
1337 |
+
|
1338 |
+
this._createWindow(message, args.title, args.buttons);
|
1339 |
+
|
1340 |
+
this.$block.show();
|
1341 |
+
this.$window.show().attr('instance', args.id);
|
1342 |
+
$(window).bind('resize.message-box', $.proxy(this.update, this)).bind('scroll.message-box', $.proxy(this.update, this));
|
1343 |
+
this.update(true);
|
1344 |
+
|
1345 |
+
if (args.autohide) {
|
1346 |
+
setTimeout(function () {
|
1347 |
+
LP.MessageBox.hide();
|
1348 |
+
$.isFunction(args.onHide) && args.onHide.call(LP.MessageBox, args);
|
1349 |
+
}, args.autohide);
|
1350 |
+
}
|
1351 |
+
}, this)();
|
1352 |
+
},
|
1353 |
+
blockUI: function blockUI(message) {
|
1354 |
+
message = (message !== false ? message ? message : 'Wait a moment' : '') + '<div class="message-box-animation"></div>';
|
1355 |
+
this.show(message);
|
1356 |
+
},
|
1357 |
+
hide: function hide(delay, instance) {
|
1358 |
+
if (instance) {
|
1359 |
+
this._removeInstance(instance.id);
|
1360 |
+
} else if (this.instance) {
|
1361 |
+
this._removeInstance(this.instance.id);
|
1362 |
+
}
|
1363 |
+
|
1364 |
+
if (this.instances.length === 0) {
|
1365 |
+
if (this.$block) {
|
1366 |
+
this.$block.hide();
|
1367 |
+
}
|
1368 |
+
|
1369 |
+
if (this.$window) {
|
1370 |
+
this.$window.hide();
|
1371 |
+
}
|
1372 |
+
|
1373 |
+
$(window).unbind('resize.message-box', this.update).unbind('scroll.message-box', this.update);
|
1374 |
+
} else {
|
1375 |
+
if (this.instance) {
|
1376 |
+
this._createWindow(this.instance.message, this.instance.title, this.instance.buttons);
|
1377 |
+
}
|
1378 |
+
}
|
1379 |
+
},
|
1380 |
+
update: function update(force) {
|
1381 |
+
var that = this,
|
1382 |
+
$wrap = this.$window.find('#message-box-wrap'),
|
1383 |
+
timer = $wrap.data('timer'),
|
1384 |
+
_update = function _update() {
|
1385 |
+
LP.Hook.doAction('learn_press_message_box_before_resize', that);
|
1386 |
+
var $content = $wrap.find('.message-box-content').css("height", "").css('overflow', 'hidden'),
|
1387 |
+
width = $wrap.outerWidth(),
|
1388 |
+
height = $wrap.outerHeight(),
|
1389 |
+
contentHeight = $content.height(),
|
1390 |
+
windowHeight = $(window).height(),
|
1391 |
+
top = $wrap.offset().top;
|
1392 |
+
|
1393 |
+
if (contentHeight > windowHeight - 50) {
|
1394 |
+
$content.css({
|
1395 |
+
height: windowHeight - 25
|
1396 |
+
});
|
1397 |
+
height = $wrap.outerHeight();
|
1398 |
+
} else {
|
1399 |
+
$content.css("height", "").css('overflow', '');
|
1400 |
+
}
|
1401 |
+
|
1402 |
+
$wrap.css({
|
1403 |
+
marginTop: ($(window).height() - height) / 2
|
1404 |
+
});
|
1405 |
+
LP.Hook.doAction('learn_press_message_box_resize', height, that);
|
1406 |
+
};
|
1407 |
+
|
1408 |
+
if (force) _update();
|
1409 |
+
timer && clearTimeout(timer);
|
1410 |
+
timer = setTimeout(_update, 250);
|
1411 |
+
},
|
1412 |
+
_removeInstance: function _removeInstance(id) {
|
1413 |
+
for (var i = 0; i < this.instances.length; i++) {
|
1414 |
+
if (this.instances[i].id === id) {
|
1415 |
+
this.instances.splice(i, 1);
|
1416 |
+
var len = this.instances.length;
|
1417 |
+
|
1418 |
+
if (len) {
|
1419 |
+
this.instance = this.instances[len - 1];
|
1420 |
+
this.$window.attr('instance', this.instance.id);
|
1421 |
+
} else {
|
1422 |
+
this.instance = false;
|
1423 |
+
this.$window.removeAttr('instance');
|
1424 |
+
}
|
1425 |
+
|
1426 |
+
break;
|
1427 |
+
}
|
1428 |
+
}
|
1429 |
+
},
|
1430 |
+
_getInstance: function _getInstance(id) {
|
1431 |
+
for (var i = 0; i < this.instances.length; i++) {
|
1432 |
+
if (this.instances[i].id === id) {
|
1433 |
+
return this.instances[i];
|
1434 |
+
}
|
1435 |
+
}
|
1436 |
+
},
|
1437 |
+
_createWindow: function _createWindow(message, title, buttons) {
|
1438 |
+
var $wrap = this.$window.find('#message-box-wrap').html('');
|
1439 |
+
|
1440 |
+
if (title) {
|
1441 |
+
$wrap.append('<h3 class="message-box-title">' + title + '</h3>');
|
1442 |
+
}
|
1443 |
+
|
1444 |
+
$wrap.append($('<div class="message-box-content"></div>').html(message));
|
1445 |
+
|
1446 |
+
if (buttons) {
|
1447 |
+
var $buttons = $('<div class="message-box-buttons"></div>');
|
1448 |
+
|
1449 |
+
switch (buttons) {
|
1450 |
+
case 'yesNo':
|
1451 |
+
$buttons.append(this._createButton(LP_Settings.localize.button_yes, 'yes'));
|
1452 |
+
$buttons.append(this._createButton(LP_Settings.localize.button_no, 'no'));
|
1453 |
+
break;
|
1454 |
+
|
1455 |
+
case 'okCancel':
|
1456 |
+
$buttons.append(this._createButton(LP_Settings.localize.button_ok, 'ok'));
|
1457 |
+
$buttons.append(this._createButton(LP_Settings.localize.button_cancel, 'cancel'));
|
1458 |
+
break;
|
1459 |
+
|
1460 |
+
default:
|
1461 |
+
$buttons.append(this._createButton(LP_Settings.localize.button_ok, 'ok'));
|
1462 |
+
}
|
1463 |
+
|
1464 |
+
$wrap.append($buttons);
|
1465 |
+
}
|
1466 |
+
},
|
1467 |
+
_createButton: function _createButton(title, type) {
|
1468 |
+
var $button = $('<button type="button" class="button message-box-button message-box-button-' + type + '">' + title + '</button>'),
|
1469 |
+
callback = 'on' + (type.substr(0, 1).toUpperCase() + type.substr(1));
|
1470 |
+
$button.data('callback', callback).click(function () {
|
1471 |
+
var instance = $(this).data('instance'),
|
1472 |
+
callback = instance.events[$(this).data('callback')];
|
1473 |
+
|
1474 |
+
if ($.type(callback) === 'function') {
|
1475 |
+
if (callback.apply(LP.MessageBox, [instance]) === false) {// return;
|
1476 |
+
} else {
|
1477 |
+
LP.MessageBox.hide(null, instance);
|
1478 |
+
}
|
1479 |
+
} else {
|
1480 |
+
LP.MessageBox.hide(null, instance);
|
1481 |
+
}
|
1482 |
+
}).data('instance', this.instance);
|
1483 |
+
return $button;
|
1484 |
+
}
|
1485 |
+
};
|
1486 |
+
/* harmony default export */ __webpack_exports__["default"] = (MessageBox);
|
1487 |
+
|
1488 |
+
/***/ }),
|
1489 |
+
|
1490 |
+
/***/ "./assets/src/js/utils/quick-tip.js":
|
1491 |
+
/*!******************************************!*\
|
1492 |
+
!*** ./assets/src/js/utils/quick-tip.js ***!
|
1493 |
+
\******************************************/
|
1494 |
+
/*! no static exports found */
|
1495 |
+
/***/ (function(module, exports) {
|
1496 |
+
|
1497 |
+
;
|
1498 |
+
|
1499 |
+
(function ($) {
|
1500 |
+
function QuickTip(el, options) {
|
1501 |
+
var $el = $(el),
|
1502 |
+
uniId = $el.attr('data-id') || LP.uniqueId();
|
1503 |
+
options = $.extend({
|
1504 |
+
event: 'hover',
|
1505 |
+
autoClose: true,
|
1506 |
+
single: true,
|
1507 |
+
closeInterval: 1000,
|
1508 |
+
arrowOffset: null,
|
1509 |
+
tipClass: ''
|
1510 |
+
}, options, $el.data());
|
1511 |
+
$el.attr('data-id', uniId);
|
1512 |
+
var content = $el.attr('data-content-tip') || $el.html(),
|
1513 |
+
$tip = $('<div class="learn-press-tip-floating">' + content + '</div>'),
|
1514 |
+
t = null,
|
1515 |
+
closeInterval = 0,
|
1516 |
+
useData = false,
|
1517 |
+
arrowOffset = options.arrowOffset === 'el' ? $el.outerWidth() / 2 : 8,
|
1518 |
+
$content = $('#__' + uniId);
|
1519 |
+
|
1520 |
+
if ($content.length === 0) {
|
1521 |
+
$(document.body).append($('<div />').attr('id', '__' + uniId).html(content).css('display', 'none'));
|
1522 |
+
}
|
1523 |
+
|
1524 |
+
content = $content.html();
|
1525 |
+
$tip.addClass(options.tipClass);
|
1526 |
+
$el.data('content-tip', content);
|
1527 |
+
|
1528 |
+
if ($el.attr('data-content-tip')) {
|
1529 |
+
//$el.removeAttr('data-content-tip');
|
1530 |
+
useData = true;
|
1531 |
+
}
|
1532 |
+
|
1533 |
+
closeInterval = options.closeInterval;
|
1534 |
+
|
1535 |
+
if (options.autoClose === false) {
|
1536 |
+
$tip.append('<a class="close"></a>');
|
1537 |
+
$tip.on('click', '.close', function () {
|
1538 |
+
close();
|
1539 |
+
});
|
1540 |
+
}
|
1541 |
+
|
1542 |
+
function show() {
|
1543 |
+
if (t) {
|
1544 |
+
clearTimeout(t);
|
1545 |
+
return;
|
1546 |
+
}
|
1547 |
+
|
1548 |
+
if (options.single) {
|
1549 |
+
$('.learn-press-tip').not($el).LP('QuickTip', 'close');
|
1550 |
+
}
|
1551 |
+
|
1552 |
+
$tip.appendTo(document.body);
|
1553 |
+
var pos = $el.offset();
|
1554 |
+
$tip.css({
|
1555 |
+
top: pos.top - $tip.outerHeight() - 8,
|
1556 |
+
left: pos.left - $tip.outerWidth() / 2 + arrowOffset
|
1557 |
+
});
|
1558 |
+
}
|
1559 |
+
|
1560 |
+
function hide() {
|
1561 |
+
t && clearTimeout(t);
|
1562 |
+
t = setTimeout(function () {
|
1563 |
+
$tip.detach();
|
1564 |
+
t = null;
|
1565 |
+
}, closeInterval);
|
1566 |
+
}
|
1567 |
+
|
1568 |
+
function close() {
|
1569 |
+
closeInterval = 0;
|
1570 |
+
hide();
|
1571 |
+
closeInterval = options.closeInterval;
|
1572 |
+
}
|
1573 |
+
|
1574 |
+
function open() {
|
1575 |
+
show();
|
1576 |
+
}
|
1577 |
+
|
1578 |
+
if (!useData) {
|
1579 |
+
$el.html('');
|
1580 |
+
}
|
1581 |
+
|
1582 |
+
if (options.event === 'click') {
|
1583 |
+
$el.on('click', function (e) {
|
1584 |
+
e.stopPropagation();
|
1585 |
+
show();
|
1586 |
+
});
|
1587 |
+
}
|
1588 |
+
|
1589 |
+
$(document).on('learn-press/close-all-quick-tip', function () {
|
1590 |
+
close();
|
1591 |
+
});
|
1592 |
+
$el.hover(function (e) {
|
1593 |
+
e.stopPropagation();
|
1594 |
+
|
1595 |
+
if (options.event !== 'click') {
|
1596 |
+
show();
|
1597 |
+
}
|
1598 |
+
}, function (e) {
|
1599 |
+
e.stopPropagation();
|
1600 |
+
|
1601 |
+
if (options.autoClose) {
|
1602 |
+
hide();
|
1603 |
+
}
|
1604 |
+
}).addClass('ready');
|
1605 |
+
return {
|
1606 |
+
close: close,
|
1607 |
+
open: open
|
1608 |
+
};
|
1609 |
+
}
|
1610 |
+
|
1611 |
+
$.fn.LP('QuickTip', function (options) {
|
1612 |
+
return $.each(this, function () {
|
1613 |
+
var $tip = $(this).data('quick-tip');
|
1614 |
+
|
1615 |
+
if (!$tip) {
|
1616 |
+
$tip = new QuickTip(this, options);
|
1617 |
+
$(this).data('quick-tip', $tip);
|
1618 |
+
}
|
1619 |
+
|
1620 |
+
if ($.type(options) === 'string') {
|
1621 |
+
$tip[options] && $tip[options].apply($tip);
|
1622 |
+
}
|
1623 |
+
});
|
1624 |
+
});
|
1625 |
+
})(jQuery);
|
1626 |
+
|
1627 |
+
/***/ })
|
1628 |
+
|
1629 |
+
/******/ });
|
assets/js/utils.js.map
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///E:/Work/Webs/WP/Clouds/Thimpress/Plugins/github.com/learnpress/assets/src/js/utils/event-callback.js","webpack:///E:/Work/Webs/WP/Clouds/Thimpress/Plugins/github.com/learnpress/assets/src/js/utils/extend.js","webpack:///E:/Work/Webs/WP/Clouds/Thimpress/Plugins/github.com/learnpress/assets/src/js/utils/fn.js","webpack:///E:/Work/Webs/WP/Clouds/Thimpress/Plugins/github.com/learnpress/assets/src/js/utils/hook.js","webpack:///E:/Work/Webs/WP/Clouds/Thimpress/Plugins/github.com/learnpress/assets/src/js/utils/index.js","webpack:///E:/Work/Webs/WP/Clouds/Thimpress/Plugins/github.com/learnpress/assets/src/js/utils/jquery.plugins.js","webpack:///E:/Work/Webs/WP/Clouds/Thimpress/Plugins/github.com/learnpress/assets/src/js/utils/message-box.js","webpack:///E:/Work/Webs/WP/Clouds/Thimpress/Plugins/github.com/learnpress/assets/src/js/utils/quick-tip.js"],"names":["Event_Callback","self","callbacks","$","window","jQuery","on","event","callback","namespaces","split","namespace","length","push","off","at","isFunction","indexOf","splice","callEvent","callbackArgs","i","apply","j","LP","arguments","extend","exp","undefined","fn","widget","args","Hook","hooks","action","filter","addAction","callable","priority","tag","addHook","addFilter","doAction","doHook","applyFilters","removeAction","removeHook","removeFilter","hookType","Array","prototype","slice","call","hook","sort","a","b","String","getQueryVar","name","replace","regex","RegExp","results","exec","decodeURIComponent","addQueryVar","value","url","m","match","removeQueryVar","isEmptyObject","prop","hasOwnProperty","_default","setUrl","ember","title","history","pushState","toggleGroupSection","el","target","$el","isHide","hasClass","hide","removeClass","slideToggle","$this","is","addClass","overflow","v","css","data","getUrl","location","href","reload","parseResponse","response","type","parseJSON","e","ajax","dataType","beforeSend","success","raw","error","funcArgs2Array","doAjax","prefix","arr","$doc","document","log","hasEvent","triggerHandler","trigger","toElement","element","delay","duration","offset","container","invisible","$container","rootTop","top","to","scrollTop","isElementInView","fullyInView","pageTop","pageBottom","height","elementTop","elementBottom","fadeIn","animate","uniqueId","more_entropy","retId","formatSeed","seed","reqWidth","parseInt","toString","join","php_js","uniqidSeed","Math","floor","random","Date","getTime","toFixed","n","console","blockContent","template","appendTo","hideMainScrollbar","unblockContent","setTimeout","showMainScrollbar","each","$root","attr","removeAttr","_","memoize","id","compiled","options","evaluate","interpolate","escape","variable","tmpl","html","JSON","stringify","alert","localize","message","alerts","_on_alert_hide","_on_alert_show","confirm","$placeholder","insertAfter","stop","opacity","$holder","replaceWith","body","remove","sendMessage","object","targetOrigin","transfer","isPlainObject","postMessage","receiveMessage","origin","originalEvent","ready","overlayColor","overlayOpacity","okButton","lpGlobalSettings","button_ok","cancelButton","button_cancel","delayIn","show","delayOut","fadeOut","preventDefault","$tab","closest","siblings","parent","timer","checkLines","r","clearTimeout","LP_Tooltip","MessageBox","QuickTip","serializeJSON","path","isInput","unIndexed","serializeArray","find","indexed","validate","arrayKeys","end","that","keys","objPath","rawPath","objExp","preObjPath","isNaN","evalString","eval","c","content","$tooltip","hover","position","isArray","left","isNumeric","events","dataToJSON","json","attributes","rows","h","lh","p","$e","findNext","selector","$selector","first","index","$next","eq","findPrev","$prev","progress","t","transform","$block","$window","instances","instance","quickConfirm","elem","$ins","destroy","$elem","$div","timerOut","timerHide","clearInterval","start","setInterval","onCancel","onOk","append","click","outerWidth","outerHeight","proxy","buttons","autohide","onHide","$body","_createWindow","bind","update","blockUI","_removeInstance","unbind","force","$wrap","_update","$content","width","contentHeight","windowHeight","marginTop","len","_getInstance","$buttons","_createButton","LP_Settings","button_yes","button_no","$button","substr","toUpperCase","uniId","autoClose","single","closeInterval","arrowOffset","tipClass","$tip","useData","close","not","pos","detach","open","stopPropagation"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;AClFA;AAAA;;;;;;AAMA,IAAMA,cAAc,GAAG,SAASA,cAAT,CAAwBC,IAAxB,EAA8B;AACjD,MAAIC,SAAS,GAAG,EAAhB;AACA,MAAIC,CAAC,GAAGC,MAAM,CAACC,MAAf;;AAEA,OAAKC,EAAL,GAAU,UAAUC,KAAV,EAAiBC,QAAjB,EAA2B;AACjC,QAAIC,UAAU,GAAGF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAAjB;AAAA,QACIC,SAAS,GAAG,EADhB;;AAGA,QAAIF,UAAU,CAACG,MAAX,GAAoB,CAAxB,EAA2B;AACvBL,WAAK,GAAGE,UAAU,CAAC,CAAD,CAAlB;AACAE,eAAS,GAAGF,UAAU,CAAC,CAAD,CAAtB;AACH;;AAED,QAAI,CAACP,SAAS,CAACK,KAAD,CAAd,EAAuB;AACnBL,eAAS,CAACK,KAAD,CAAT,GAAmB,CAAC,EAAD,EAAK,EAAL,CAAnB;AACH;;AAED,QAAII,SAAJ,EAAe;AACX,UAAI,CAACT,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBI,SAApB,CAAL,EAAqC;AACjCT,iBAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBI,SAApB,IAAiC,EAAjC;AACH;;AACDT,eAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBI,SAApB,EAA+BE,IAA/B,CAAoCL,QAApC;AACH,KALD,MAKO;AACHN,eAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBM,IAApB,CAAyBL,QAAzB;AACH;;AAED,WAAOP,IAAP;AACH,GAvBD;;AAyBA,OAAKa,GAAL,GAAW,UAAUP,KAAV,EAAiBC,QAAjB,EAA2B;AAClC,QAAIC,UAAU,GAAGF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAAjB;AAAA,QACIC,SAAS,GAAG,EADhB;;AAGA,QAAIF,UAAU,CAACG,MAAX,GAAoB,CAAxB,EAA2B;AACvBL,WAAK,GAAGE,UAAU,CAAC,CAAD,CAAlB;AACAE,eAAS,GAAGF,UAAU,CAAC,CAAD,CAAtB;AACH;;AAED,QAAI,CAACP,SAAS,CAACK,KAAD,CAAd,EAAuB;AACnB,aAAON,IAAP;AACH;;AACD,QAAIc,EAAE,GAAG,CAAC,CAAV;;AACA,QAAI,CAACJ,SAAL,EAAgB;AACZ,UAAIR,CAAC,CAACa,UAAF,CAAaR,QAAb,CAAJ,EAA4B;AACxBO,UAAE,GAAGb,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBU,OAApB,CAA4BT,QAA5B,CAAL;;AACA,YAAIO,EAAE,GAAG,CAAT,EAAY;AACR,iBAAOd,IAAP;AACH;;AACDC,iBAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBW,MAApB,CAA2BH,EAA3B,EAA+B,CAA/B;AACH,OAND,MAMO;AACHb,iBAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,IAAsB,EAAtB;AACH;AACJ,KAVD,MAUO;AACH,UAAI,CAACL,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBI,SAApB,CAAL,EAAqC;AACjC,eAAOV,IAAP;AACH;;AAED,UAAIE,CAAC,CAACa,UAAF,CAAaR,QAAb,CAAJ,EAA4B;AACxBO,UAAE,GAAGb,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBI,SAApB,EAA+BM,OAA/B,CAAuCT,QAAvC,CAAL;;AACA,YAAIO,EAAE,GAAG,CAAT,EAAY;AACR,iBAAOd,IAAP;AACH;;AACDC,iBAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBI,SAApB,EAA+BO,MAA/B,CAAsCH,EAAtC,EAA0C,CAA1C;AACH,OAND,MAMO;AACHb,iBAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBI,SAApB,IAAiC,EAAjC;AACH;AACJ;;AAED,WAAOV,IAAP;AACH,GAxCD;;AA0CA,OAAKkB,SAAL,GAAiB,UAAUZ,KAAV,EAAiBa,YAAjB,EAA+B;AAC5C,QAAI,CAAClB,SAAS,CAACK,KAAD,CAAd,EAAuB;AACnB;AACH;;AAED,QAAIL,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,CAAJ,EAAyB;AACrB,WAAK,IAAIc,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGnB,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBK,MAAxC,EAAgDS,CAAC,EAAjD,EAAqD;AACjDlB,SAAC,CAACa,UAAF,CAAad,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBc,CAApB,CAAb,KAAwCnB,SAAS,CAACK,KAAD,CAAT,CAAiBc,CAAjB,EAAoB,CAApB,EAAuBC,KAAvB,CAA6BrB,IAA7B,EAAmCmB,YAAnC,CAAxC;AACH;AACJ;;AAED,QAAIlB,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,CAAJ,EAAyB;AACrB,WAAK,IAAIc,CAAT,IAAcnB,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,CAAd,EAAmC;AAC/B,aAAK,IAAIgB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGrB,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBc,CAApB,EAAuBT,MAA3C,EAAmDW,CAAC,EAApD,EAAwD;AACpDpB,WAAC,CAACa,UAAF,CAAad,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBc,CAApB,EAAuBE,CAAvB,CAAb,KAA2CrB,SAAS,CAACK,KAAD,CAAT,CAAiB,CAAjB,EAAoBc,CAApB,EAAuBE,CAAvB,EAA0BD,KAA1B,CAAgCrB,IAAhC,EAAsCmB,YAAtC,CAA3C;AACH;AACJ;AACJ;AACJ,GAlBD;AAmBH,CA1FD;;AA4FepB,6EAAf,E;;;;;;;;;;;;AClGA;AAAe,2EAAY;AACvBI,QAAM,CAACoB,EAAP,GAAYpB,MAAM,CAACoB,EAAP,IAAa,EAAzB;;AAEA,MAAI,OAAOC,SAAS,CAAC,CAAD,CAAhB,KAAsB,QAA1B,EAAoC;AAChCD,MAAE,CAACC,SAAS,CAAC,CAAD,CAAV,CAAF,GAAmBD,EAAE,CAACC,SAAS,CAAC,CAAD,CAAV,CAAF,IAAoB,EAAvC;AACAD,MAAE,CAACC,SAAS,CAAC,CAAD,CAAV,CAAF,GAAmBpB,MAAM,CAACqB,MAAP,CAAcF,EAAE,CAACC,SAAS,CAAC,CAAD,CAAV,CAAhB,EAAgCA,SAAS,CAAC,CAAD,CAAzC,CAAnB;AACH,GAHD,MAGO;AACHD,MAAE,GAAGnB,MAAM,CAACqB,MAAP,CAAcF,EAAd,EAAkBC,SAAS,CAAC,CAAD,CAA3B,CAAL;AACH;AACJ,C;;;;;;;;;;;;ACTD;AAAA;;;;;;;;AASA,IAAMtB,CAAC,GAAGC,MAAM,CAACC,MAAjB;AACA,IAAIsB,GAAJ;;AAEA,CAAC,YAAY;AAET,MAAIxB,CAAC,KAAKyB,SAAV,EAAqB;AACjB;AACH;;AAEDzB,GAAC,CAAC0B,EAAF,CAAKL,EAAL,GAAUG,GAAG,GAAG,aAAUG,MAAV,EAAkBD,EAAlB,EAAsB;AAClC,QAAI1B,CAAC,CAACa,UAAF,CAAaa,EAAb,CAAJ,EAAsB;AAClB1B,OAAC,CAAC0B,EAAF,CAAK,QAAQC,MAAb,IAAuBD,EAAvB;AACH,KAFD,MAEO,IAAIC,MAAJ,EAAY;AACf,UAAIC,IAAI,GAAG,EAAX;;AACA,UAAIN,SAAS,CAACb,MAAV,GAAmB,CAAvB,EAA0B;AACtB,aAAK,IAAIS,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGI,SAAS,CAACb,MAA9B,EAAsCS,CAAC,EAAvC,EAA2C;AACvCU,cAAI,CAAClB,IAAL,CAAUY,SAAS,CAACJ,CAAD,CAAnB;AACH;AACJ;;AAED,aAAOlB,CAAC,CAACa,UAAF,CAAab,CAAC,CAAC,IAAD,CAAD,CAAQ,QAAQ2B,MAAhB,CAAb,IAAwC3B,CAAC,CAAC,IAAD,CAAD,CAAQ,QAAQ2B,MAAhB,EAAwBR,KAAxB,CAA8B,IAA9B,EAAoCS,IAApC,CAAxC,GAAoF,IAA3F;AACH;;AACD,WAAO,IAAP;AACH,GAdD;AAeH,CArBD;;AAuBeJ,kEAAf,E;;;;;;;;;;;;ACnCA;AAAA,IAAMK,IAAI,GAAG;AACTC,OAAK,EAAE;AAACC,UAAM,EAAE,EAAT;AAAaC,UAAM,EAAE;AAArB,GADE;AAETC,WAAS,EAAE,mBAAUF,MAAV,EAAkBG,QAAlB,EAA4BC,QAA5B,EAAsCC,GAAtC,EAA2C;AAClD,SAAKC,OAAL,CAAa,QAAb,EAAuBN,MAAvB,EAA+BG,QAA/B,EAAyCC,QAAzC,EAAmDC,GAAnD;AACA,WAAO,IAAP;AACH,GALQ;AAMTE,WAAS,EAAE,mBAAUP,MAAV,EAAkBG,QAAlB,EAA4BC,QAA5B,EAAsCC,GAAtC,EAA2C;AAClD,SAAKC,OAAL,CAAa,QAAb,EAAuBN,MAAvB,EAA+BG,QAA/B,EAAyCC,QAAzC,EAAmDC,GAAnD;AACA,WAAO,IAAP;AACH,GATQ;AAUTG,UAAQ,EAAE,kBAAUR,MAAV,EAAkB;AACxB,SAAKS,MAAL,CAAY,QAAZ,EAAsBT,MAAtB,EAA8BT,SAA9B;AACA,WAAO,IAAP;AACH,GAbQ;AAcTmB,cAAY,EAAE,sBAAUV,MAAV,EAAkB;AAC5B,WAAO,KAAKS,MAAL,CAAY,QAAZ,EAAsBT,MAAtB,EAA8BT,SAA9B,CAAP;AACH,GAhBQ;AAiBToB,cAAY,EAAE,sBAAUX,MAAV,EAAkBK,GAAlB,EAAuB;AACjC,SAAKO,UAAL,CAAgB,QAAhB,EAA0BZ,MAA1B,EAAkCK,GAAlC;AACA,WAAO,IAAP;AACH,GApBQ;AAqBTQ,cAAY,EAAE,sBAAUb,MAAV,EAAkBI,QAAlB,EAA4BC,GAA5B,EAAiC;AAC3C,SAAKO,UAAL,CAAgB,QAAhB,EAA0BZ,MAA1B,EAAkCI,QAAlC,EAA4CC,GAA5C;AACA,WAAO,IAAP;AACH,GAxBQ;AAyBTC,SAAO,EAAE,iBAAUQ,QAAV,EAAoBd,MAApB,EAA4BG,QAA5B,EAAsCC,QAAtC,EAAgDC,GAAhD,EAAqD;AAC1D,QAAIX,SAAS,KAAK,KAAKK,KAAL,CAAWe,QAAX,EAAqBd,MAArB,CAAlB,EAAgD;AAC5C,WAAKD,KAAL,CAAWe,QAAX,EAAqBd,MAArB,IAA+B,EAA/B;AACH;;AACD,QAAID,KAAK,GAAG,KAAKA,KAAL,CAAWe,QAAX,EAAqBd,MAArB,CAAZ;;AACA,QAAIN,SAAS,KAAKW,GAAlB,EAAuB;AACnBA,SAAG,GAAGL,MAAM,GAAG,GAAT,GAAeD,KAAK,CAACrB,MAA3B;AACH;;AACD,SAAKqB,KAAL,CAAWe,QAAX,EAAqBd,MAArB,EAA6BrB,IAA7B,CAAkC;AAAC0B,SAAG,EAAEA,GAAN;AAAWF,cAAQ,EAAEA,QAArB;AAA+BC,cAAQ,EAAEA;AAAzC,KAAlC;AACA,WAAO,IAAP;AACH,GAnCQ;AAoCTK,QAAM,EAAE,gBAAUK,QAAV,EAAoBd,MAApB,EAA4BH,IAA5B,EAAkC;AAEtC;AACAA,QAAI,GAAGkB,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BrB,IAA3B,EAAiC,CAAjC,CAAP;;AAEA,QAAIH,SAAS,KAAK,KAAKK,KAAL,CAAWe,QAAX,EAAqBd,MAArB,CAAlB,EAAgD;AAC5C,UAAID,KAAK,GAAG,KAAKA,KAAL,CAAWe,QAAX,EAAqBd,MAArB,CAAZ;AAAA,UAA0CmB,IAA1C,CAD4C,CAE5C;;AACApB,WAAK,CAACqB,IAAN,CAAW,UAAUC,CAAV,EAAaC,CAAb,EAAgB;AACvB,eAAOD,CAAC,CAAC,UAAD,CAAD,GAAgBC,CAAC,CAAC,UAAD,CAAxB;AACH,OAFD;;AAGA,WAAK,IAAInC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGY,KAAK,CAACrB,MAA1B,EAAkCS,CAAC,EAAnC,EAAuC;AACnCgC,YAAI,GAAGpB,KAAK,CAACZ,CAAD,CAAL,CAASgB,QAAhB;AACA,YAAI,OAAOgB,IAAP,KAAgB,UAApB,EACIA,IAAI,GAAGjD,MAAM,CAACiD,IAAD,CAAb;;AACJ,YAAI,aAAaL,QAAjB,EAA2B;AACvBK,cAAI,CAAC/B,KAAL,CAAW,IAAX,EAAiBS,IAAjB;AACH,SAFD,MAEO;AACHA,cAAI,CAAC,CAAD,CAAJ,GAAUsB,IAAI,CAAC/B,KAAL,CAAW,IAAX,EAAiBS,IAAjB,CAAV;AACH;AACJ;AACJ;;AACD,QAAI,aAAaiB,QAAjB,EAA2B;AACvB,aAAOjB,IAAI,CAAC,CAAD,CAAX;AACH;;AACD,WAAO,IAAP;AACH,GA9DQ;AA+DTe,YAAU,EAAE,oBAAUE,QAAV,EAAoBd,MAApB,EAA4BI,QAA5B,EAAsCC,GAAtC,EAA2C;AACnD,QAAIX,SAAS,KAAK,KAAKK,KAAL,CAAWe,QAAX,EAAqBd,MAArB,CAAlB,EAAgD;AAC5C,UAAID,KAAK,GAAG,KAAKA,KAAL,CAAWe,QAAX,EAAqBd,MAArB,CAAZ;;AACA,WAAK,IAAIb,CAAC,GAAGY,KAAK,CAACrB,MAAN,GAAe,CAA5B,EAA+BS,CAAC,IAAI,CAApC,EAAuCA,CAAC,EAAxC,EAA4C;AACxC,YAAI,CAACO,SAAS,KAAKW,GAAd,IAAqBA,GAAG,KAAKN,KAAK,CAACZ,CAAD,CAAL,CAASkB,GAAvC,MAAgDX,SAAS,KAAKU,QAAd,IAA0BA,QAAQ,KAAKL,KAAK,CAACZ,CAAD,CAAL,CAASiB,QAAhG,CAAJ,EAA+G;AAC3GL,eAAK,CAACf,MAAN,CAAaG,CAAb,EAAgB,CAAhB;AACH;AACJ;AACJ;;AACD,WAAO,IAAP;AACH;AAzEQ,CAAb;AA4EeW,mEAAf,E;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5EA;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA,IAAM7B,CAAC,GAAGE,MAAV;;AAEAoD,MAAM,CAACP,SAAP,CAAiBQ,WAAjB,GAA+B,UAAUC,IAAV,EAAgB;AAC3CA,MAAI,GAAGA,IAAI,CAACC,OAAL,CAAa,MAAb,EAAqB,KAArB,EAA4BA,OAA5B,CAAoC,MAApC,EAA4C,KAA5C,CAAP;AACA,MAAIC,KAAK,GAAG,IAAIC,MAAJ,CAAW,WAAWH,IAAX,GAAkB,WAA7B,CAAZ;AAAA,MACII,OAAO,GAAGF,KAAK,CAACG,IAAN,CAAW,IAAX,CADd;AAEA,SAAOD,OAAO,KAAK,IAAZ,GAAmB,EAAnB,GAAwBE,kBAAkB,CAACF,OAAO,CAAC,CAAD,CAAP,CAAWH,OAAX,CAAmB,KAAnB,EAA0B,GAA1B,CAAD,CAAjD;AACH,CALD;;AAOAH,MAAM,CAACP,SAAP,CAAiBgB,WAAjB,GAA+B,UAAUP,IAAV,EAAgBQ,KAAhB,EAAuB;AAClD,MAAIC,GAAG,GAAG,IAAV;AAAA,MACIC,CAAC,GAAGD,GAAG,CAAC1D,KAAJ,CAAU,GAAV,CADR;AAEA0D,KAAG,GAAGC,CAAC,CAAC,CAAD,CAAP;;AACA,MAAIV,IAAI,CAACW,KAAL,CAAW,IAAX,CAAJ,EAAsB;AAClBF,OAAG,IAAIA,GAAG,CAACE,KAAJ,CAAU,IAAV,IAAkB,GAAlB,GAAwB,GAA/B;AACAF,OAAG,IAAIT,IAAI,GAAG,GAAP,GAAaQ,KAApB;AACH,GAHD,MAGO;AACH,QAAKC,GAAG,CAACnD,OAAJ,CAAY,MAAM0C,IAAN,GAAa,GAAzB,KAAiC,CAAC,CAAnC,IAA0CS,GAAG,CAACnD,OAAJ,CAAY,MAAM0C,IAAN,GAAa,GAAzB,KAAiC,CAAC,CAAhF,EAAoF;AAChFS,SAAG,GAAGA,GAAG,CAACR,OAAJ,CAAY,IAAIE,MAAJ,CAAWH,IAAI,GAAG,WAAlB,EAA+B,GAA/B,CAAZ,EAAiDA,IAAI,GAAG,GAAP,GAAaQ,KAA9D,CAAN;AACH,KAFD,MAEO;AACHC,SAAG,IAAIA,GAAG,CAACE,KAAJ,CAAU,IAAV,IAAkB,GAAlB,GAAwB,GAA/B;AACAF,SAAG,IAAIT,IAAI,GAAG,GAAP,GAAaQ,KAApB;AACH;AACJ;;AACD,SAAOC,GAAG,IAAIC,CAAC,CAAC,CAAD,CAAD,GAAO,MAAMA,CAAC,CAAC,CAAD,CAAd,GAAoB,EAAxB,CAAV;AACH,CAhBD;;AAkBAZ,MAAM,CAACP,SAAP,CAAiBqB,cAAjB,GAAkC,UAAUZ,IAAV,EAAgB;AAC9C,MAAIS,GAAG,GAAG,IAAV;AACA,MAAIC,CAAC,GAAGD,GAAG,CAAC1D,KAAJ,CAAU,GAAV,CAAR;AACA0D,KAAG,GAAGC,CAAC,CAAC,CAAD,CAAP;AACAV,MAAI,GAAGA,IAAI,CAACC,OAAL,CAAa,MAAb,EAAqB,KAArB,EAA4BA,OAA5B,CAAoC,MAApC,EAA4C,KAA5C,CAAP;AACA,MAAIC,KAAK,GAAG,IAAIC,MAAJ,CAAW,WAAWH,IAAX,GAAkB,uBAA7B,EAAsD,GAAtD,CAAZ;AACAS,KAAG,GAAGA,GAAG,CAACR,OAAJ,CAAYC,KAAZ,EAAmB,EAAnB,CAAN;AACA,SAAOO,GAAG,IAAIC,CAAC,CAAC,CAAD,CAAD,GAAO,MAAMA,CAAC,CAAC,CAAD,CAAd,GAAoB,EAAxB,CAAV;AACH,CARD;;AAUA,IAAIlE,CAAC,CAACqE,aAAF,CAAgB,EAAhB,KAAuB,KAA3B,EAAkC;AAC9BrE,GAAC,CAACqE,aAAF,GAAkB,UAAUjB,CAAV,EAAa;AAC3B,QAAIkB,IAAJ;;AACA,SAAKA,IAAL,IAAalB,CAAb,EAAgB;AACZ,UAAIA,CAAC,CAACmB,cAAF,CAAiBD,IAAjB,CAAJ,EAA4B;AACxB,eAAO,KAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GARD;AASH;;AAED,IAAME,QAAQ,GAAG;AACb3C,MAAI,EAAEA,6CADO;AAEb4C,QAAM,EAAE,gBAAUR,GAAV,EAAeS,KAAf,EAAsBC,KAAtB,EAA6B;AACjC,QAAIV,GAAJ,EAAS;AACLW,aAAO,CAACC,SAAR,CAAkB,EAAlB,EAAsBF,KAAtB,EAA6BV,GAA7B;AACA5C,QAAE,CAACQ,IAAH,CAAQU,QAAR,CAAiB,8BAAjB,EAAiD0B,GAAjD;AACH;AACJ,GAPY;AAQba,oBAAkB,EAAE,4BAAUC,EAAV,EAAcC,MAAd,EAAsB;AACtC,QAAIC,GAAG,GAAGjF,CAAC,CAAC+E,EAAD,CAAX;AAAA,QACIG,MAAM,GAAGD,GAAG,CAACE,QAAJ,CAAa,YAAb,CADb;;AAEA,QAAID,MAAJ,EAAY;AACRD,SAAG,CAACG,IAAJ,GAAWC,WAAX,CAAuB,YAAvB;AACH;;AACDJ,OAAG,CAACI,WAAJ,CAAgB,YAAhB,EAA8BC,WAA9B,CAA0C,YAAY;AAClD,UAAIC,KAAK,GAAGvF,CAAC,CAAC,IAAD,CAAb;;AACA,UAAIuF,KAAK,CAACC,EAAN,CAAS,UAAT,CAAJ,EAA0B;AACtBxF,SAAC,CAACgF,MAAD,CAAD,CAAUS,QAAV,CAAmB,WAAnB,EAAgCJ,WAAhC,CAA4C,YAA5C;AACH,OAFD,MAEO;AACHrF,SAAC,CAACgF,MAAD,CAAD,CAAUS,QAAV,CAAmB,YAAnB,EAAiCJ,WAAjC,CAA6C,WAA7C;AACH;AACJ,KAPD;AAQH,GAtBY;AAuBbK,UAAQ,EAAE,kBAAUX,EAAV,EAAcY,CAAd,EAAiB;AACvB,QAAIV,GAAG,GAAGjF,CAAC,CAAC+E,EAAD,CAAX;AAAA,QACIW,QAAQ,GAAGT,GAAG,CAACW,GAAJ,CAAQ,UAAR,CADf;;AAEA,QAAID,CAAJ,EAAO;AACHV,SAAG,CAACW,GAAJ,CAAQ,UAAR,EAAoBD,CAApB,EAAuBE,IAAvB,CAA4B,UAA5B,EAAwCH,QAAxC;AACH,KAFD,MAEO;AACHT,SAAG,CAACW,GAAJ,CAAQ,UAAR,EAAoBX,GAAG,CAACY,IAAJ,CAAS,UAAT,CAApB;AACH;AACJ,GA/BY;AAgCbC,QAAM,EAAE,kBAAY;AAChB,WAAO7F,MAAM,CAAC8F,QAAP,CAAgBC,IAAvB;AACH,GAlCY;AAmCbjC,aAAW,EAAE,qBAAUP,IAAV,EAAgBQ,KAAhB,EAAuBC,GAAvB,EAA4B;AACrC,WAAO,CAACA,GAAG,KAAKxC,SAAR,GAAoBxB,MAAM,CAAC8F,QAAP,CAAgBC,IAApC,GAA2C/B,GAA5C,EAAiDF,WAAjD,CAA6DP,IAA7D,EAAmEQ,KAAnE,CAAP;AACH,GArCY;AAsCbI,gBAAc,EAAE,wBAAUZ,IAAV,EAAgBS,GAAhB,EAAqB;AACjC,WAAO,CAACA,GAAG,KAAKxC,SAAR,GAAoBxB,MAAM,CAAC8F,QAAP,CAAgBC,IAApC,GAA2C/B,GAA5C,EAAiDG,cAAjD,CAAgEZ,IAAhE,CAAP;AACH,GAxCY;AAyCbyC,QAAM,EAAE,gBAAUhC,GAAV,EAAe;AACnB,QAAI,CAACA,GAAL,EAAU;AACNA,SAAG,GAAGhE,MAAM,CAAC8F,QAAP,CAAgBC,IAAtB;AACH;;AACD/F,UAAM,CAAC8F,QAAP,CAAgBC,IAAhB,GAAuB/B,GAAvB;AACH,GA9CY;AAgDbiC,eAAa,EAAE,uBAAUC,QAAV,EAAoBC,IAApB,EAA0B;AACrC,QAAIlC,CAAC,GAAGiC,QAAQ,CAAChC,KAAT,CAAe,8CAAf,CAAR;;AACA,QAAID,CAAJ,EAAO;AACHiC,cAAQ,GAAGjC,CAAC,CAAC,CAAD,CAAZ;AACH;;AACD,WAAO,CAACkC,IAAI,IAAI,MAAT,MAAqB,MAArB,GAA8B,KAAKC,SAAL,CAAeF,QAAf,CAA9B,GAAyDA,QAAhE;AACH,GAtDY;AAuDbE,WAAS,EAAE,mBAAUR,IAAV,EAAgB;AACvB,QAAI3B,CAAC,GAAG,CAAC2B,IAAI,GAAG,EAAR,EAAY1B,KAAZ,CAAkB,8CAAlB,CAAR;;AACA,QAAI;AACA,UAAID,CAAJ,EAAO;AACH2B,YAAI,GAAG7F,CAAC,CAACqG,SAAF,CAAYnC,CAAC,CAAC,CAAD,CAAb,CAAP;AACH,OAFD,MAEO;AACH2B,YAAI,GAAG7F,CAAC,CAACqG,SAAF,CAAYR,IAAZ,CAAP;AACH;AACJ,KAND,CAME,OAAOS,CAAP,EAAU;AACRT,UAAI,GAAG,EAAP;AACH;;AACD,WAAOA,IAAP;AACH,GAnEY;AAoEbU,MAAI,EAAE,cAAU3E,IAAV,EAAgB;AAClB,QAAIwE,IAAI,GAAGxE,IAAI,CAACwE,IAAL,IAAa,MAAxB;AAAA,QACII,QAAQ,GAAG5E,IAAI,CAAC4E,QAAL,IAAiB,MADhC;AAAA,QAEIX,IAAI,GAAGjE,IAAI,CAACG,MAAL,GAAc/B,CAAC,CAACuB,MAAF,CAASK,IAAI,CAACiE,IAAd,EAAoB;AAAC,iBAAWjE,IAAI,CAACG;AAAjB,KAApB,CAAd,GAA8DH,IAAI,CAACiE,IAF9E;AAAA,QAGIY,UAAU,GAAG7E,IAAI,CAAC6E,UAAL,IAAmB,YAAY,CACvC,CAJT;AAAA,QAKIxC,GAAG,GAAGrC,IAAI,CAACqC,GAAL,IAAYhE,MAAM,CAAC8F,QAAP,CAAgBC,IALtC,CADkB,CAO1B;;;AACQhG,KAAC,CAACuG,IAAF,CAAO;AACHV,UAAI,EAAEA,IADH;AAEH5B,SAAG,EAAEA,GAFF;AAGHmC,UAAI,EAAEA,IAHH;AAIHI,cAAQ,EAAE,MAJP;AAKHC,gBAAU,EAAEA,UAAU,CAACtF,KAAX,CAAiB,IAAjB,EAAuBS,IAAvB,CALT;AAMH8E,aAAO,EAAE,iBAAUC,GAAV,EAAe;AACpB,YAAIR,QAAQ,GAAG9E,EAAE,CAAC6E,aAAH,CAAiBS,GAAjB,EAAsBH,QAAtB,CAAf;AACAxG,SAAC,CAACa,UAAF,CAAae,IAAI,CAAC8E,OAAlB,KAA8B9E,IAAI,CAAC8E,OAAL,CAAaP,QAAb,EAAuBQ,GAAvB,CAA9B;AACH,OATE;AAUHC,WAAK,EAAE,iBAAY;AACf5G,SAAC,CAACa,UAAF,CAAae,IAAI,CAACgF,KAAlB,KAA4BhF,IAAI,CAACgF,KAAL,CAAWzF,KAAX,CAAiB,IAAjB,EAAuBE,EAAE,CAACwF,cAAH,EAAvB,CAA5B;AACH;AAZE,KAAP;AAcH,GA1FY;AA2FbC,QAAM,EAAE,gBAAUlF,IAAV,EAAgB;AACpB,QAAIwE,IAAI,GAAGxE,IAAI,CAACwE,IAAL,IAAa,MAAxB;AAAA,QACII,QAAQ,GAAG5E,IAAI,CAAC4E,QAAL,IAAiB,MADhC;AAAA,QAEIzE,MAAM,GAAG,CAAEH,IAAI,CAACmF,MAAL,KAAgBtF,SAAjB,IAA+B,aAAhC,IAAiDG,IAAI,CAACG,MAFnE;AAAA,QAGI8D,IAAI,GAAGjE,IAAI,CAACG,MAAL,GAAc/B,CAAC,CAACuB,MAAF,CAASK,IAAI,CAACiE,IAAd,EAAoB;AAAC9D,YAAM,EAAEA;AAAT,KAApB,CAAd,GAAsDH,IAAI,CAACiE,IAHtE;AAKA7F,KAAC,CAACuG,IAAF,CAAO;AACHV,UAAI,EAAEA,IADH;AAEH5B,SAAG,EAAGrC,IAAI,CAACqC,GAAL,IAAYhE,MAAM,CAAC8F,QAAP,CAAgBC,IAF/B;AAGHI,UAAI,EAAEA,IAHH;AAIHI,cAAQ,EAAE,MAJP;AAKHE,aAAO,EAAE,iBAAUC,GAAV,EAAe;AACpB,YAAIR,QAAQ,GAAG9E,EAAE,CAAC6E,aAAH,CAAiBS,GAAjB,EAAsBH,QAAtB,CAAf;AACAxG,SAAC,CAACa,UAAF,CAAae,IAAI,CAAC8E,OAAlB,KAA8B9E,IAAI,CAAC8E,OAAL,CAAaP,QAAb,EAAuBQ,GAAvB,CAA9B;AACH,OARE;AASHC,WAAK,EAAE,iBAAY;AACf5G,SAAC,CAACa,UAAF,CAAae,IAAI,CAACgF,KAAlB,KAA4BhF,IAAI,CAACgF,KAAL,CAAWzF,KAAX,CAAiB,IAAjB,EAAuBE,EAAE,CAACwF,cAAH,EAAvB,CAA5B;AACH;AAXE,KAAP;AAaH,GA9GY;AAgHbA,gBAAc,EAAE,wBAAUjF,IAAV,EAAgB;AAC5B,QAAIoF,GAAG,GAAG,EAAV;;AACA,SAAK,IAAI9F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGU,IAAI,CAACnB,MAAzB,EAAiCS,CAAC,EAAlC,EAAsC;AAClC8F,SAAG,CAACtG,IAAJ,CAASkB,IAAI,CAACV,CAAD,CAAb;AACH;;AACD,WAAO8F,GAAP;AACH,GAtHY;AAuHb1E,WAAS,EAAE,mBAAUP,MAAV,EAAkB1B,QAAlB,EAA4B;AACnC,QAAI4G,IAAI,GAAGjH,CAAC,CAACkH,QAAD,CAAZ;AAAA,QACI9G,KAAK,GAAG,QAAQ2B,MADpB;AAEAkF,QAAI,CAAC9G,EAAL,CAAQC,KAAR,EAAeC,QAAf;AACAgB,MAAE,CAAC8F,GAAH,CAAOF,IAAI,CAACpB,IAAL,CAAU,QAAV,CAAP;AACA,WAAO,IAAP;AACH,GA7HY;AA8HbpD,cAAY,EAAE,wBAAY;AACtB,QAAIwE,IAAI,GAAGjH,CAAC,CAACkH,QAAD,CAAZ;AAAA,QACInF,MAAM,GAAGT,SAAS,CAAC,CAAD,CADtB;AAAA,QAEIM,IAAI,GAAG,KAAKiF,cAAL,CAAoBvF,SAApB,CAFX;;AAGA,QAAI2F,IAAI,CAACG,QAAL,CAAcrF,MAAd,CAAJ,EAA2B;AACvBH,UAAI,CAAC,CAAD,CAAJ,GAAU,QAAQG,MAAlB;AACA,aAAOkF,IAAI,CAACI,cAAL,CAAoBlG,KAApB,CAA0B8F,IAA1B,EAAgCrF,IAAhC,CAAP;AACH;;AACD,WAAOA,IAAI,CAAC,CAAD,CAAX;AACH,GAvIY;AAwIbK,WAAS,EAAE,mBAAUF,MAAV,EAAkB1B,QAAlB,EAA4B;AACnC,WAAO,KAAKiC,SAAL,CAAeP,MAAf,EAAuB1B,QAAvB,CAAP;AACH,GA1IY;AA2IbkC,UAAQ,EAAE,oBAAY;AAClB,QAAI0E,IAAI,GAAGjH,CAAC,CAACkH,QAAD,CAAZ;AAAA,QACInF,MAAM,GAAGT,SAAS,CAAC,CAAD,CADtB;AAAA,QAEIM,IAAI,GAAG,KAAKiF,cAAL,CAAoBvF,SAApB,CAFX;;AAGA,QAAI2F,IAAI,CAACG,QAAL,CAAcrF,MAAd,CAAJ,EAA2B;AACvBH,UAAI,CAAC,CAAD,CAAJ,GAAU,QAAQG,MAAlB;AACAkF,UAAI,CAACK,OAAL,CAAanG,KAAb,CAAmB8F,IAAnB,EAAyBrF,IAAzB;AACH;AACJ,GAnJY;AAoJb2F,WAAS,EAAE,mBAAUC,OAAV,EAAmB5F,IAAnB,EAAyB;AAChC,QAAI5B,CAAC,CAACwH,OAAD,CAAD,CAAW/G,MAAX,KAAsB,CAA1B,EAA6B;AACzB;AACH;;AACDmB,QAAI,GAAG5B,CAAC,CAACuB,MAAF,CAAS;AACZkG,WAAK,EAAE,GADK;AAEZC,cAAQ,EAAE,MAFE;AAGZC,YAAM,EAAE,EAHI;AAIZC,eAAS,EAAE,IAJC;AAKZvH,cAAQ,EAAE,IALE;AAMZwH,eAAS,EAAE;AANC,KAAT,EAOJjG,IAAI,IAAI,EAPJ,CAAP;AAQA,QAAIkG,UAAU,GAAG9H,CAAC,CAAC4B,IAAI,CAACgG,SAAN,CAAlB;AAAA,QACIG,OAAO,GAAG,CADd;;AAEA,QAAID,UAAU,CAACrH,MAAX,KAAsB,CAA1B,EAA6B;AACzBqH,gBAAU,GAAG9H,CAAC,CAAC,YAAD,CAAd;AACH;;AACD+H,WAAO,GAAGD,UAAU,CAACH,MAAX,GAAoBK,GAA9B;AACA,QAAIC,EAAE,GAAIjI,CAAC,CAACwH,OAAD,CAAD,CAAWG,MAAX,GAAoBK,GAApB,GAA0BF,UAAU,CAACI,SAAX,EAA3B,GAAqDH,OAArD,GAA+DnG,IAAI,CAAC+F,MAA7E;;AAEA,aAASQ,eAAT,CAAyBX,OAAzB,EAAkCY,WAAlC,EAA+C;AAC3C,UAAIC,OAAO,GAAGP,UAAU,CAACI,SAAX,EAAd;AACA,UAAII,UAAU,GAAGD,OAAO,GAAGP,UAAU,CAACS,MAAX,EAA3B;AACA,UAAIC,UAAU,GAAGxI,CAAC,CAACwH,OAAD,CAAD,CAAWG,MAAX,GAAoBK,GAApB,GAA0BF,UAAU,CAACH,MAAX,GAAoBK,GAA/D;AACA,UAAIS,aAAa,GAAGD,UAAU,GAAGxI,CAAC,CAACwH,OAAD,CAAD,CAAWe,MAAX,EAAjC;;AAEA,UAAIH,WAAW,KAAK,IAApB,EAA0B;AACtB,eAASC,OAAO,GAAGG,UAAX,IAA2BF,UAAU,GAAGG,aAAhD;AACH,OAFD,MAEO;AACH,eAASD,UAAU,IAAIF,UAAf,IAA+BG,aAAa,IAAIJ,OAAxD;AACH;AACJ;;AAED,QAAIzG,IAAI,CAACiG,SAAL,IAAkBM,eAAe,CAACX,OAAD,EAAU,IAAV,CAArC,EAAsD;AAClD;AACH;;AACDM,cAAU,CAACY,MAAX,CAAkB,EAAlB,EACKjB,KADL,CACW7F,IAAI,CAAC6F,KADhB,EAEKkB,OAFL,CAEa;AACLT,eAAS,EAAED;AADN,KAFb,EAIOrG,IAAI,CAAC8F,QAJZ,EAIsB9F,IAAI,CAACvB,QAJ3B;AAKH,GA7LY;AA8LbuI,UAAQ,EAAE,kBAAU7B,MAAV,EAAkB8B,YAAlB,EAAgC;AACtC,QAAI,OAAO9B,MAAP,KAAkB,WAAtB,EAAmC;AAC/BA,YAAM,GAAG,EAAT;AACH;;AAED,QAAI+B,KAAJ;;AACA,QAAIC,UAAU,GAAG,SAAbA,UAAa,CAAUC,IAAV,EAAgBC,QAAhB,EAA0B;AACvCD,UAAI,GAAGE,QAAQ,CAACF,IAAD,EAAO,EAAP,CAAR,CACFG,QADE,CACO,EADP,CAAP,CADuC,CAEpB;;AACnB,UAAIF,QAAQ,GAAGD,IAAI,CAACvI,MAApB,EAA4B;AAAE;AAC1B,eAAOuI,IAAI,CAAChG,KAAL,CAAWgG,IAAI,CAACvI,MAAL,GAAcwI,QAAzB,CAAP;AACH;;AACD,UAAIA,QAAQ,GAAGD,IAAI,CAACvI,MAApB,EAA4B;AAAE;AAC1B,eAAO,IAAIqC,KAAJ,CAAU,KAAKmG,QAAQ,GAAGD,IAAI,CAACvI,MAArB,CAAV,EACE2I,IADF,CACO,GADP,IACcJ,IADrB;AAEH;;AACD,aAAOA,IAAP;AACH,KAXD,CANsC,CAmBtC;;;AACA,QAAI,CAAC,KAAKK,MAAV,EAAkB;AACd,WAAKA,MAAL,GAAc,EAAd;AACH,KAtBqC,CAuBtC;;;AACA,QAAI,CAAC,KAAKA,MAAL,CAAYC,UAAjB,EAA6B;AAAE;AAC3B,WAAKD,MAAL,CAAYC,UAAZ,GAAyBC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgB,SAA3B,CAAzB;AACH;;AACD,SAAKJ,MAAL,CAAYC,UAAZ;AAEAR,SAAK,GAAG/B,MAAR,CA7BsC,CA6BtB;;AAChB+B,SAAK,IAAIC,UAAU,CAACG,QAAQ,CAAC,IAAIQ,IAAJ,GACpBC,OADoB,KACR,IADO,EACD,EADC,CAAT,EACa,CADb,CAAnB;AAEAb,SAAK,IAAIC,UAAU,CAAC,KAAKM,MAAL,CAAYC,UAAb,EAAyB,CAAzB,CAAnB,CAhCsC,CAgCU;;AAChD,QAAIT,YAAJ,EAAkB;AACd;AACAC,WAAK,IAAI,CAACS,IAAI,CAACE,MAAL,KAAgB,EAAjB,EACJG,OADI,CACI,CADJ,EAEJT,QAFI,EAAT;AAGH;;AAED,WAAOL,KAAP;AACH,GAvOY;AAwOb3B,KAAG,EAAE,eAAY;AACb;AACA,SAAK,IAAIjG,CAAC,GAAG,CAAR,EAAW2I,CAAC,GAAGvI,SAAS,CAACb,MAA9B,EAAsCS,CAAC,GAAG2I,CAA1C,EAA6C3I,CAAC,EAA9C,EAAkD;AAC9C4I,aAAO,CAAC3C,GAAR,CAAY7F,SAAS,CAACJ,CAAD,CAArB;AACH,KAJY,CAKb;;AACH,GA9OY;AA+Ob6I,cAAY,EAAE,wBAAY;AACtB,QAAI/J,CAAC,CAAC,4BAAD,CAAD,CAAgCS,MAAhC,KAA2C,CAA/C,EAAkD;AAC9CT,OAAC,CAACqB,EAAE,CAAC2I,QAAH,CAAY,oCAAZ,EAAkD,EAAlD,CAAD,CAAD,CAAyDC,QAAzD,CAAkEjK,CAAC,CAAC,MAAD,CAAnE;AACH;;AACDqB,MAAE,CAAC6I,iBAAH,GAAuBzE,QAAvB,CAAgC,eAAhC;AACAzF,KAAC,CAACkH,QAAD,CAAD,CAAYI,OAAZ,CAAoB,2BAApB;AACH,GArPY;AAsPb6C,gBAAc,EAAE,0BAAY;AACxBC,cAAU,CAAC,YAAY;AACnB/I,QAAE,CAACgJ,iBAAH,GAAuBhF,WAAvB,CAAmC,eAAnC;AACArF,OAAC,CAACkH,QAAD,CAAD,CAAYI,OAAZ,CAAoB,6BAApB;AACH,KAHS,EAGP,GAHO,CAAV;AAIH,GA3PY;AA4Pb4C,mBAAiB,EAAE,2BAAUnF,EAAV,EAAc;AAC7B,QAAI,CAACA,EAAL,EAAS;AACLA,QAAE,GAAG,YAAL;AACH;;AACD,QAAIE,GAAG,GAAGjF,CAAC,CAAC+E,EAAD,CAAX;AACAE,OAAG,CAACqF,IAAJ,CAAS,YAAY;AACjB,UAAIC,KAAK,GAAGvK,CAAC,CAAC,IAAD,CAAb;AAAA,UACI0F,QAAQ,GAAG6E,KAAK,CAAC3E,GAAN,CAAU,UAAV,CADf;AAEA2E,WAAK,CAAC3E,GAAN,CAAU,UAAV,EAAsB,QAAtB,EAAgC4E,IAAhC,CAAqC,UAArC,EAAiD9E,QAAjD;AACH,KAJD;AAKA,WAAOT,GAAP;AACH,GAvQY;AAwQboF,mBAAiB,EAAE,2BAAUtF,EAAV,EAAc;AAC7B,QAAI,CAACA,EAAL,EAAS;AACLA,QAAE,GAAG,YAAL;AACH;;AACD,QAAIE,GAAG,GAAGjF,CAAC,CAAC+E,EAAD,CAAX;AACAE,OAAG,CAACqF,IAAJ,CAAS,YAAY;AACjB,UAAIC,KAAK,GAAGvK,CAAC,CAAC,IAAD,CAAb;AAAA,UACI0F,QAAQ,GAAG6E,KAAK,CAACC,IAAN,CAAW,UAAX,CADf;AAEAD,WAAK,CAAC3E,GAAN,CAAU,UAAV,EAAsBF,QAAtB,EAAgC+E,UAAhC,CAA2C,UAA3C;AACH,KAJD;AAKA,WAAOxF,GAAP;AACH,GAnRY;AAoRb+E,UAAQ,EAAE,OAAOU,CAAP,KAAa,WAAb,GAA2BA,CAAC,CAACC,OAAF,CAAU,UAAUC,EAAV,EAAc/E,IAAd,EAAoB;AAC/D,QAAIgF,QAAJ;AAAA,QACIC,OAAO,GAAG;AACNC,cAAQ,EAAE,iBADJ;AAENC,iBAAW,EAAE,yBAFP;AAGNC,YAAM,EAAE,0BAHF;AAINC,cAAQ,EAAE;AAJJ,KADd;;AAQA,QAAIC,IAAI,GAAG,SAAPA,IAAO,CAAUtF,IAAV,EAAgB;AACvBgF,cAAQ,GAAGA,QAAQ,IAAIH,CAAC,CAACV,QAAF,CAAWhK,CAAC,CAAC,MAAM4K,EAAP,CAAD,CAAYQ,IAAZ,EAAX,EAA+B,IAA/B,EAAqCN,OAArC,CAAvB;AACA,aAAOD,QAAQ,CAAChF,IAAD,CAAf;AACH,KAHD;;AAIA,WAAOA,IAAI,GAAGsF,IAAI,CAACtF,IAAD,CAAP,GAAgBsF,IAA3B;AACH,GAdoC,EAclC,UAAU/H,CAAV,EAAaC,CAAb,EAAgB;AACf,WAAOD,CAAC,GAAG,GAAJ,GAAUiI,IAAI,CAACC,SAAL,CAAejI,CAAf,CAAjB;AACH,GAhBoC,CAA3B,GAgBL,YAAY;AACb,WAAO,EAAP;AACH,GAtSY;AAuSbkI,OAAK,EAAE,eAAUC,QAAV,EAAoBnL,QAApB,EAA8B;AACjC,QAAIsE,KAAK,GAAG,EAAZ;AAAA,QACI8G,OAAO,GAAG,EADd;;AAEA,QAAI,OAAOD,QAAP,KAAoB,QAAxB,EAAkC;AAC9BC,aAAO,GAAGD,QAAV;AACH,KAFD,MAEO;AACH,UAAI,OAAOA,QAAQ,CAAC,OAAD,CAAf,KAA6B,WAAjC,EAA8C;AAC1C7G,aAAK,GAAG6G,QAAQ,CAAC,OAAD,CAAhB;AACH;;AACD,UAAI,OAAOA,QAAQ,CAAC,SAAD,CAAf,KAA+B,WAAnC,EAAgD;AAC5CC,eAAO,GAAGD,QAAQ,CAAC,SAAD,CAAlB;AACH;AACJ;;AACDxL,KAAC,CAAC0L,MAAF,CAASH,KAAT,CAAeE,OAAf,EAAwB9G,KAAxB,EAA+B,UAAU2B,CAAV,EAAa;AACxCjF,QAAE,CAACsK,cAAH;;AACAtL,cAAQ,IAAIA,QAAQ,CAACiG,CAAD,CAApB;AACH,KAHD;;AAIA,SAAKsF,cAAL;AACH,GAzTY;AA0TbC,SAAO,EAAE,iBAAUL,QAAV,EAAoBnL,QAApB,EAA8B;AACnC,QAAIsE,KAAK,GAAG,EAAZ;AAAA,QACI8G,OAAO,GAAG,EADd;;AAGA,QAAI,OAAOD,QAAP,KAAoB,QAAxB,EAAkC;AAC9BC,aAAO,GAAGD,QAAV;AACH,KAFD,MAEO;AACH,UAAI,OAAOA,QAAQ,CAAC,OAAD,CAAf,KAA6B,WAAjC,EAA8C;AAC1C7G,aAAK,GAAG6G,QAAQ,CAAC,OAAD,CAAhB;AACH;;AACD,UAAI,OAAOA,QAAQ,CAAC,SAAD,CAAf,KAA+B,WAAnC,EAAgD;AAC5CC,eAAO,GAAGD,QAAQ,CAAC,SAAD,CAAlB;AACH;AACJ;;AACDxL,KAAC,CAAC0L,MAAF,CAASG,OAAT,CAAiBJ,OAAjB,EAA0B9G,KAA1B,EAAiC,UAAU2B,CAAV,EAAa;AAC1CjF,QAAE,CAACsK,cAAH;;AACAtL,cAAQ,IAAIA,QAAQ,CAACiG,CAAD,CAApB;AACH,KAHD;;AAIA,SAAKsF,cAAL;AAEH,GA9UY;AA+UbA,gBAAc,EAAE,0BAAY;AACxB,QAAI9D,UAAU,GAAG9H,CAAC,CAAC,kBAAD,CAAlB;AAAA,QACI8L,YAAY,GAAG9L,CAAC,CAAC,2CAAD,CAAD,CAA+C+L,WAA/C,CAA2DjE,UAA3D,EAAuEjC,IAAvE,CAA4E,KAA5E,EAAmFiC,UAAnF,CADnB;AAEAA,cAAU,CAACkE,IAAX,GAAkBpG,GAAlB,CAAsB,KAAtB,EAA6B,MAA7B,EAAqCA,GAArC,CAAyC,SAAzC,EAAoD,GAApD,EAAyD+C,OAAzD,CAAiE;AAC7DX,SAAG,EAAE,MADwD;AAE7DiE,aAAO,EAAE;AAFoD,KAAjE,EAGG,GAHH;AAIH,GAtVY;AAuVbN,gBAAc,EAAE,0BAAY;AACxB,QAAIO,OAAO,GAAGlM,CAAC,CAAC,8BAAD,CAAf;AAAA,QACI8H,UAAU,GAAGoE,OAAO,CAACrG,IAAR,CAAa,KAAb,CADjB;;AAEA,QAAIiC,UAAJ,EAAgB;AACZA,gBAAU,CAACqE,WAAX,CAAuBD,OAAvB;AACH;;AACDpE,cAAU,CAACmC,QAAX,CAAoBjK,CAAC,CAACkH,QAAQ,CAACkF,IAAV,CAArB;AACAtE,cAAU,CAACkE,IAAX,GAAkBrD,OAAlB,CAA0B;AACtBX,SAAG,EAAE,MADiB;AAEtBiE,aAAO,EAAE;AAFa,KAA1B,EAGG,GAHH,EAGQ,YAAY;AAChBjM,OAAC,CAAC,IAAD,CAAD,CAAQqM,MAAR;AACH,KALD;AAMH,GApWY;AAqWbC,aAAW,EAAE,qBAAUzG,IAAV,EAAgB0G,MAAhB,EAAwBC,YAAxB,EAAsCC,QAAtC,EAAgD;AACzD,QAAIzM,CAAC,CAAC0M,aAAF,CAAgB7G,IAAhB,CAAJ,EAA2B;AACvBA,UAAI,GAAGwF,IAAI,CAACC,SAAL,CAAezF,IAAf,CAAP;AACH;;AACD0G,UAAM,GAAGA,MAAM,IAAItM,MAAnB;AACAuM,gBAAY,GAAGA,YAAY,IAAI,GAA/B;AACAD,UAAM,CAACI,WAAP,CAAmB9G,IAAnB,EAAyB2G,YAAzB,EAAuCC,QAAvC;AACH,GA5WY;AA6WbG,gBAAc,EAAE,wBAAUxM,KAAV,EAAiBiD,CAAjB,EAAoB;AAChC,QAAI2B,MAAM,GAAG5E,KAAK,CAACyM,MAAN,IAAgBzM,KAAK,CAAC0M,aAAN,CAAoBD,MAAjD;AAAA,QACIhH,IAAI,GAAGzF,KAAK,CAACyF,IAAN,IAAczF,KAAK,CAAC0M,aAAN,CAAoBjH,IAAlC,IAA0C,EADrD;;AAEA,QAAI,OAAOA,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,YAAYvC,MAAhD,EAAwD;AACpD,UAAIuC,IAAI,CAAC/E,OAAL,CAAa,GAAb,MAAsB,CAA1B,EAA6B;AACzB+E,YAAI,GAAGxE,EAAE,CAACgF,SAAH,CAAaR,IAAb,CAAP;AACH;AACJ;;AACDxE,MAAE,CAACQ,IAAH,CAAQU,QAAR,CAAiB,6BAAjB,EAAgDsD,IAAhD,EAAsDb,MAAtD;AACH;AAtXY,CAAjB;AAyXAhF,CAAC,CAACkH,QAAD,CAAD,CAAY6F,KAAZ,CAAkB,YAAY;AAC1B,MAAI,OAAO/M,CAAC,CAAC0L,MAAT,KAAoB,WAAxB,EAAqC;AACjC1L,KAAC,CAAC0L,MAAF,CAASsB,YAAT,GAAwB,MAAxB;AACAhN,KAAC,CAAC0L,MAAF,CAASuB,cAAT,GAA0B,GAA1B;AACAjN,KAAC,CAAC0L,MAAF,CAASwB,QAAT,GAAoBC,gBAAgB,CAAC3B,QAAjB,CAA0B4B,SAA9C;AACApN,KAAC,CAAC0L,MAAF,CAAS2B,YAAT,GAAwBF,gBAAgB,CAAC3B,QAAjB,CAA0B8B,aAAlD;AACH;;AAEDtN,GAAC,CAAC,4BAAD,CAAD,CAAgCsK,IAAhC,CAAqC,YAAY;AAC7C,QAAIrF,GAAG,GAAGjF,CAAC,CAAC,IAAD,CAAX;AAAA,QACI8K,OAAO,GAAG7F,GAAG,CAACY,IAAJ,EADd;;AAEA,KAAC,UAAUZ,GAAV,EAAe6F,OAAf,EAAwB;AACrB,UAAIA,OAAO,CAACyC,OAAZ,EAAqB;AACjBnD,kBAAU,CAAC,YAAY;AACnBnF,aAAG,CAACuI,IAAJ,GAAWpI,IAAX,GAAkBsD,MAAlB;AACH,SAFS,EAEPoC,OAAO,CAACyC,OAFD,CAAV;AAGH;;AACD,UAAIzC,OAAO,CAAC2C,QAAZ,EAAsB;AAClBrD,kBAAU,CAAC,YAAY;AACnBnF,aAAG,CAACyI,OAAJ;AACH,SAFS,EAEP5C,OAAO,CAAC2C,QAAR,IAAoB3C,OAAO,CAACyC,OAAR,IAAmB,CAAvC,CAFO,CAAV;AAGH;AACJ,KAXD,EAWGtI,GAXH,EAWQ6F,OAXR;AAaH,GAhBD;AAkBA9K,GAAC,CAAC,MAAD,CAAD,CACKG,EADL,CACQ,OADR,EACiB,4BADjB,EAC+C,UAAUmG,CAAV,EAAa;AACpDA,KAAC,CAACqH,cAAF;AACA,QAAIC,IAAI,GAAG5N,CAAC,CAAC,IAAD,CAAZ;AAAA,QAAoBiE,GAAG,GAAG,EAA1B;AACA2J,QAAI,CAACC,OAAL,CAAa,IAAb,EAAmBpI,QAAnB,CAA4B,QAA5B,EAAsCqI,QAAtC,GAAiDzI,WAAjD,CAA6D,QAA7D;AACArF,KAAC,CAAC4N,IAAI,CAACpD,IAAL,CAAU,UAAV,CAAD,CAAD,CAAyB/E,QAAzB,CAAkC,QAAlC,EAA4CqI,QAA5C,GAAuDzI,WAAvD,CAAmE,QAAnE;AACArF,KAAC,CAACkH,QAAD,CAAD,CAAYI,OAAZ,CAAoB,8BAApB,EAAoDsG,IAApD;AACH,GAPL;AASAxD,YAAU,CAAC,YAAY;AACnBpK,KAAC,CAAC,iDAAD,CAAD,CAAqDsH,OAArD,CAA6D,OAA7D;AACH,GAFS,EAEP,GAFO,CAAV;AAIAtH,GAAC,CAAC,wBAAD,CAAD,CAA4B+N,MAA5B,GAAqCnI,GAArC,CAAyC,UAAzC,EAAqD,QAArD;;AAEA,GAAC,YAAY;AACT,QAAIoI,KAAK,GAAG,IAAZ;AAAA,QACI3N,QAAQ,GAAG,SAAXA,QAAW,GAAY;AACnBL,OAAC,CAAC,mBAAD,CAAD,CAAuBiO,UAAvB,CAAkC,UAAUC,CAAV,EAAa;AAC3C,YAAIA,CAAC,GAAG,CAAR,EAAW;AACPlO,WAAC,CAAC,IAAD,CAAD,CAAQqF,WAAR,CAAoB,cAApB;AACH,SAFD,MAEO;AACHrF,WAAC,CAAC,IAAD,CAAD,CAAQyF,QAAR,CAAiB,cAAjB;AACH;;AACDzF,SAAC,CAAC,IAAD,CAAD,CAAQwK,IAAR,CAAa,MAAb,EAAqB0D,CAArB;AACH,OAPD;AAQH,KAVL;;AAWAlO,KAAC,CAACC,MAAD,CAAD,CAAUE,EAAV,CAAa,oBAAb,EAAmC,YAAY;AAC3C,UAAI6N,KAAJ,EAAW;AACPA,aAAK,IAAIG,YAAY,CAACH,KAAD,CAArB;AACAA,aAAK,GAAG5D,UAAU,CAAC/J,QAAD,EAAW,GAAX,CAAlB;AACH,OAHD,MAGO;AACHA,gBAAQ;AACX;AACJ,KAPD;AAQH,GApBD;;AAsBAL,GAAC,CAAC,+CAAD,CAAD,CAAmDoO,UAAnD,CAA8D;AAACzG,UAAM,EAAE,CAAC,EAAD,EAAK,EAAL;AAAT,GAA9D;AAEA3H,GAAC,CAAC,mBAAD,CAAD,CAAuBoO,UAAvB,CAAkC;AAACzG,UAAM,EAAE,CAAC,EAAD,EAAK,EAAL;AAAT,GAAlC;AAEA3H,GAAC,CAAC,sCAAD,CAAD,CAA0CsK,IAA1C,CAA+C,YAAY;AACvD,QAAIrF,GAAG,GAAGjF,CAAC,CAAC,IAAD,CAAX;AAAA,QAAmByH,KAAK,GAAGyB,QAAQ,CAACjE,GAAG,CAACY,IAAJ,CAAS,WAAT,CAAD,CAAnC;;AACA,QAAI4B,KAAJ,EAAW;AACP2C,gBAAU,CAAC,UAAUnF,GAAV,EAAe;AACtBA,WAAG,CAACyI,OAAJ;AACH,OAFS,EAEPjG,KAFO,EAEAxC,GAFA,CAAV;AAGH;AACJ,GAPD;AASAjF,GAAC,CAACkH,QAAD,CAAD,CAAY/G,EAAZ,CAAe,OAAf,EAAwB,YAAY;AAChCH,KAAC,CAACkH,QAAD,CAAD,CAAYI,OAAZ,CAAoB,iCAApB;AACH,GAFD;AAGH,CA/ED;AAiFA/F,uDAAM;AACF1B,gBAAc,EAAdA,uDADE;AAEFwO,YAAU,EAAVA,oDAAUA;AAFR,GAGC7J,QAHD,EAAN;AAMe;AACX9C,IAAE,EAAFA,2CADW;AAEX4M,UAAQ,EAARA,iDAAQA;AAFG,CAAf,E;;;;;;;;;;;;;;;AChhBA,IAAMtO,CAAC,GAAGC,MAAM,CAACC,MAAjB;;AAEA,IAAMqO,aAAa,GAAG,SAASA,aAAT,CAAuBC,IAAvB,EAA6B;AAC/C,MAAIC,OAAO,GAAGzO,CAAC,CAAC,IAAD,CAAD,CAAQwF,EAAR,CAAW,OAAX,KAAuBxF,CAAC,CAAC,IAAD,CAAD,CAAQwF,EAAR,CAAW,QAAX,CAAvB,IAA+CxF,CAAC,CAAC,IAAD,CAAD,CAAQwF,EAAR,CAAW,UAAX,CAA7D;AACA,MAAIkJ,SAAS,GAAGD,OAAO,GAAGzO,CAAC,CAAC,IAAD,CAAD,CAAQ2O,cAAR,EAAH,GAA8B3O,CAAC,CAAC,IAAD,CAAD,CAAQ4O,IAAR,CAAa,yBAAb,EAAwCD,cAAxC,EAArD;AAAA,MACIE,OAAO,GAAG,EADd;AAAA,MAEIC,QAAQ,GAAG,2BAFf;AAAA,MAGIC,SAAS,GAAG,EAHhB;AAAA,MAIIC,GAAG,GAAG,KAJV;AAKAhP,GAAC,CAACsK,IAAF,CAAOoE,SAAP,EAAkB,YAAY;AAC1B,QAAIO,IAAI,GAAG,IAAX;AAAA,QACI9K,KAAK,GAAG,KAAKX,IAAL,CAAUW,KAAV,CAAgB,mBAAhB,CADZ;;AAEA,QAAI,CAACA,KAAL,EAAY;AACR;AACH;;AACD,QAAI+K,IAAI,GAAG,KAAK1L,IAAL,CAAUW,KAAV,CAAgB2K,QAAhB,CAAX;AAAA,QACIK,OAAO,GAAG,cAAchL,KAAK,CAAC,CAAD,CAAnB,GAAyB,IADvC;;AAGA,QAAI+K,IAAJ,EAAU;AACN,UAAI,QAAOL,OAAO,CAAC1K,KAAK,CAAC,CAAD,CAAN,CAAd,KAA4B,QAAhC,EAA0C;AACtC0K,eAAO,CAAC1K,KAAK,CAAC,CAAD,CAAN,CAAP,GAAoB,EAApB;AACH;;AAEDnE,OAAC,CAACsK,IAAF,CAAO4E,IAAP,EAAa,UAAUhO,CAAV,EAAaoD,IAAb,EAAmB;AAC5BA,YAAI,GAAGA,IAAI,CAACb,OAAL,CAAa,QAAb,EAAuB,EAAvB,CAAP;AACA,YAAI2L,OAAO,GAAGD,OAAO,CAAC1L,OAAR,CAAgB,UAAhB,EAA4B,EAA5B,CAAd;AAAA,YACI4L,MAAM,GAAG,EADb;AAAA,YAEIC,UAAU,GAAGH,OAFjB;;AAIA,YAAI7K,IAAI,IAAI,EAAZ,EAAgB;AACZ,cAAIyK,SAAS,CAACK,OAAD,CAAT,IAAsB3N,SAA1B,EAAqC;AACjCsN,qBAAS,CAACK,OAAD,CAAT,GAAqB,CAArB;AACH,WAFD,MAEO;AACHL,qBAAS,CAACK,OAAD,CAAT;AACH;;AACDD,iBAAO,IAAI,OAAOJ,SAAS,CAACK,OAAD,CAAhB,GAA4B,IAAvC;AACH,SAPD,MAOO;AACH,cAAI,CAACG,KAAK,CAACjL,IAAD,CAAV,EAAkB;AACdyK,qBAAS,CAACK,OAAD,CAAT,GAAqB9K,IAArB;AACH;;AACD6K,iBAAO,IAAI,OAAO7K,IAAP,GAAc,IAAzB;AACH;;AACD,YAAI;AACA,cAAIpD,CAAC,IAAIgO,IAAI,CAACzO,MAAL,GAAc,CAAvB,EAA0B;AACtB4O,kBAAM,GAAGF,OAAO,GAAG,cAAnB;AACAH,eAAG,GAAG,IAAN;AACH,WAHD,MAGO;AACHK,kBAAM,GAAGF,OAAO,GAAG,KAAnB;AACAH,eAAG,GAAG,KAAN;AACH;;AAED,cAAIQ,UAAU,GAAG,KACb,aADa,GACGL,OADH,GACa,mBADb,GACmCE,MADnC,GAC4C,GAD5C,GAEb,QAFa,GAGb,UAHa,GAIb,YAJa,GAIEC,UAJF,GAIe,cAJf,GAIgCA,UAJhC,GAI6C,OAJ7C,GAKbD,MALa,GAMb,GANa,GAOb,GAPJ;AAQAI,cAAI,CAACD,UAAD,CAAJ;AACH,SAlBD,CAkBE,OAAOlJ,CAAP,EAAU;AACRwD,iBAAO,CAAC3C,GAAR,CAAY,WAAWb,CAAX,GAAe,IAAf,GAAsB+I,MAAlC;AACH;AACJ,OAxCD;AAyCH,KA9CD,MA8CO;AACHR,aAAO,CAAC1K,KAAK,CAAC,CAAD,CAAN,CAAP,GAAoB,KAAKH,KAAzB;AACH;AACJ,GA1DD;;AA2DA,MAAIwK,IAAJ,EAAU;AACNA,QAAI,GAAG,OAAOA,IAAI,CAAC/K,OAAL,CAAa,GAAb,EAAkB,MAAlB,CAAP,GAAmC,IAA1C;AACA,QAAIiM,CAAC,GAAG,0BAA0BlB,IAA1B,GAAiC,iCAAzC;AACAiB,QAAI,CAACC,CAAD,CAAJ;AACH;;AACD,SAAOb,OAAP;AACH,CAxED;;AA0EA,IAAMT,UAAU,GAAG,SAASA,UAAT,CAAoBtD,OAApB,EAA6B;AAC5CA,SAAO,GAAG9K,CAAC,CAACuB,MAAF,CAAS,EAAT,EAAa;AACnBoG,UAAM,EAAE,CAAC,CAAD,EAAI,CAAJ;AADW,GAAb,EAEPmD,OAAO,IAAI,EAFJ,CAAV;AAGA,SAAO9K,CAAC,CAACsK,IAAF,CAAO,IAAP,EAAa,YAAY;AAC5B,QAAIrF,GAAG,GAAGjF,CAAC,CAAC,IAAD,CAAX;AAAA,QACI2P,OAAO,GAAG1K,GAAG,CAACY,IAAJ,CAAS,SAAT,CADd;;AAEA,QAAI,CAAC8J,OAAD,IAAa1K,GAAG,CAACY,IAAJ,CAAS,YAAT,MAA2BpE,SAA5C,EAAwD;AACpD;AACH;;AAED,QAAImO,QAAQ,GAAG,IAAf;AACA3K,OAAG,CAAC4K,KAAJ,CAAU,UAAUvJ,CAAV,EAAa;AACnBsJ,cAAQ,GAAG5P,CAAC,CAAC,2CAAD,CAAD,CAA+CoL,IAA/C,CAAoDuE,OAApD,EAA6D1F,QAA7D,CAAsEjK,CAAC,CAAC,MAAD,CAAvE,EAAiFoF,IAAjF,EAAX;AACA,UAAI0K,QAAQ,GAAG7K,GAAG,CAAC0C,MAAJ,EAAf;;AACA,UAAI3H,CAAC,CAAC+P,OAAF,CAAUjF,OAAO,CAACnD,MAAlB,CAAJ,EAA+B;AAC3B,YAAIK,GAAG,GAAG8C,OAAO,CAACnD,MAAR,CAAe,CAAf,CAAV;AAAA,YACIqI,IAAI,GAAGlF,OAAO,CAACnD,MAAR,CAAe,CAAf,CADX;;AAEA,YAAI3H,CAAC,CAACiQ,SAAF,CAAYD,IAAZ,CAAJ,EAAuB;AACnBF,kBAAQ,CAACE,IAAT,IAAiBA,IAAjB;AACH,SAFD,MAEO,CAEN;;AACD,YAAIhQ,CAAC,CAACiQ,SAAF,CAAYjI,GAAZ,CAAJ,EAAsB;AAClB8H,kBAAQ,CAAC9H,GAAT,IAAgBA,GAAhB;AACH,SAFD,MAEO,CAEN;AACJ;;AACD4H,cAAQ,CAAChK,GAAT,CAAa;AACToC,WAAG,EAAE8H,QAAQ,CAAC9H,GADL;AAETgI,YAAI,EAAEF,QAAQ,CAACE;AAFN,OAAb;AAIAJ,cAAQ,CAAClH,MAAT;AACH,KAtBD,EAsBG,YAAY;AACXkH,cAAQ,IAAIA,QAAQ,CAACvD,MAAT,EAAZ;AACH,KAxBD;AAyBApH,OAAG,CAACY,IAAJ,CAAS,SAAT,EAAoB,IAApB;AACH,GAlCM,CAAP;AAmCH,CAvCD;;AAyCA,IAAMuB,QAAQ,GAAG,SAASA,QAAT,CAAkB5D,IAAlB,EAAwB;AACrC,MAAI0M,MAAM,GAAGlQ,CAAC,CAAC,IAAD,CAAD,CAAQ6F,IAAR,CAAa,QAAb,CAAb;;AACA,MAAI,OAAOqK,MAAM,CAAC7O,EAAd,IAAoB,WAAxB,EAAqC;AACjC,WAAO,KAAP;AACH;;AACD,OAAKH,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGgP,MAAM,CAAC7O,EAAP,CAAUZ,MAA1B,EAAkCS,CAAC,EAAnC,EAAuC;AACnC,QAAIgP,MAAM,CAAC7O,EAAP,CAAUH,CAAV,EAAaV,SAAb,IAA0BgD,IAA9B,EAAoC;AAChC,aAAO,IAAP;AACH;AACJ;;AACD,SAAO,KAAP;AACH,CAXD;;AAaA,IAAM2M,UAAU,GAAG,SAASA,UAAT,GAAsB;AACrC,MAAIC,IAAI,GAAG,EAAX;AACApQ,GAAC,CAACsK,IAAF,CAAO,KAAK,CAAL,EAAQ+F,UAAf,EAA2B,YAAY;AACnC,QAAInM,CAAC,GAAG,KAAKV,IAAL,CAAUW,KAAV,CAAgB,YAAhB,CAAR;;AACA,QAAID,CAAJ,EAAO;AACHkM,UAAI,CAAClM,CAAC,CAAC,CAAD,CAAF,CAAJ,GAAa,KAAKF,KAAlB;AACH;AACJ,GALD;AAMA,SAAOoM,IAAP;AACH,CATD;;AAWA,IAAME,IAAI,GAAG,SAASA,IAAT,GAAgB;AACzB,MAAIC,CAAC,GAAGvQ,CAAC,CAAC,IAAD,CAAD,CAAQuI,MAAR,EAAR;AACA,MAAIiI,EAAE,GAAGxQ,CAAC,CAAC,IAAD,CAAD,CAAQ4F,GAAR,CAAY,aAAZ,EAA2BnC,OAA3B,CAAmC,IAAnC,EAAyC,EAAzC,CAAT;AACAzD,GAAC,CAAC,IAAD,CAAD,CAAQwK,IAAR,CAAa;AAACjC,UAAM,EAAEgI,CAAT;AAAY,mBAAeC;AAA3B,GAAb;AACA,SAAOjH,IAAI,CAACC,KAAL,CAAW+G,CAAC,GAAGrH,QAAQ,CAACsH,EAAD,CAAvB,CAAP;AACH,CALD;;AAOA,IAAMvC,UAAU,GAAG,SAASA,UAAT,CAAoBwC,CAApB,EAAuB;AACtC,SAAO,KAAKnG,IAAL,CAAU,YAAY;AACzB,QAAIoG,EAAE,GAAG1Q,CAAC,CAAC,IAAD,CAAV;AAAA,QACIsQ,IAAI,GAAGI,EAAE,CAACJ,IAAH,EADX;AAGAG,KAAC,CAACxN,IAAF,CAAO,IAAP,EAAaqN,IAAb;AACH,GALM,CAAP;AAMH,CAPD;;AASA,IAAMK,QAAQ,GAAG,SAASA,QAAT,CAAkBC,QAAlB,EAA4B;AACzC,MAAIC,SAAS,GAAG7Q,CAAC,CAAC4Q,QAAD,CAAjB;AAAA,MACIrG,KAAK,GAAG,KAAKuG,KAAL,EADZ;AAAA,MAEIC,KAAK,GAAGF,SAAS,CAACE,KAAV,CAAgBxG,KAAhB,CAFZ;AAAA,MAGIyG,KAAK,GAAGH,SAAS,CAACI,EAAV,CAAaF,KAAK,GAAG,CAArB,CAHZ;AAIA,SAAOC,KAAK,CAACvQ,MAAN,GAAeuQ,KAAf,GAAuB,KAA9B;AACH,CAND;;AAQA,IAAME,QAAQ,GAAG,SAASA,QAAT,CAAkBN,QAAlB,EAA4B;AACzC,MAAIC,SAAS,GAAG7Q,CAAC,CAAC4Q,QAAD,CAAjB;AAAA,MACIrG,KAAK,GAAG,KAAKuG,KAAL,EADZ;AAAA,MAEIC,KAAK,GAAGF,SAAS,CAACE,KAAV,CAAgBxG,KAAhB,CAFZ;AAAA,MAGI4G,KAAK,GAAGN,SAAS,CAACI,EAAV,CAAaF,KAAK,GAAG,CAArB,CAHZ;AAIA,SAAOI,KAAK,CAAC1Q,MAAN,GAAe0Q,KAAf,GAAuB,KAA9B;AACH,CAND;;AAQA,IAAMC,QAAQ,GAAG,SAASA,QAAT,CAAkBzL,CAAlB,EAAqB;AAClC,SAAO,KAAK2E,IAAL,CAAU,YAAY;AACzB,QAAI+G,CAAC,GAAGnI,QAAQ,CAACvD,CAAC,GAAG,GAAJ,GAAU,GAAX,CAAhB;AAAA,QACIqI,KAAK,GAAG,IADZ;AAAA,QAEIzI,KAAK,GAAGvF,CAAC,CAAC,IAAD,CAFb;;AAIA,QAAIqR,CAAC,GAAG,GAAR,EAAa;AACT9L,WAAK,CAACqJ,IAAN,CAAW,kBAAX,EAA+BvJ,WAA/B,CAA2C,OAA3C;AACH,KAFD,MAEO;AACHE,WAAK,CAACqJ,IAAN,CAAW,kBAAX,EAA+BnJ,QAA/B,CAAwC,OAAxC;AACH;;AACDF,SAAK,CAACqJ,IAAN,CAAW,OAAX,EAAoBhJ,GAApB,CAAwB;AACpB0L,eAAS,EAAE,YAAYD,CAAZ,GAAgB;AADP,KAAxB;AAIH,GAdM,CAAP;AAeH,CAhBD;;AAkBArR,CAAC,CAAC0B,EAAF,CAAK6M,aAAL,GAAqBA,aAArB;AACAvO,CAAC,CAAC0B,EAAF,CAAK0M,UAAL,GAAkBA,UAAlB;AACApO,CAAC,CAAC0B,EAAF,CAAK0F,QAAL,GAAgBA,QAAhB;AACApH,CAAC,CAAC0B,EAAF,CAAKyO,UAAL,GAAkBA,UAAlB;AACAnQ,CAAC,CAAC0B,EAAF,CAAK4O,IAAL,GAAYA,IAAZ;AACAtQ,CAAC,CAAC0B,EAAF,CAAKuM,UAAL,GAAkBA,UAAlB;AACAjO,CAAC,CAAC0B,EAAF,CAAKiP,QAAL,GAAgBA,QAAhB;AACA3Q,CAAC,CAAC0B,EAAF,CAAKwP,QAAL,GAAgBA,QAAhB;AACAlR,CAAC,CAAC0B,EAAF,CAAK0P,QAAL,GAAgBA,QAAhB;AAEe;AACX7C,eAAa,EAAbA,aADW;AAEXH,YAAU,EAAVA,UAFW;AAGXhH,UAAQ,EAARA,QAHW;AAIX+I,YAAU,EAAVA,UAJW;AAKXG,MAAI,EAAJA,IALW;AAMXrC,YAAU,EAAVA,UANW;AAOX0C,UAAQ,EAARA,QAPW;AAQXO,UAAQ,EAARA,QARW;AASXE,UAAQ,EAARA;AATW,CAAf,E;;;;;;;;;;;;ACzMA;AAAA,IAAMpR,CAAC,GAAGC,MAAM,CAACC,MAAjB;AACA,IAAMmO,UAAU,GAAG;AACf;;;AAGAkD,QAAM,EAAE,IAJO;AAKfC,SAAO,EAAE,IALM;AAMftB,QAAM,EAAE,EANO;AAOfuB,WAAS,EAAE,EAPI;AAQfC,UAAQ,EAAE,IARK;AASfC,cAAY,EAAE,sBAAUC,IAAV,EAAgBhQ,IAAhB,EAAsB;AAChC,QAAI8O,EAAE,GAAG1Q,CAAC,CAAC4R,IAAD,CAAV;AACA5R,KAAC,CAAC,6BAAD,CAAD,CAAiCsK,IAAjC,CAAsC,YAAY;AAC9C,UAAIuH,IAAJ;AACA,OAAEA,IAAI,GAAG7R,CAAC,CAAC,IAAD,CAAD,CAAQ6F,IAAR,CAAa,eAAb,CAAT,MAA8CiE,OAAO,CAAC3C,GAAR,CAAY0K,IAAZ,GAAmBA,IAAI,CAACC,OAAL,EAAjE;AACH,KAHD;AAIA,KAACpB,EAAE,CAAClG,IAAH,CAAQ,2BAAR,CAAD,IAAyCkG,EAAE,CAAClG,IAAH,CAAQ,2BAAR,EAAqC,MAArC,EAA6C3E,IAA7C,CAAkD,eAAlD,EACrC,IAAK,UAAU+L,IAAV,EAAgBhQ,IAAhB,EAAsB;AACvB,UAAImQ,KAAK,GAAG/R,CAAC,CAAC4R,IAAD,CAAb;AAAA,UACII,IAAI,GAAGhS,CAAC,CAAC,iDAAD,CAAD,CAAqD+L,WAArD,CAAiEgG,KAAjE,CADX;AAAA,UACoF;AAChFpK,YAAM,GAAG3H,CAAC,CAAC4R,IAAD,CAAD,CAAQ9B,QAAR,MAAsB;AAACE,YAAI,EAAE,CAAP;AAAUhI,WAAG,EAAE;AAAf,OAFnC;AAAA,UAGIiK,QAAQ,GAAG,IAHf;AAAA,UAIIC,SAAS,GAAG,IAJhB;AAAA,UAKIrI,CAAC,GAAG,CALR;AAAA,UAMIzE,IAAI,GAAG,SAAPA,IAAO,GAAY;AACf4M,YAAI,CAACtE,OAAL,CAAa,MAAb,EAAqB,YAAY;AAC7B1N,WAAC,CAAC,IAAD,CAAD,CAAQqM,MAAR;AACA2F,cAAI,CAACjE,MAAL,GAAcnI,GAAd,CAAkB,UAAlB,EAA8B,EAA9B;AACH,SAHD;AAIAmM,aAAK,CAACtH,UAAN,CAAiB,2BAAjB,EAA8C5E,IAA9C,CAAmD,eAAnD,EAAoEpE,SAApE;AACAuK,YAAI;AACP,OAbL;AAAA,UAcIA,IAAI,GAAG,SAAPA,IAAO,GAAY;AACfkG,iBAAS,IAAIC,aAAa,CAACD,SAAD,CAA1B;AACAD,gBAAQ,IAAIE,aAAa,CAACF,QAAD,CAAzB;AACH,OAjBL;AAAA,UAkBIG,KAAK,GAAG,SAARA,KAAQ,GAAY;AAChBH,gBAAQ,GAAGI,WAAW,CAAC,YAAY;AAC/B,cAAI,EAAExI,CAAF,IAAO,CAAX,EAAc;AACVzE,gBAAI,CAACnC,IAAL,CAAU+O,IAAI,CAAC,CAAD,CAAd;AACAhS,aAAC,CAACa,UAAF,CAAae,IAAI,CAAC0Q,QAAlB,KAA+B1Q,IAAI,CAAC0Q,QAAL,CAAc1Q,IAAI,CAACiE,IAAnB,CAA/B;AACAmG,gBAAI;AACP;;AACDgG,cAAI,CAACpD,IAAL,CAAU,MAAV,EAAkBxD,IAAlB,CAAuB,OAAOvB,CAAP,GAAW,GAAlC;AACH,SAPqB,EAOnB,IAPmB,CAAtB;AASAqI,iBAAS,GAAGG,WAAW,CAAC,YAAY;AAChC,cAAI,CAACN,KAAK,CAACvM,EAAN,CAAS,UAAT,CAAD,IAAyBuM,KAAK,CAACnM,GAAN,CAAU,YAAV,KAA2B,QAAxD,EAAkE;AAC9DoG,gBAAI;AACJgG,gBAAI,CAAC3F,MAAL;AACA2F,gBAAI,CAACjE,MAAL,GAAcnI,GAAd,CAAkB,UAAlB,EAA8B,EAA9B;AACA5F,aAAC,CAACa,UAAF,CAAae,IAAI,CAAC0Q,QAAlB,KAA+B1Q,IAAI,CAAC0Q,QAAL,CAAc1Q,IAAI,CAACiE,IAAnB,CAA/B;AACH;AACJ,SAPsB,EAOpB,GAPoB,CAAvB;AAQH,OApCL;;AAqCAjE,UAAI,GAAG5B,CAAC,CAACuB,MAAF,CAAS;AACZkK,eAAO,EAAE,EADG;AAEZ5F,YAAI,EAAE,IAFM;AAGZ0M,YAAI,EAAE,IAHM;AAIZD,gBAAQ,EAAE,IAJE;AAKZ3K,cAAM,EAAE;AAACK,aAAG,EAAE,CAAN;AAASgI,cAAI,EAAE;AAAf;AALI,OAAT,EAMJpO,IAAI,IAAI,EANJ,CAAP;AAOAoQ,UAAI,CAAC5G,IAAL,CAAUxJ,IAAI,CAAC6J,OAAL,IAAgBsG,KAAK,CAACvH,IAAN,CAAW,qBAAX,CAAhB,IAAqD,eAA/D,EAAgFgI,MAAhF,CAAuF,aAAa3I,CAAb,GAAiB,UAAxG,EAAoHjE,GAApH,CAAwH,EAAxH;AACAoM,UAAI,CAACS,KAAL,CAAW,YAAY;AACnBzS,SAAC,CAACa,UAAF,CAAae,IAAI,CAAC2Q,IAAlB,KAA2B3Q,IAAI,CAAC2Q,IAAL,CAAU3Q,IAAI,CAACiE,IAAf,CAA3B;AACAT,YAAI;AACP,OAHD,EAGGyK,KAHH,CAGS,YAAY;AACjB7D,YAAI;AACP,OALD,EAKG,YAAY;AACXoG,aAAK;AACR,OAPD,EA9CuB,CAsDvB;;AACAJ,UAAI,CAACpM,GAAL,CAAS;AACLoK,YAAI,EAAMrI,MAAM,CAACqI,IAAP,GAAc+B,KAAK,CAACW,UAAN,EAAhB,GAAuCV,IAAI,CAACU,UAAL,EAAzC,GAA+D9Q,IAAI,CAAC+F,MAAL,CAAYqI,IAD5E;AAELhI,WAAG,EAAEL,MAAM,CAACK,GAAP,GAAa+J,KAAK,CAACY,WAAN,EAAb,GAAmC/Q,IAAI,CAAC+F,MAAL,CAAYK,GAA/C,GAAqD;AAFrD,OAAT,EAGG5C,IAHH,GAGUsD,MAHV,CAGiB,MAHjB;AAIA0J,WAAK;;AAEL,WAAKN,OAAL,GAAe,YAAY;AACvBE,YAAI,CAAC3F,MAAL;AACA0F,aAAK,CAACtH,UAAN,CAAiB,2BAAjB,EAA8C5E,IAA9C,CAAmD,eAAnD,EAAoEpE,SAApE;AACAuK,YAAI;AAEP,OALD;AAMH,KAnED,CAmEG4F,IAnEH,EAmEShQ,IAnET,CADqC,CAAzC;AAsEH,GArFc;AAsFf4L,MAAI,EAAE,cAAU/B,OAAV,EAAmB7J,IAAnB,EAAyB;AAC3B;AACA5B,KAAC,CAAC4S,KAAF,CAAQ,YAAY;AAChBhR,UAAI,GAAG5B,CAAC,CAACuB,MAAF,CAAS;AACZoD,aAAK,EAAE,EADK;AAEZkO,eAAO,EAAE,EAFG;AAGZ3C,cAAM,EAAE,KAHI;AAIZ4C,gBAAQ,EAAE,KAJE;AAKZrH,eAAO,EAAEA,OALG;AAMZ5F,YAAI,EAAE,KANM;AAOZ+E,UAAE,EAAEvJ,EAAE,CAACuH,QAAH,EAPQ;AAQZmK,cAAM,EAAE;AARI,OAAT,EASJnR,IAAI,IAAI,EATJ,CAAP;AAWA,WAAK6P,SAAL,CAAe/Q,IAAf,CAAoBkB,IAApB;AACA,WAAK8P,QAAL,GAAgB9P,IAAhB;AAEA,UAAIqF,IAAI,GAAGjH,CAAC,CAACkH,QAAD,CAAZ;AAAA,UACI8L,KAAK,GAAGhT,CAAC,CAACkH,QAAQ,CAACkF,IAAV,CADb;;AAEA,UAAI,CAAC,KAAKmF,MAAV,EAAkB;AACd,aAAKA,MAAL,GAAcvR,CAAC,CAAC,gDAAD,CAAD,CAAoDiK,QAApD,CAA6D+I,KAA7D,CAAd;AAEH;;AACD,UAAI,CAAC,KAAKxB,OAAV,EAAmB;AACf,aAAKA,OAAL,GAAexR,CAAC,CAAC,mFAAD,CAAD,CAAuF+L,WAAvF,CAAmG,KAAKwF,MAAxG,CAAf;AACA,aAAKC,OAAL,CAAaiB,KAAb,CAAmB,YAAY,CAC9B,CADD;AAEH,OAzBe,CA0BhB;;;AACA,WAAKQ,aAAL,CAAmBxH,OAAnB,EAA4B7J,IAAI,CAAC+C,KAAjC,EAAwC/C,IAAI,CAACiR,OAA7C;;AACA,WAAKtB,MAAL,CAAY/D,IAAZ;AACA,WAAKgE,OAAL,CAAahE,IAAb,GAAoBhD,IAApB,CAAyB,UAAzB,EAAqC5I,IAAI,CAACgJ,EAA1C;AACA5K,OAAC,CAACC,MAAD,CAAD,CACKiT,IADL,CACU,oBADV,EACgClT,CAAC,CAAC4S,KAAF,CAAQ,KAAKO,MAAb,EAAqB,IAArB,CADhC,EAEKD,IAFL,CAEU,oBAFV,EAEgClT,CAAC,CAAC4S,KAAF,CAAQ,KAAKO,MAAb,EAAqB,IAArB,CAFhC;AAGA,WAAKA,MAAL,CAAY,IAAZ;;AACA,UAAIvR,IAAI,CAACkR,QAAT,EAAmB;AACf1I,kBAAU,CAAC,YAAY;AACnB/I,YAAE,CAACgN,UAAH,CAAcjJ,IAAd;AACApF,WAAC,CAACa,UAAF,CAAae,IAAI,CAACmR,MAAlB,KAA6BnR,IAAI,CAACmR,MAAL,CAAY9P,IAAZ,CAAiB5B,EAAE,CAACgN,UAApB,EAAgCzM,IAAhC,CAA7B;AACH,SAHS,EAGPA,IAAI,CAACkR,QAHE,CAAV;AAIH;AACJ,KAxCD,EAwCG,IAxCH;AAyCH,GAjIc;AAkIfM,SAAO,EAAE,iBAAU3H,OAAV,EAAmB;AAExBA,WAAO,GAAG,CAACA,OAAO,KAAK,KAAZ,GAAqBA,OAAO,GAAGA,OAAH,GAAa,eAAzC,GAA4D,EAA7D,IAAmE,2CAA7E;AACA,SAAK+B,IAAL,CAAU/B,OAAV;AACH,GAtIc;AAuIfrG,MAAI,EAAE,cAAUqC,KAAV,EAAiBiK,QAAjB,EAA2B;AAC7B,QAAIA,QAAJ,EAAc;AACV,WAAK2B,eAAL,CAAqB3B,QAAQ,CAAC9G,EAA9B;AACH,KAFD,MAEO,IAAI,KAAK8G,QAAT,EAAmB;AACtB,WAAK2B,eAAL,CAAqB,KAAK3B,QAAL,CAAc9G,EAAnC;AACH;;AACD,QAAI,KAAK6G,SAAL,CAAehR,MAAf,KAA0B,CAA9B,EAAiC;AAC7B,UAAI,KAAK8Q,MAAT,EAAiB;AACb,aAAKA,MAAL,CAAYnM,IAAZ;AACH;;AACD,UAAI,KAAKoM,OAAT,EAAkB;AACd,aAAKA,OAAL,CAAapM,IAAb;AACH;;AACDpF,OAAC,CAACC,MAAD,CAAD,CACKqT,MADL,CACY,oBADZ,EACkC,KAAKH,MADvC,EAEKG,MAFL,CAEY,oBAFZ,EAEkC,KAAKH,MAFvC;AAGH,KAVD,MAUO;AACH,UAAI,KAAKzB,QAAT,EAAmB;AACf,aAAKuB,aAAL,CAAmB,KAAKvB,QAAL,CAAcjG,OAAjC,EAA0C,KAAKiG,QAAL,CAAc/M,KAAxD,EAA+D,KAAK+M,QAAL,CAAcmB,OAA7E;AACH;AACJ;AAEJ,GA7Jc;AA8JfM,QAAM,EAAE,gBAAUI,KAAV,EAAiB;AACrB,QAAItE,IAAI,GAAG,IAAX;AAAA,QACIuE,KAAK,GAAG,KAAKhC,OAAL,CAAa5C,IAAb,CAAkB,mBAAlB,CADZ;AAAA,QAEIZ,KAAK,GAAGwF,KAAK,CAAC3N,IAAN,CAAW,OAAX,CAFZ;AAAA,QAGI4N,OAAO,GAAG,SAAVA,OAAU,GAAY;AAClBpS,QAAE,CAACQ,IAAH,CAAQU,QAAR,CAAiB,uCAAjB,EAA0D0M,IAA1D;AACA,UAAIyE,QAAQ,GAAGF,KAAK,CAAC5E,IAAN,CAAW,sBAAX,EAAmChJ,GAAnC,CAAuC,QAAvC,EAAiD,EAAjD,EAAqDA,GAArD,CAAyD,UAAzD,EAAqE,QAArE,CAAf;AAAA,UACI+N,KAAK,GAAGH,KAAK,CAACd,UAAN,EADZ;AAAA,UAEInK,MAAM,GAAGiL,KAAK,CAACb,WAAN,EAFb;AAAA,UAGIiB,aAAa,GAAGF,QAAQ,CAACnL,MAAT,EAHpB;AAAA,UAIIsL,YAAY,GAAG7T,CAAC,CAACC,MAAD,CAAD,CAAUsI,MAAV,EAJnB;AAAA,UAKIP,GAAG,GAAGwL,KAAK,CAAC7L,MAAN,GAAeK,GALzB;;AAMA,UAAI4L,aAAa,GAAGC,YAAY,GAAG,EAAnC,EAAuC;AACnCH,gBAAQ,CAAC9N,GAAT,CAAa;AACT2C,gBAAM,EAAEsL,YAAY,GAAG;AADd,SAAb;AAGAtL,cAAM,GAAGiL,KAAK,CAACb,WAAN,EAAT;AACH,OALD,MAKO;AACHe,gBAAQ,CAAC9N,GAAT,CAAa,QAAb,EAAuB,EAAvB,EAA2BA,GAA3B,CAA+B,UAA/B,EAA2C,EAA3C;AACH;;AACD4N,WAAK,CAAC5N,GAAN,CAAU;AACNkO,iBAAS,EAAE,CAAC9T,CAAC,CAACC,MAAD,CAAD,CAAUsI,MAAV,KAAqBA,MAAtB,IAAgC;AADrC,OAAV;AAGAlH,QAAE,CAACQ,IAAH,CAAQU,QAAR,CAAiB,gCAAjB,EAAmDgG,MAAnD,EAA2D0G,IAA3D;AACH,KAvBL;;AAwBA,QAAIsE,KAAJ,EAAWE,OAAO;AAClBzF,SAAK,IAAIG,YAAY,CAACH,KAAD,CAArB;AACAA,SAAK,GAAG5D,UAAU,CAACqJ,OAAD,EAAU,GAAV,CAAlB;AACH,GA1Lc;AA2LfJ,iBAAe,EAAE,yBAAUzI,EAAV,EAAc;AAC3B,SAAK,IAAI1J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKuQ,SAAL,CAAehR,MAAnC,EAA2CS,CAAC,EAA5C,EAAgD;AAC5C,UAAI,KAAKuQ,SAAL,CAAevQ,CAAf,EAAkB0J,EAAlB,KAAyBA,EAA7B,EAAiC;AAE7B,aAAK6G,SAAL,CAAe1Q,MAAf,CAAsBG,CAAtB,EAAyB,CAAzB;AAEA,YAAI6S,GAAG,GAAG,KAAKtC,SAAL,CAAehR,MAAzB;;AACA,YAAIsT,GAAJ,EAAS;AACL,eAAKrC,QAAL,GAAgB,KAAKD,SAAL,CAAesC,GAAG,GAAG,CAArB,CAAhB;AACA,eAAKvC,OAAL,CAAahH,IAAb,CAAkB,UAAlB,EAA8B,KAAKkH,QAAL,CAAc9G,EAA5C;AACH,SAHD,MAGO;AACH,eAAK8G,QAAL,GAAgB,KAAhB;AACA,eAAKF,OAAL,CAAa/G,UAAb,CAAwB,UAAxB;AACH;;AACD;AACH;AACJ;AACJ,GA5Mc;AA6MfuJ,cAAY,EAAE,sBAAUpJ,EAAV,EAAc;AACxB,SAAK,IAAI1J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKuQ,SAAL,CAAehR,MAAnC,EAA2CS,CAAC,EAA5C,EAAgD;AAC5C,UAAI,KAAKuQ,SAAL,CAAevQ,CAAf,EAAkB0J,EAAlB,KAAyBA,EAA7B,EAAiC;AAC7B,eAAO,KAAK6G,SAAL,CAAevQ,CAAf,CAAP;AACH;AACJ;AACJ,GAnNc;AAoNf+R,eAAa,EAAE,uBAAUxH,OAAV,EAAmB9G,KAAnB,EAA0BkO,OAA1B,EAAmC;AAC9C,QAAIW,KAAK,GAAG,KAAKhC,OAAL,CAAa5C,IAAb,CAAkB,mBAAlB,EAAuCxD,IAAvC,CAA4C,EAA5C,CAAZ;;AACA,QAAIzG,KAAJ,EAAW;AACP6O,WAAK,CAAChB,MAAN,CAAa,mCAAmC7N,KAAnC,GAA2C,OAAxD;AACH;;AACD6O,SAAK,CAAChB,MAAN,CAAaxS,CAAC,CAAC,yCAAD,CAAD,CAA6CoL,IAA7C,CAAkDK,OAAlD,CAAb;;AACA,QAAIoH,OAAJ,EAAa;AACT,UAAIoB,QAAQ,GAAGjU,CAAC,CAAC,yCAAD,CAAhB;;AACA,cAAQ6S,OAAR;AACI,aAAK,OAAL;AACIoB,kBAAQ,CAACzB,MAAT,CAAgB,KAAK0B,aAAL,CAAmBC,WAAW,CAAC3I,QAAZ,CAAqB4I,UAAxC,EAAoD,KAApD,CAAhB;AACAH,kBAAQ,CAACzB,MAAT,CAAgB,KAAK0B,aAAL,CAAmBC,WAAW,CAAC3I,QAAZ,CAAqB6I,SAAxC,EAAmD,IAAnD,CAAhB;AACA;;AACJ,aAAK,UAAL;AACIJ,kBAAQ,CAACzB,MAAT,CAAgB,KAAK0B,aAAL,CAAmBC,WAAW,CAAC3I,QAAZ,CAAqB4B,SAAxC,EAAmD,IAAnD,CAAhB;AACA6G,kBAAQ,CAACzB,MAAT,CAAgB,KAAK0B,aAAL,CAAmBC,WAAW,CAAC3I,QAAZ,CAAqB8B,aAAxC,EAAuD,QAAvD,CAAhB;AACA;;AACJ;AACI2G,kBAAQ,CAACzB,MAAT,CAAgB,KAAK0B,aAAL,CAAmBC,WAAW,CAAC3I,QAAZ,CAAqB4B,SAAxC,EAAmD,IAAnD,CAAhB;AAVR;;AAYAoG,WAAK,CAAChB,MAAN,CAAayB,QAAb;AACH;AACJ,GA1Oc;AA2OfC,eAAa,EAAE,uBAAUvP,KAAV,EAAiByB,IAAjB,EAAuB;AAClC,QAAIkO,OAAO,GAAGtU,CAAC,CAAC,+EAA+EoG,IAA/E,GAAsF,IAAtF,GAA6FzB,KAA7F,GAAqG,WAAtG,CAAf;AAAA,QACItE,QAAQ,GAAG,QAAQ+F,IAAI,CAACmO,MAAL,CAAY,CAAZ,EAAe,CAAf,EAAkBC,WAAlB,KAAkCpO,IAAI,CAACmO,MAAL,CAAY,CAAZ,CAA1C,CADf;AAEAD,WAAO,CAACzO,IAAR,CAAa,UAAb,EAAyBxF,QAAzB,EAAmCoS,KAAnC,CAAyC,YAAY;AACjD,UAAIf,QAAQ,GAAG1R,CAAC,CAAC,IAAD,CAAD,CAAQ6F,IAAR,CAAa,UAAb,CAAf;AAAA,UACIxF,QAAQ,GAAGqR,QAAQ,CAACxB,MAAT,CAAgBlQ,CAAC,CAAC,IAAD,CAAD,CAAQ6F,IAAR,CAAa,UAAb,CAAhB,CADf;;AAEA,UAAI7F,CAAC,CAACoG,IAAF,CAAO/F,QAAP,MAAqB,UAAzB,EAAqC;AACjC,YAAIA,QAAQ,CAACc,KAAT,CAAeE,EAAE,CAACgN,UAAlB,EAA8B,CAACqD,QAAD,CAA9B,MAA8C,KAAlD,EAAyD,CACrD;AACH,SAFD,MAEO;AACHrQ,YAAE,CAACgN,UAAH,CAAcjJ,IAAd,CAAmB,IAAnB,EAAyBsM,QAAzB;AACH;AACJ,OAND,MAMO;AACHrQ,UAAE,CAACgN,UAAH,CAAcjJ,IAAd,CAAmB,IAAnB,EAAyBsM,QAAzB;AACH;AACJ,KAZD,EAYG7L,IAZH,CAYQ,UAZR,EAYoB,KAAK6L,QAZzB;AAaA,WAAO4C,OAAP;AACH;AA5Pc,CAAnB;AA+PejG,yEAAf,E;;;;;;;;;;;AChQA;;AAAC,CAAC,UAAUrO,CAAV,EAAa;AACX,WAASsO,QAAT,CAAkBvJ,EAAlB,EAAsB+F,OAAtB,EAA+B;AAC3B,QAAI7F,GAAG,GAAGjF,CAAC,CAAC+E,EAAD,CAAX;AAAA,QACI0P,KAAK,GAAGxP,GAAG,CAACuF,IAAJ,CAAS,SAAT,KAAuBnJ,EAAE,CAACuH,QAAH,EADnC;AAGAkC,WAAO,GAAG9K,CAAC,CAACuB,MAAF,CAAS;AACfnB,WAAK,EAAE,OADQ;AAEfsU,eAAS,EAAE,IAFI;AAGfC,YAAM,EAAE,IAHO;AAIfC,mBAAa,EAAE,IAJA;AAKfC,iBAAW,EAAE,IALE;AAMfC,cAAQ,EAAE;AANK,KAAT,EAOPhK,OAPO,EAOE7F,GAAG,CAACY,IAAJ,EAPF,CAAV;AASAZ,OAAG,CAACuF,IAAJ,CAAS,SAAT,EAAoBiK,KAApB;AAEA,QAAI9E,OAAO,GAAG1K,GAAG,CAACuF,IAAJ,CAAS,kBAAT,KAAgCvF,GAAG,CAACmG,IAAJ,EAA9C;AAAA,QACI2J,IAAI,GAAG/U,CAAC,CAAC,2CAA2C2P,OAA3C,GAAqD,QAAtD,CADZ;AAAA,QAEI0B,CAAC,GAAG,IAFR;AAAA,QAGIuD,aAAa,GAAG,CAHpB;AAAA,QAIII,OAAO,GAAG,KAJd;AAAA,QAKIH,WAAW,GAAG/J,OAAO,CAAC+J,WAAR,KAAwB,IAAxB,GAA+B5P,GAAG,CAACyN,UAAJ,KAAmB,CAAlD,GAAsD,CALxE;AAAA,QAMIgB,QAAQ,GAAG1T,CAAC,CAAC,QAAQyU,KAAT,CANhB;;AAQA,QAAIf,QAAQ,CAACjT,MAAT,KAAoB,CAAxB,EAA2B;AACvBT,OAAC,CAACkH,QAAQ,CAACkF,IAAV,CAAD,CAAiBoG,MAAjB,CAAwBxS,CAAC,CAAC,SAAD,CAAD,CAAawK,IAAb,CAAkB,IAAlB,EAAwB,OAAOiK,KAA/B,EAAsCrJ,IAAtC,CAA2CuE,OAA3C,EAAoD/J,GAApD,CAAwD,SAAxD,EAAmE,MAAnE,CAAxB;AACH;;AAED+J,WAAO,GAAG+D,QAAQ,CAACtI,IAAT,EAAV;AAEA2J,QAAI,CAACtP,QAAL,CAAcqF,OAAO,CAACgK,QAAtB;AAEA7P,OAAG,CAACY,IAAJ,CAAS,aAAT,EAAwB8J,OAAxB;;AACA,QAAI1K,GAAG,CAACuF,IAAJ,CAAS,kBAAT,CAAJ,EAAkC;AAC9B;AACAwK,aAAO,GAAG,IAAV;AACH;;AAEDJ,iBAAa,GAAG9J,OAAO,CAAC8J,aAAxB;;AAEA,QAAI9J,OAAO,CAAC4J,SAAR,KAAsB,KAA1B,EAAiC;AAC7BK,UAAI,CAACvC,MAAL,CAAY,uBAAZ;AACAuC,UAAI,CAAC5U,EAAL,CAAQ,OAAR,EAAiB,QAAjB,EAA2B,YAAY;AACnC8U,aAAK;AACR,OAFD;AAGH;;AAED,aAASzH,IAAT,GAAgB;AACZ,UAAI6D,CAAJ,EAAO;AACHlD,oBAAY,CAACkD,CAAD,CAAZ;AACA;AACH;;AAED,UAAIvG,OAAO,CAAC6J,MAAZ,EAAoB;AAChB3U,SAAC,CAAC,kBAAD,CAAD,CAAsBkV,GAAtB,CAA0BjQ,GAA1B,EAA+B5D,EAA/B,CAAkC,UAAlC,EAA8C,OAA9C;AACH;;AAED0T,UAAI,CAAC9K,QAAL,CAAc/C,QAAQ,CAACkF,IAAvB;AACA,UAAI+I,GAAG,GAAGlQ,GAAG,CAAC0C,MAAJ,EAAV;AAEAoN,UAAI,CAACnP,GAAL,CAAS;AACLoC,WAAG,EAAEmN,GAAG,CAACnN,GAAJ,GAAU+M,IAAI,CAACpC,WAAL,EAAV,GAA+B,CAD/B;AAEL3C,YAAI,EAAEmF,GAAG,CAACnF,IAAJ,GAAW+E,IAAI,CAACrC,UAAL,KAAoB,CAA/B,GAAmCmC;AAFpC,OAAT;AAIH;;AAED,aAASzP,IAAT,GAAgB;AACZiM,OAAC,IAAIlD,YAAY,CAACkD,CAAD,CAAjB;AACAA,OAAC,GAAGjH,UAAU,CAAC,YAAY;AACvB2K,YAAI,CAACK,MAAL;AACA/D,SAAC,GAAG,IAAJ;AACH,OAHa,EAGXuD,aAHW,CAAd;AAIH;;AAED,aAASK,KAAT,GAAiB;AACbL,mBAAa,GAAG,CAAhB;AACAxP,UAAI;AACJwP,mBAAa,GAAG9J,OAAO,CAAC8J,aAAxB;AACH;;AAED,aAASS,IAAT,GAAgB;AACZ7H,UAAI;AACP;;AAED,QAAI,CAACwH,OAAL,EAAc;AACV/P,SAAG,CAACmG,IAAJ,CAAS,EAAT;AACH;;AAED,QAAIN,OAAO,CAAC1K,KAAR,KAAkB,OAAtB,EAA+B;AAC3B6E,SAAG,CAAC9E,EAAJ,CAAO,OAAP,EAAgB,UAAUmG,CAAV,EAAa;AACzBA,SAAC,CAACgP,eAAF;AACA9H,YAAI;AACP,OAHD;AAIH;;AAEDxN,KAAC,CAACkH,QAAD,CAAD,CAAY/G,EAAZ,CAAe,iCAAf,EAAkD,YAAY;AAC1D8U,WAAK;AACR,KAFD;AAGAhQ,OAAG,CAAC4K,KAAJ,CACI,UAAUvJ,CAAV,EAAa;AACTA,OAAC,CAACgP,eAAF;;AACA,UAAIxK,OAAO,CAAC1K,KAAR,KAAkB,OAAtB,EAA+B;AAC3BoN,YAAI;AACP;AACJ,KANL,EAOI,UAAUlH,CAAV,EAAa;AACTA,OAAC,CAACgP,eAAF;;AACA,UAAIxK,OAAO,CAAC4J,SAAZ,EAAuB;AACnBtP,YAAI;AACP;AACJ,KAZL,EAaEK,QAbF,CAaW,OAbX;AAcA,WAAO;AACHwP,WAAK,EAAEA,KADJ;AAEHI,UAAI,EAAEA;AAFH,KAAP;AAIH;;AAEDrV,GAAC,CAAC0B,EAAF,CAAKL,EAAL,CAAQ,UAAR,EAAoB,UAAUyJ,OAAV,EAAmB;AACnC,WAAO9K,CAAC,CAACsK,IAAF,CAAO,IAAP,EAAa,YAAY;AAC5B,UAAIyK,IAAI,GAAG/U,CAAC,CAAC,IAAD,CAAD,CAAQ6F,IAAR,CAAa,WAAb,CAAX;;AAEA,UAAI,CAACkP,IAAL,EAAW;AACPA,YAAI,GAAG,IAAIzG,QAAJ,CAAa,IAAb,EAAmBxD,OAAnB,CAAP;AACA9K,SAAC,CAAC,IAAD,CAAD,CAAQ6F,IAAR,CAAa,WAAb,EAA0BkP,IAA1B;AACH;;AAED,UAAI/U,CAAC,CAACoG,IAAF,CAAO0E,OAAP,MAAoB,QAAxB,EAAkC;AAC9BiK,YAAI,CAACjK,OAAD,CAAJ,IAAiBiK,IAAI,CAACjK,OAAD,CAAJ,CAAc3J,KAAd,CAAoB4T,IAApB,CAAjB;AACH;AACJ,KAXM,CAAP;AAYH,GAbD;AAcH,CApIA,EAqIA7U,MArIA,E","file":"./assets/js/utils.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"../../../Clouds/Thimpress/Plugins/github.com/learnpress/assets/src/js/utils/index.js\");\n","/**\n * Manage event callbacks.\n * Allow add/remove a callback function into custom event of an object.\n *\n * @constructor\n */\nconst Event_Callback = function Event_Callback(self) {\n var callbacks = {};\n var $ = window.jQuery;\n\n this.on = function (event, callback) {\n var namespaces = event.split('.'),\n namespace = '';\n\n if (namespaces.length > 1) {\n event = namespaces[0];\n namespace = namespaces[1];\n }\n\n if (!callbacks[event]) {\n callbacks[event] = [[], {}];\n }\n\n if (namespace) {\n if (!callbacks[event][1][namespace]) {\n callbacks[event][1][namespace] = [];\n }\n callbacks[event][1][namespace].push(callback);\n } else {\n callbacks[event][0].push(callback);\n }\n\n return self;\n };\n\n this.off = function (event, callback) {\n var namespaces = event.split('.'),\n namespace = '';\n\n if (namespaces.length > 1) {\n event = namespaces[0];\n namespace = namespaces[1];\n }\n\n if (!callbacks[event]) {\n return self;\n }\n var at = -1;\n if (!namespace) {\n if ($.isFunction(callback)) {\n at = callbacks[event][0].indexOf(callback);\n if (at < 0) {\n return self;\n }\n callbacks[event][0].splice(at, 1);\n } else {\n callbacks[event][0] = [];\n }\n } else {\n if (!callbacks[event][1][namespace]) {\n return self;\n }\n\n if ($.isFunction(callback)) {\n at = callbacks[event][1][namespace].indexOf(callback);\n if (at < 0) {\n return self;\n }\n callbacks[event][1][namespace].splice(at, 1);\n } else {\n callbacks[event][1][namespace] = [];\n }\n }\n\n return self;\n };\n\n this.callEvent = function (event, callbackArgs) {\n if (!callbacks[event]) {\n return;\n }\n\n if (callbacks[event][0]) {\n for (var i = 0; i < callbacks[event][0].length; i++) {\n $.isFunction(callbacks[event][0][i]) && callbacks[event][i][0].apply(self, callbackArgs);\n }\n }\n\n if (callbacks[event][1]) {\n for (var i in callbacks[event][1]) {\n for (var j = 0; j < callbacks[event][1][i].length; j++) {\n $.isFunction(callbacks[event][1][i][j]) && callbacks[event][1][i][j].apply(self, callbackArgs);\n }\n }\n }\n }\n};\n\nexport default Event_Callback;","export default function () {\n window.LP = window.LP || {};\n\n if (typeof arguments[0]==='string') {\n LP[arguments[0]] = LP[arguments[0]] || {};\n LP[arguments[0]] = jQuery.extend(LP[arguments[0]], arguments[1]);\n } else {\n LP = jQuery.extend(LP, arguments[0]);\n }\n}","/**\n * Auto prepend `LP` prefix for jQuery fn plugin name.\n *\n * Create : $.fn.LP( 'PLUGIN_NAME', func) <=> $.fn.LP_PLUGIN_NAME\n * Usage: $(selector).LP('PLUGIN_NAME') <=> $(selector).LP_PLUGIN_NAME()\n *\n * @version 3.2.6\n */\n\nconst $ = window.jQuery;\nvar exp;\n\n(function () {\n\n if ($ === undefined) {\n return;\n }\n\n $.fn.LP = exp = function (widget, fn) {\n if ($.isFunction(fn)) {\n $.fn['LP_' + widget] = fn;\n } else if (widget) {\n var args = [];\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n }\n\n return $.isFunction($(this)['LP_' + widget]) ? $(this)['LP_' + widget].apply(this, args) : this;\n }\n return this\n };\n})();\n\nexport default exp;","const Hook = {\n hooks: {action: {}, filter: {}},\n addAction: function (action, callable, priority, tag) {\n this.addHook('action', action, callable, priority, tag);\n return this;\n },\n addFilter: function (action, callable, priority, tag) {\n this.addHook('filter', action, callable, priority, tag);\n return this;\n },\n doAction: function (action) {\n this.doHook('action', action, arguments);\n return this;\n },\n applyFilters: function (action) {\n return this.doHook('filter', action, arguments);\n },\n removeAction: function (action, tag) {\n this.removeHook('action', action, tag);\n return this;\n },\n removeFilter: function (action, priority, tag) {\n this.removeHook('filter', action, priority, tag);\n return this;\n },\n addHook: function (hookType, action, callable, priority, tag) {\n if (undefined === this.hooks[hookType][action]) {\n this.hooks[hookType][action] = [];\n }\n var hooks = this.hooks[hookType][action];\n if (undefined === tag) {\n tag = action + '_' + hooks.length;\n }\n this.hooks[hookType][action].push({tag: tag, callable: callable, priority: priority});\n return this;\n },\n doHook: function (hookType, action, args) {\n\n // splice args from object into array and remove first index which is the hook name\n args = Array.prototype.slice.call(args, 1);\n\n if (undefined !== this.hooks[hookType][action]) {\n var hooks = this.hooks[hookType][action], hook;\n //sort by priority\n hooks.sort(function (a, b) {\n return a[\"priority\"] - b[\"priority\"];\n });\n for (var i = 0; i < hooks.length; i++) {\n hook = hooks[i].callable;\n if (typeof hook !== 'function')\n hook = window[hook];\n if ('action' === hookType) {\n hook.apply(null, args);\n } else {\n args[0] = hook.apply(null, args);\n }\n }\n }\n if ('filter' === hookType) {\n return args[0];\n }\n return this;\n },\n removeHook: function (hookType, action, priority, tag) {\n if (undefined !== this.hooks[hookType][action]) {\n var hooks = this.hooks[hookType][action];\n for (var i = hooks.length - 1; i >= 0; i--) {\n if ((undefined === tag || tag === hooks[i].tag) && (undefined === priority || priority === hooks[i].priority)) {\n hooks.splice(i, 1);\n }\n }\n }\n return this;\n }\n};\n\nexport default Hook;","/**\n * Utility functions may use for both admin and frontend.\n *\n * @version 3.2.6\n */\n\nimport extend from './extend';\nimport fn from './fn';\nimport QuickTip from './quick-tip';\nimport MessageBox from './message-box';\nimport Event_Callback from './event-callback';\nimport Hook from './hook';\n\nimport * as jplugins from './jquery.plugins';\n\nconst $ = jQuery;\n\nString.prototype.getQueryVar = function (name) {\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\n results = regex.exec(this);\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n};\n\nString.prototype.addQueryVar = function (name, value) {\n var url = this,\n m = url.split('#');\n url = m[0];\n if (name.match(/\\[/)) {\n url += url.match(/\\?/) ? '&' : '?';\n url += name + '=' + value;\n } else {\n if ((url.indexOf('&' + name + '=') != -1) || (url.indexOf('?' + name + '=') != -1)) {\n url = url.replace(new RegExp(name + \"=([^&#]*)\", 'g'), name + '=' + value);\n } else {\n url += url.match(/\\?/) ? '&' : '?';\n url += name + '=' + value;\n }\n }\n return url + (m[1] ? '#' + m[1] : '');\n};\n\nString.prototype.removeQueryVar = function (name) {\n var url = this;\n var m = url.split('#');\n url = m[0];\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n var regex = new RegExp(\"[\\\\?&]\" + name + \"([\\[][^=]*)?=([^&#]*)\", 'g');\n url = url.replace(regex, '');\n return url + (m[1] ? '#' + m[1] : '');\n};\n\nif ($.isEmptyObject(\"\") == false) {\n $.isEmptyObject = function (a) {\n var prop;\n for (prop in a) {\n if (a.hasOwnProperty(prop)) {\n return false;\n }\n }\n return true;\n };\n}\n\nconst _default = {\n Hook: Hook,\n setUrl: function (url, ember, title) {\n if (url) {\n history.pushState({}, title, url);\n LP.Hook.doAction('learn_press_set_location_url', url);\n }\n },\n toggleGroupSection: function (el, target) {\n var $el = $(el),\n isHide = $el.hasClass('hide-if-js');\n if (isHide) {\n $el.hide().removeClass('hide-if-js');\n }\n $el.removeClass('hide-if-js').slideToggle(function () {\n var $this = $(this);\n if ($this.is(':visible')) {\n $(target).addClass('toggle-on').removeClass('toggle-off');\n } else {\n $(target).addClass('toggle-off').removeClass('toggle-on');\n }\n });\n },\n overflow: function (el, v) {\n var $el = $(el),\n overflow = $el.css('overflow');\n if (v) {\n $el.css('overflow', v).data('overflow', overflow);\n } else {\n $el.css('overflow', $el.data('overflow'));\n }\n },\n getUrl: function () {\n return window.location.href;\n },\n addQueryVar: function (name, value, url) {\n return (url === undefined ? window.location.href : url).addQueryVar(name, value);\n },\n removeQueryVar: function (name, url) {\n return (url === undefined ? window.location.href : url).removeQueryVar(name);\n },\n reload: function (url) {\n if (!url) {\n url = window.location.href;\n }\n window.location.href = url;\n },\n\n parseResponse: function (response, type) {\n var m = response.match(/<-- LP_AJAX_START -->(.*)<-- LP_AJAX_END -->/);\n if (m) {\n response = m[1];\n }\n return (type || \"json\") === \"json\" ? this.parseJSON(response) : response;\n },\n parseJSON: function (data) {\n var m = (data + '').match(/<-- LP_AJAX_START -->(.*)<-- LP_AJAX_END -->/);\n try {\n if (m) {\n data = $.parseJSON(m[1]);\n } else {\n data = $.parseJSON(data);\n }\n } catch (e) {\n data = {};\n }\n return data;\n },\n ajax: function (args) {\n var type = args.type || 'post',\n dataType = args.dataType || 'json',\n data = args.action ? $.extend(args.data, {'lp-ajax': args.action}) : args.data,\n beforeSend = args.beforeSend || function () {\n },\n url = args.url || window.location.href;\n// console.debug( beforeSend );\n $.ajax({\n data: data,\n url: url,\n type: type,\n dataType: 'html',\n beforeSend: beforeSend.apply(null, args),\n success: function (raw) {\n var response = LP.parseResponse(raw, dataType);\n $.isFunction(args.success) && args.success(response, raw);\n },\n error: function () {\n $.isFunction(args.error) && args.error.apply(null, LP.funcArgs2Array());\n }\n });\n },\n doAjax: function (args) {\n var type = args.type || 'post',\n dataType = args.dataType || 'json',\n action = ((args.prefix === undefined) || 'learnpress_') + args.action,\n data = args.action ? $.extend(args.data, {action: action}) : args.data;\n\n $.ajax({\n data: data,\n url: (args.url || window.location.href),\n type: type,\n dataType: 'html',\n success: function (raw) {\n var response = LP.parseResponse(raw, dataType);\n $.isFunction(args.success) && args.success(response, raw);\n },\n error: function () {\n $.isFunction(args.error) && args.error.apply(null, LP.funcArgs2Array());\n }\n });\n },\n\n funcArgs2Array: function (args) {\n var arr = [];\n for (var i = 0; i < args.length; i++) {\n arr.push(args[i]);\n }\n return arr;\n },\n addFilter: function (action, callback) {\n var $doc = $(document),\n event = 'LP.' + action;\n $doc.on(event, callback);\n LP.log($doc.data('events'));\n return this;\n },\n applyFilters: function () {\n var $doc = $(document),\n action = arguments[0],\n args = this.funcArgs2Array(arguments);\n if ($doc.hasEvent(action)) {\n args[0] = 'LP.' + action;\n return $doc.triggerHandler.apply($doc, args);\n }\n return args[1];\n },\n addAction: function (action, callback) {\n return this.addFilter(action, callback);\n },\n doAction: function () {\n var $doc = $(document),\n action = arguments[0],\n args = this.funcArgs2Array(arguments);\n if ($doc.hasEvent(action)) {\n args[0] = 'LP.' + action;\n $doc.trigger.apply($doc, args);\n }\n },\n toElement: function (element, args) {\n if ($(element).length === 0) {\n return;\n }\n args = $.extend({\n delay: 300,\n duration: 'slow',\n offset: 50,\n container: null,\n callback: null,\n invisible: false\n }, args || {});\n var $container = $(args.container),\n rootTop = 0;\n if ($container.length === 0) {\n $container = $('body, html');\n }\n rootTop = $container.offset().top;\n var to = ($(element).offset().top + $container.scrollTop()) - rootTop - args.offset;\n\n function isElementInView(element, fullyInView) {\n var pageTop = $container.scrollTop();\n var pageBottom = pageTop + $container.height();\n var elementTop = $(element).offset().top - $container.offset().top;\n var elementBottom = elementTop + $(element).height();\n\n if (fullyInView === true) {\n return ((pageTop < elementTop) && (pageBottom > elementBottom));\n } else {\n return ((elementTop <= pageBottom) && (elementBottom >= pageTop));\n }\n }\n\n if (args.invisible && isElementInView(element, true)) {\n return;\n }\n $container.fadeIn(10)\n .delay(args.delay)\n .animate({\n scrollTop: to\n }, args.duration, args.callback);\n },\n uniqueId: function (prefix, more_entropy) {\n if (typeof prefix === 'undefined') {\n prefix = '';\n }\n\n var retId;\n var formatSeed = function (seed, reqWidth) {\n seed = parseInt(seed, 10)\n .toString(16); // to hex str\n if (reqWidth < seed.length) { // so long we split\n return seed.slice(seed.length - reqWidth);\n }\n if (reqWidth > seed.length) { // so short we pad\n return new Array(1 + (reqWidth - seed.length))\n .join('0') + seed;\n }\n return seed;\n };\n\n // BEGIN REDUNDANT\n if (!this.php_js) {\n this.php_js = {};\n }\n // END REDUNDANT\n if (!this.php_js.uniqidSeed) { // init seed with big random int\n this.php_js.uniqidSeed = Math.floor(Math.random() * 0x75bcd15);\n }\n this.php_js.uniqidSeed++;\n\n retId = prefix; // start with prefix, add current milliseconds hex string\n retId += formatSeed(parseInt(new Date()\n .getTime() / 1000, 10), 8);\n retId += formatSeed(this.php_js.uniqidSeed, 5); // add seed hex string\n if (more_entropy) {\n // for more entropy we add a float lower to 10\n retId += (Math.random() * 10)\n .toFixed(8)\n .toString();\n }\n\n return retId;\n },\n log: function () {\n //if (typeof LEARN_PRESS_DEBUG != 'undefined' && LEARN_PRESS_DEBUG && console) {\n for (var i = 0, n = arguments.length; i < n; i++) {\n console.log(arguments[i]);\n }\n //}\n },\n blockContent: function () {\n if ($('#learn-press-block-content').length === 0) {\n $(LP.template('learn-press-template-block-content', {})).appendTo($('body'));\n }\n LP.hideMainScrollbar().addClass('block-content');\n $(document).trigger('learn_press_block_content');\n },\n unblockContent: function () {\n setTimeout(function () {\n LP.showMainScrollbar().removeClass('block-content');\n $(document).trigger('learn_press_unblock_content');\n }, 350);\n },\n hideMainScrollbar: function (el) {\n if (!el) {\n el = 'html, body';\n }\n var $el = $(el);\n $el.each(function () {\n var $root = $(this),\n overflow = $root.css('overflow');\n $root.css('overflow', 'hidden').attr('overflow', overflow);\n });\n return $el;\n },\n showMainScrollbar: function (el) {\n if (!el) {\n el = 'html, body';\n }\n var $el = $(el);\n $el.each(function () {\n var $root = $(this),\n overflow = $root.attr('overflow');\n $root.css('overflow', overflow).removeAttr('overflow');\n });\n return $el;\n },\n template: typeof _ !== 'undefined' ? _.memoize(function (id, data) {\n var compiled,\n options = {\n evaluate: /<#([\\s\\S]+?)#>/g,\n interpolate: /\\{\\{\\{([\\s\\S]+?)\\}\\}\\}/g,\n escape: /\\{\\{([^\\}]+?)\\}\\}(?!\\})/g,\n variable: 'data'\n };\n\n var tmpl = function (data) {\n compiled = compiled || _.template($('#' + id).html(), null, options);\n return compiled(data);\n };\n return data ? tmpl(data) : tmpl;\n }, function (a, b) {\n return a + '-' + JSON.stringify(b);\n }) : function () {\n return '';\n },\n alert: function (localize, callback) {\n var title = '',\n message = '';\n if (typeof localize === 'string') {\n message = localize;\n } else {\n if (typeof localize['title'] !== 'undefined') {\n title = localize['title'];\n }\n if (typeof localize['message'] !== 'undefined') {\n message = localize['message'];\n }\n }\n $.alerts.alert(message, title, function (e) {\n LP._on_alert_hide();\n callback && callback(e);\n });\n this._on_alert_show();\n },\n confirm: function (localize, callback) {\n var title = '',\n message = '';\n\n if (typeof localize === 'string') {\n message = localize;\n } else {\n if (typeof localize['title'] !== 'undefined') {\n title = localize['title'];\n }\n if (typeof localize['message'] !== 'undefined') {\n message = localize['message'];\n }\n }\n $.alerts.confirm(message, title, function (e) {\n LP._on_alert_hide();\n callback && callback(e);\n });\n this._on_alert_show();\n\n },\n _on_alert_show: function () {\n var $container = $('#popup_container'),\n $placeholder = $('<span id=\"popup_container_placeholder\" />').insertAfter($container).data('xxx', $container);\n $container.stop().css('top', '-=50').css('opacity', '0').animate({\n top: '+=50',\n opacity: 1\n }, 250);\n },\n _on_alert_hide: function () {\n var $holder = $(\"#popup_container_placeholder\"),\n $container = $holder.data('xxx');\n if ($container) {\n $container.replaceWith($holder);\n }\n $container.appendTo($(document.body))\n $container.stop().animate({\n top: '+=50',\n opacity: 0\n }, 250, function () {\n $(this).remove();\n });\n },\n sendMessage: function (data, object, targetOrigin, transfer) {\n if ($.isPlainObject(data)) {\n data = JSON.stringify(data);\n }\n object = object || window;\n targetOrigin = targetOrigin || '*';\n object.postMessage(data, targetOrigin, transfer);\n },\n receiveMessage: function (event, b) {\n var target = event.origin || event.originalEvent.origin,\n data = event.data || event.originalEvent.data || '';\n if (typeof data === 'string' || data instanceof String) {\n if (data.indexOf('{') === 0) {\n data = LP.parseJSON(data);\n }\n }\n LP.Hook.doAction('learn_press_receive_message', data, target);\n }\n}\n\n$(document).ready(function () {\n if (typeof $.alerts !== 'undefined') {\n $.alerts.overlayColor = '#000';\n $.alerts.overlayOpacity = 0.5;\n $.alerts.okButton = lpGlobalSettings.localize.button_ok;\n $.alerts.cancelButton = lpGlobalSettings.localize.button_cancel;\n }\n\n $('.learn-press-message.fixed').each(function () {\n var $el = $(this),\n options = $el.data();\n (function ($el, options) {\n if (options.delayIn) {\n setTimeout(function () {\n $el.show().hide().fadeIn();\n }, options.delayIn);\n }\n if (options.delayOut) {\n setTimeout(function () {\n $el.fadeOut();\n }, options.delayOut + (options.delayIn || 0));\n }\n })($el, options);\n\n });\n\n $('body')\n .on('click', '.learn-press-nav-tabs li a', function (e) {\n e.preventDefault();\n var $tab = $(this), url = '';\n $tab.closest('li').addClass('active').siblings().removeClass('active');\n $($tab.attr('data-tab')).addClass('active').siblings().removeClass('active');\n $(document).trigger('learn-press/nav-tabs/clicked', $tab);\n });\n\n setTimeout(function () {\n $('.learn-press-nav-tabs li.active:not(.default) a').trigger('click');\n }, 300);\n\n $('body.course-item-popup').parent().css('overflow', 'hidden');\n\n (function () {\n var timer = null,\n callback = function () {\n $('.auto-check-lines').checkLines(function (r) {\n if (r > 1) {\n $(this).removeClass('single-lines');\n } else {\n $(this).addClass('single-lines');\n }\n $(this).attr('rows', r);\n });\n };\n $(window).on('resize.check-lines', function () {\n if (timer) {\n timer && clearTimeout(timer);\n timer = setTimeout(callback, 300);\n } else {\n callback();\n }\n });\n })();\n\n $('.learn-press-tooltip, .lp-passing-conditional').LP_Tooltip({offset: [24, 24]});\n\n $('.learn-press-icon').LP_Tooltip({offset: [30, 30]});\n\n $('.learn-press-message[data-autoclose]').each(function () {\n var $el = $(this), delay = parseInt($el.data('autoclose'));\n if (delay) {\n setTimeout(function ($el) {\n $el.fadeOut();\n }, delay, $el);\n }\n });\n\n $(document).on('click', function () {\n $(document).trigger('learn-press/close-all-quick-tip')\n })\n});\n\nextend({\n Event_Callback,\n MessageBox,\n ..._default\n});\n\nexport default {\n fn,\n QuickTip\n}","const $ = window.jQuery;\n\nconst serializeJSON = function serializeJSON(path) {\n var isInput = $(this).is('input') || $(this).is('select') || $(this).is('textarea');\n var unIndexed = isInput ? $(this).serializeArray() : $(this).find('input, select, textarea').serializeArray(),\n indexed = {},\n validate = /(\\[([a-zA-Z0-9_-]+)?\\]?)/g,\n arrayKeys = {},\n end = false;\n $.each(unIndexed, function () {\n var that = this,\n match = this.name.match(/^([0-9a-zA-Z_-]+)/);\n if (!match) {\n return;\n }\n var keys = this.name.match(validate),\n objPath = \"indexed['\" + match[0] + \"']\";\n\n if (keys) {\n if (typeof indexed[match[0]] != 'object') {\n indexed[match[0]] = {};\n }\n\n $.each(keys, function (i, prop) {\n prop = prop.replace(/\\]|\\[/g, '');\n var rawPath = objPath.replace(/'|\\[|\\]/g, ''),\n objExp = '',\n preObjPath = objPath;\n\n if (prop == '') {\n if (arrayKeys[rawPath] == undefined) {\n arrayKeys[rawPath] = 0;\n } else {\n arrayKeys[rawPath]++;\n }\n objPath += \"['\" + arrayKeys[rawPath] + \"']\";\n } else {\n if (!isNaN(prop)) {\n arrayKeys[rawPath] = prop;\n }\n objPath += \"['\" + prop + \"']\";\n }\n try {\n if (i == keys.length - 1) {\n objExp = objPath + \"=that.value;\";\n end = true;\n } else {\n objExp = objPath + \"={}\";\n end = false;\n }\n\n var evalString = \"\" +\n \"if( typeof \" + objPath + \" == 'undefined'){\" + objExp + \";\" +\n \"}else{\" +\n \"if(end){\" +\n \"if(typeof \" + preObjPath + \"!='object'){\" + preObjPath + \"={};}\" +\n objExp +\n \"}\" +\n \"}\";\n eval(evalString);\n } catch (e) {\n console.log('Error:' + e + \"\\n\" + objExp);\n }\n })\n } else {\n indexed[match[0]] = this.value;\n }\n });\n if (path) {\n path = \"['\" + path.replace('.', \"']['\") + \"']\";\n var c = 'try{indexed = indexed' + path + '}catch(ex){console.log(c, ex);}';\n eval(c);\n }\n return indexed;\n};\n\nconst LP_Tooltip = function LP_Tooltip(options) {\n options = $.extend({}, {\n offset: [0, 0]\n }, options || {});\n return $.each(this, function () {\n var $el = $(this),\n content = $el.data('content');\n if (!content || ($el.data('LP_Tooltip') !== undefined)) {\n return;\n }\n\n var $tooltip = null;\n $el.hover(function (e) {\n $tooltip = $('<div class=\"learn-press-tooltip-bubble\"/>').html(content).appendTo($('body')).hide();\n var position = $el.offset();\n if ($.isArray(options.offset)) {\n var top = options.offset[1],\n left = options.offset[0];\n if ($.isNumeric(left)) {\n position.left += left;\n } else {\n\n }\n if ($.isNumeric(top)) {\n position.top += top;\n } else {\n\n }\n }\n $tooltip.css({\n top: position.top,\n left: position.left\n });\n $tooltip.fadeIn();\n }, function () {\n $tooltip && $tooltip.remove();\n });\n $el.data('tooltip', true);\n });\n};\n\nconst hasEvent = function hasEvent(name) {\n var events = $(this).data('events');\n if (typeof events.LP == 'undefined') {\n return false;\n }\n for (i = 0; i < events.LP.length; i++) {\n if (events.LP[i].namespace == name) {\n return true;\n }\n }\n return false;\n};\n\nconst dataToJSON = function dataToJSON() {\n var json = {};\n $.each(this[0].attributes, function () {\n var m = this.name.match(/^data-(.*)/);\n if (m) {\n json[m[1]] = this.value;\n }\n });\n return json;\n};\n\nconst rows = function rows() {\n var h = $(this).height();\n var lh = $(this).css('line-height').replace(\"px\", \"\");\n $(this).attr({height: h, 'line-height': lh});\n return Math.floor(h / parseInt(lh));\n};\n\nconst checkLines = function checkLines(p) {\n return this.each(function () {\n var $e = $(this),\n rows = $e.rows();\n\n p.call(this, rows);\n });\n};\n\nconst findNext = function findNext(selector) {\n var $selector = $(selector),\n $root = this.first(),\n index = $selector.index($root),\n $next = $selector.eq(index + 1);\n return $next.length ? $next : false;\n};\n\nconst findPrev = function findPrev(selector) {\n var $selector = $(selector),\n $root = this.first(),\n index = $selector.index($root),\n $prev = $selector.eq(index - 1);\n return $prev.length ? $prev : false;\n};\n\nconst progress = function progress(v) {\n return this.each(function () {\n var t = parseInt(v / 100 * 360),\n timer = null,\n $this = $(this);\n\n if (t < 180) {\n $this.find('.progress-circle').removeClass('gt-50');\n } else {\n $this.find('.progress-circle').addClass('gt-50');\n }\n $this.find('.fill').css({\n transform: 'rotate(' + t + 'deg)'\n });\n\n });\n};\n\n$.fn.serializeJSON = serializeJSON;\n$.fn.LP_Tooltip = LP_Tooltip;\n$.fn.hasEvent = hasEvent;\n$.fn.dataToJSON = dataToJSON;\n$.fn.rows = rows;\n$.fn.checkLines = checkLines;\n$.fn.findNext = findNext;\n$.fn.findPrev = findPrev;\n$.fn.progress = progress;\n\nexport default {\n serializeJSON,\n LP_Tooltip,\n hasEvent,\n dataToJSON,\n rows,\n checkLines,\n findNext,\n findPrev,\n progress\n}","const $ = window.jQuery;\nconst MessageBox = {\n /*\n *\n */\n $block: null,\n $window: null,\n events: {},\n instances: [],\n instance: null,\n quickConfirm: function (elem, args) {\n var $e = $(elem);\n $('[learn-press-quick-confirm]').each(function () {\n var $ins;\n ( $ins = $(this).data('quick-confirm') ) && ( console.log($ins), $ins.destroy() );\n });\n !$e.attr('learn-press-quick-confirm') && $e.attr('learn-press-quick-confirm', 'true').data('quick-confirm',\n new (function (elem, args) {\n var $elem = $(elem),\n $div = $('<span class=\"learn-press-quick-confirm\"></span>').insertAfter($elem), //($(document.body)),\n offset = $(elem).position() || {left: 0, top: 0},\n timerOut = null,\n timerHide = null,\n n = 3,\n hide = function () {\n $div.fadeOut('fast', function () {\n $(this).remove();\n $div.parent().css('position', '');\n });\n $elem.removeAttr('learn-press-quick-confirm').data('quick-confirm', undefined);\n stop();\n },\n stop = function () {\n timerHide && clearInterval(timerHide);\n timerOut && clearInterval(timerOut);\n },\n start = function () {\n timerOut = setInterval(function () {\n if (--n == 0) {\n hide.call($div[0]);\n $.isFunction(args.onCancel) && args.onCancel(args.data);\n stop();\n }\n $div.find('span').html(' (' + n + ')');\n }, 1000);\n\n timerHide = setInterval(function () {\n if (!$elem.is(':visible') || $elem.css(\"visibility\") == 'hidden') {\n stop();\n $div.remove();\n $div.parent().css('position', '');\n $.isFunction(args.onCancel) && args.onCancel(args.data);\n }\n }, 350);\n };\n args = $.extend({\n message: '',\n data: null,\n onOk: null,\n onCancel: null,\n offset: {top: 0, left: 0}\n }, args || {});\n $div.html(args.message || $elem.attr('data-confirm-remove') || 'Are you sure?').append('<span> (' + n + ')</span>').css({});\n $div.click(function () {\n $.isFunction(args.onOk) && args.onOk(args.data);\n hide();\n }).hover(function () {\n stop();\n }, function () {\n start();\n });\n //$div.parent().css('position', 'relative');\n $div.css({\n left: ( ( offset.left + $elem.outerWidth() ) - $div.outerWidth() ) + args.offset.left,\n top: offset.top + $elem.outerHeight() + args.offset.top + 5\n }).hide().fadeIn('fast');\n start();\n\n this.destroy = function () {\n $div.remove();\n $elem.removeAttr('learn-press-quick-confirm').data('quick-confirm', undefined);\n stop();\n\n };\n })(elem, args)\n );\n },\n show: function (message, args) {\n //this.hide();\n $.proxy(function () {\n args = $.extend({\n title: '',\n buttons: '',\n events: false,\n autohide: false,\n message: message,\n data: false,\n id: LP.uniqueId(),\n onHide: null\n }, args || {});\n\n this.instances.push(args);\n this.instance = args;\n\n var $doc = $(document),\n $body = $(document.body);\n if (!this.$block) {\n this.$block = $('<div id=\"learn-press-message-box-block\"></div>').appendTo($body);\n\n }\n if (!this.$window) {\n this.$window = $('<div id=\"learn-press-message-box-window\"><div id=\"message-box-wrap\"></div> </div>').insertAfter(this.$block);\n this.$window.click(function () {\n });\n }\n //this.events = args.events || {};\n this._createWindow(message, args.title, args.buttons);\n this.$block.show();\n this.$window.show().attr('instance', args.id);\n $(window)\n .bind('resize.message-box', $.proxy(this.update, this))\n .bind('scroll.message-box', $.proxy(this.update, this));\n this.update(true);\n if (args.autohide) {\n setTimeout(function () {\n LP.MessageBox.hide();\n $.isFunction(args.onHide) && args.onHide.call(LP.MessageBox, args);\n }, args.autohide);\n }\n }, this)();\n },\n blockUI: function (message) {\n\n message = (message !== false ? (message ? message : 'Wait a moment') : '') + '<div class=\"message-box-animation\"></div>';\n this.show(message);\n },\n hide: function (delay, instance) {\n if (instance) {\n this._removeInstance(instance.id);\n } else if (this.instance) {\n this._removeInstance(this.instance.id);\n }\n if (this.instances.length === 0) {\n if (this.$block) {\n this.$block.hide();\n }\n if (this.$window) {\n this.$window.hide();\n }\n $(window)\n .unbind('resize.message-box', this.update)\n .unbind('scroll.message-box', this.update);\n } else {\n if (this.instance) {\n this._createWindow(this.instance.message, this.instance.title, this.instance.buttons);\n }\n }\n\n },\n update: function (force) {\n var that = this,\n $wrap = this.$window.find('#message-box-wrap'),\n timer = $wrap.data('timer'),\n _update = function () {\n LP.Hook.doAction('learn_press_message_box_before_resize', that);\n var $content = $wrap.find('.message-box-content').css(\"height\", \"\").css('overflow', 'hidden'),\n width = $wrap.outerWidth(),\n height = $wrap.outerHeight(),\n contentHeight = $content.height(),\n windowHeight = $(window).height(),\n top = $wrap.offset().top;\n if (contentHeight > windowHeight - 50) {\n $content.css({\n height: windowHeight - 25\n });\n height = $wrap.outerHeight();\n } else {\n $content.css(\"height\", \"\").css('overflow', '');\n }\n $wrap.css({\n marginTop: ($(window).height() - height) / 2\n });\n LP.Hook.doAction('learn_press_message_box_resize', height, that);\n };\n if (force) _update();\n timer && clearTimeout(timer);\n timer = setTimeout(_update, 250);\n },\n _removeInstance: function (id) {\n for (var i = 0; i < this.instances.length; i++) {\n if (this.instances[i].id === id) {\n\n this.instances.splice(i, 1);\n\n var len = this.instances.length;\n if (len) {\n this.instance = this.instances[len - 1];\n this.$window.attr('instance', this.instance.id);\n } else {\n this.instance = false;\n this.$window.removeAttr('instance');\n }\n break;\n }\n }\n },\n _getInstance: function (id) {\n for (var i = 0; i < this.instances.length; i++) {\n if (this.instances[i].id === id) {\n return this.instances[i];\n }\n }\n },\n _createWindow: function (message, title, buttons) {\n var $wrap = this.$window.find('#message-box-wrap').html('');\n if (title) {\n $wrap.append('<h3 class=\"message-box-title\">' + title + '</h3>');\n }\n $wrap.append($('<div class=\"message-box-content\"></div>').html(message));\n if (buttons) {\n var $buttons = $('<div class=\"message-box-buttons\"></div>');\n switch (buttons) {\n case 'yesNo':\n $buttons.append(this._createButton(LP_Settings.localize.button_yes, 'yes'));\n $buttons.append(this._createButton(LP_Settings.localize.button_no, 'no'));\n break;\n case 'okCancel':\n $buttons.append(this._createButton(LP_Settings.localize.button_ok, 'ok'));\n $buttons.append(this._createButton(LP_Settings.localize.button_cancel, 'cancel'));\n break;\n default:\n $buttons.append(this._createButton(LP_Settings.localize.button_ok, 'ok'));\n }\n $wrap.append($buttons);\n }\n },\n _createButton: function (title, type) {\n var $button = $('<button type=\"button\" class=\"button message-box-button message-box-button-' + type + '\">' + title + '</button>'),\n callback = 'on' + (type.substr(0, 1).toUpperCase() + type.substr(1));\n $button.data('callback', callback).click(function () {\n var instance = $(this).data('instance'),\n callback = instance.events[$(this).data('callback')];\n if ($.type(callback) === 'function') {\n if (callback.apply(LP.MessageBox, [instance]) === false) {\n // return;\n } else {\n LP.MessageBox.hide(null, instance);\n }\n } else {\n LP.MessageBox.hide(null, instance);\n }\n }).data('instance', this.instance);\n return $button;\n }\n};\n\nexport default MessageBox;",";(function ($) {\n function QuickTip(el, options) {\n var $el = $(el),\n uniId = $el.attr('data-id') || LP.uniqueId();\n\n options = $.extend({\n event: 'hover',\n autoClose: true,\n single: true,\n closeInterval: 1000,\n arrowOffset: null,\n tipClass: ''\n }, options, $el.data());\n\n $el.attr('data-id', uniId);\n\n var content = $el.attr('data-content-tip') || $el.html(),\n $tip = $('<div class=\"learn-press-tip-floating\">' + content + '</div>'),\n t = null,\n closeInterval = 0,\n useData = false,\n arrowOffset = options.arrowOffset === 'el' ? $el.outerWidth() / 2 : 8,\n $content = $('#__' + uniId);\n\n if ($content.length === 0) {\n $(document.body).append($('<div />').attr('id', '__' + uniId).html(content).css('display', 'none'))\n }\n\n content = $content.html();\n\n $tip.addClass(options.tipClass);\n\n $el.data('content-tip', content);\n if ($el.attr('data-content-tip')) {\n //$el.removeAttr('data-content-tip');\n useData = true;\n }\n\n closeInterval = options.closeInterval;\n\n if (options.autoClose === false) {\n $tip.append('<a class=\"close\"></a>');\n $tip.on('click', '.close', function () {\n close();\n })\n }\n\n function show() {\n if (t) {\n clearTimeout(t);\n return;\n }\n\n if (options.single) {\n $('.learn-press-tip').not($el).LP('QuickTip', 'close');\n }\n\n $tip.appendTo(document.body);\n var pos = $el.offset();\n\n $tip.css({\n top: pos.top - $tip.outerHeight() - 8,\n left: pos.left - $tip.outerWidth() / 2 + arrowOffset\n });\n }\n\n function hide() {\n t && clearTimeout(t);\n t = setTimeout(function () {\n $tip.detach();\n t = null;\n }, closeInterval);\n }\n\n function close() {\n closeInterval = 0;\n hide();\n closeInterval = options.closeInterval;\n }\n\n function open() {\n show();\n }\n\n if (!useData) {\n $el.html('');\n }\n\n if (options.event === 'click') {\n $el.on('click', function (e) {\n e.stopPropagation();\n show();\n })\n }\n\n $(document).on('learn-press/close-all-quick-tip', function () {\n close();\n });\n $el.hover(\n function (e) {\n e.stopPropagation();\n if (options.event !== 'click') {\n show();\n }\n },\n function (e) {\n e.stopPropagation();\n if (options.autoClose) {\n hide();\n }\n }\n ).addClass('ready');\n return {\n close: close,\n open: open\n }\n }\n\n $.fn.LP('QuickTip', function (options) {\n return $.each(this, function () {\n var $tip = $(this).data('quick-tip');\n\n if (!$tip) {\n $tip = new QuickTip(this, options);\n $(this).data('quick-tip', $tip);\n }\n\n if ($.type(options) === 'string') {\n $tip[options] && $tip[options].apply($tip);\n }\n })\n });\n})\n(jQuery);"],"sourceRoot":""}
|
assets/js/utils.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e,n){"use strict";e.a=function(){window.LP=window.LP||{},"string"==typeof arguments[0]?(LP[arguments[0]]=LP[arguments[0]]||{},LP[arguments[0]]=jQuery.extend(LP[arguments[0]],arguments[1])):LP=jQuery.extend(LP,arguments[0])}},function(t,e){!function(t){function e(e,n){var i=t(e),o=i.attr("data-id")||LP.uniqueId();n=t.extend({event:"hover",autoClose:!0,single:!0,closeInterval:1e3,arrowOffset:null,tipClass:""},n,i.data()),i.attr("data-id",o);var r=i.attr("data-content-tip")||i.html(),a=t('<div class="learn-press-tip-floating">'+r+"</div>"),s=null,c=0,l=!1,u="el"===n.arrowOffset?i.outerWidth()/2:8,f=t("#__"+o);function d(){if(s)clearTimeout(s);else{n.single&&t(".learn-press-tip").not(i).LP("QuickTip","close"),a.appendTo(document.body);var e=i.offset();a.css({top:e.top-a.outerHeight()-8,left:e.left-a.outerWidth()/2+u})}}function p(){s&&clearTimeout(s),s=setTimeout((function(){a.detach(),s=null}),c)}function h(){c=0,p(),c=n.closeInterval}return 0===f.length&&t(document.body).append(t("<div />").attr("id","__"+o).html(r).css("display","none")),r=f.html(),a.addClass(n.tipClass),i.data("content-tip",r),i.attr("data-content-tip")&&(l=!0),c=n.closeInterval,!1===n.autoClose&&(a.append('<a class="close"></a>'),a.on("click",".close",(function(){h()}))),l||i.html(""),"click"===n.event&&i.on("click",(function(t){t.stopPropagation(),d()})),t(document).on("learn-press/close-all-quick-tip",(function(){h()})),i.hover((function(t){t.stopPropagation(),"click"!==n.event&&d()}),(function(t){t.stopPropagation(),n.autoClose&&p()})).addClass("ready"),{close:h,open:function(){d()}}}t.fn.LP("QuickTip",(function(n){return t.each(this,(function(){var i=t(this).data("quick-tip");i||(i=new e(this,n),t(this).data("quick-tip",i)),"string"===t.type(n)&&i[n]&&i[n].apply(i)}))}))}(jQuery)},function(t,e,n){"use strict";n.r(e);var i,o=n(0),r=window.jQuery;void 0!==r&&(r.fn.LP=i=function(t,e){if(r.isFunction(e))r.fn["LP_"+t]=e;else if(t){var n=[];if(arguments.length>1)for(var i=1;i<arguments.length;i++)n.push(arguments[i]);return r.isFunction(r(this)["LP_"+t])?r(this)["LP_"+t].apply(this,n):this}return this});var a=i,s=n(1),c=n.n(s),l=window.jQuery,u={$block:null,$window:null,events:{},instances:[],instance:null,quickConfirm:function(t,e){var n=l(t);l("[learn-press-quick-confirm]").each((function(){var t;(t=l(this).data("quick-confirm"))&&(console.log(t),t.destroy())})),!n.attr("learn-press-quick-confirm")&&n.attr("learn-press-quick-confirm","true").data("quick-confirm",new function(t,e){var n=l(t),i=l('<span class="learn-press-quick-confirm"></span>').insertAfter(n),o=l(t).position()||{left:0,top:0},r=null,a=null,s=3,c=function(){i.fadeOut("fast",(function(){l(this).remove(),i.parent().css("position","")})),n.removeAttr("learn-press-quick-confirm").data("quick-confirm",void 0),u()},u=function(){a&&clearInterval(a),r&&clearInterval(r)},f=function(){r=setInterval((function(){0==--s&&(c.call(i[0]),l.isFunction(e.onCancel)&&e.onCancel(e.data),u()),i.find("span").html(" ("+s+")")}),1e3),a=setInterval((function(){n.is(":visible")&&"hidden"!=n.css("visibility")||(u(),i.remove(),i.parent().css("position",""),l.isFunction(e.onCancel)&&e.onCancel(e.data))}),350)};e=l.extend({message:"",data:null,onOk:null,onCancel:null,offset:{top:0,left:0}},e||{}),i.html(e.message||n.attr("data-confirm-remove")||"Are you sure?").append("<span> ("+s+")</span>").css({}),i.click((function(){l.isFunction(e.onOk)&&e.onOk(e.data),c()})).hover((function(){u()}),(function(){f()})),i.css({left:o.left+n.outerWidth()-i.outerWidth()+e.offset.left,top:o.top+n.outerHeight()+e.offset.top+5}).hide().fadeIn("fast"),f(),this.destroy=function(){i.remove(),n.removeAttr("learn-press-quick-confirm").data("quick-confirm",void 0),u()}}(t,e))},show:function(t,e){l.proxy((function(){e=l.extend({title:"",buttons:"",events:!1,autohide:!1,message:t,data:!1,id:LP.uniqueId(),onHide:null},e||{}),this.instances.push(e),this.instance=e;l(document);var n=l(document.body);this.$block||(this.$block=l('<div id="learn-press-message-box-block"></div>').appendTo(n)),this.$window||(this.$window=l('<div id="learn-press-message-box-window"><div id="message-box-wrap"></div> </div>').insertAfter(this.$block),this.$window.click((function(){}))),this._createWindow(t,e.title,e.buttons),this.$block.show(),this.$window.show().attr("instance",e.id),l(window).bind("resize.message-box",l.proxy(this.update,this)).bind("scroll.message-box",l.proxy(this.update,this)),this.update(!0),e.autohide&&setTimeout((function(){LP.MessageBox.hide(),l.isFunction(e.onHide)&&e.onHide.call(LP.MessageBox,e)}),e.autohide)}),this)()},blockUI:function(t){t=(!1!==t?t||"Wait a moment":"")+'<div class="message-box-animation"></div>',this.show(t)},hide:function(t,e){e?this._removeInstance(e.id):this.instance&&this._removeInstance(this.instance.id),0===this.instances.length?(this.$block&&this.$block.hide(),this.$window&&this.$window.hide(),l(window).unbind("resize.message-box",this.update).unbind("scroll.message-box",this.update)):this.instance&&this._createWindow(this.instance.message,this.instance.title,this.instance.buttons)},update:function(t){var e=this,n=this.$window.find("#message-box-wrap"),i=n.data("timer"),o=function(){LP.Hook.doAction("learn_press_message_box_before_resize",e);var t=n.find(".message-box-content").css("height","").css("overflow","hidden"),i=(n.outerWidth(),n.outerHeight()),o=t.height(),r=l(window).height();n.offset().top;o>r-50?(t.css({height:r-25}),i=n.outerHeight()):t.css("height","").css("overflow",""),n.css({marginTop:(l(window).height()-i)/2}),LP.Hook.doAction("learn_press_message_box_resize",i,e)};t&&o(),i&&clearTimeout(i),i=setTimeout(o,250)},_removeInstance:function(t){for(var e=0;e<this.instances.length;e++)if(this.instances[e].id===t){this.instances.splice(e,1);var n=this.instances.length;n?(this.instance=this.instances[n-1],this.$window.attr("instance",this.instance.id)):(this.instance=!1,this.$window.removeAttr("instance"));break}},_getInstance:function(t){for(var e=0;e<this.instances.length;e++)if(this.instances[e].id===t)return this.instances[e]},_createWindow:function(t,e,n){var i=this.$window.find("#message-box-wrap").html("");if(e&&i.append('<h3 class="message-box-title">'+e+"</h3>"),i.append(l('<div class="message-box-content"></div>').html(t)),n){var o=l('<div class="message-box-buttons"></div>');switch(n){case"yesNo":o.append(this._createButton(LP_Settings.localize.button_yes,"yes")),o.append(this._createButton(LP_Settings.localize.button_no,"no"));break;case"okCancel":o.append(this._createButton(LP_Settings.localize.button_ok,"ok")),o.append(this._createButton(LP_Settings.localize.button_cancel,"cancel"));break;default:o.append(this._createButton(LP_Settings.localize.button_ok,"ok"))}i.append(o)}},_createButton:function(t,e){var n=l('<button type="button" class="button message-box-button message-box-button-'+e+'">'+t+"</button>"),i="on"+(e.substr(0,1).toUpperCase()+e.substr(1));return n.data("callback",i).click((function(){var t=l(this).data("instance"),e=t.events[l(this).data("callback")];"function"===l.type(e)&&!1===e.apply(LP.MessageBox,[t])||LP.MessageBox.hide(null,t)})).data("instance",this.instance),n}},f=function(t){var e={},n=window.jQuery;this.on=function(n,i){var o=n.split("."),r="";return o.length>1&&(n=o[0],r=o[1]),e[n]||(e[n]=[[],{}]),r?(e[n][1][r]||(e[n][1][r]=[]),e[n][1][r].push(i)):e[n][0].push(i),t},this.off=function(i,o){var r=i.split("."),a="";if(r.length>1&&(i=r[0],a=r[1]),!e[i])return t;var s=-1;if(a){if(!e[i][1][a])return t;if(n.isFunction(o)){if((s=e[i][1][a].indexOf(o))<0)return t;e[i][1][a].splice(s,1)}else e[i][1][a]=[]}else if(n.isFunction(o)){if((s=e[i][0].indexOf(o))<0)return t;e[i][0].splice(s,1)}else e[i][0]=[];return t},this.callEvent=function(i,o){if(e[i]){if(e[i][0])for(var r=0;r<e[i][0].length;r++)n.isFunction(e[i][0][r])&&e[i][r][0].apply(t,o);if(e[i][1])for(var r in e[i][1])for(var a=0;a<e[i][1][r].length;a++)n.isFunction(e[i][1][r][a])&&e[i][1][r][a].apply(t,o)}}},d={hooks:{action:{},filter:{}},addAction:function(t,e,n,i){return this.addHook("action",t,e,n,i),this},addFilter:function(t,e,n,i){return this.addHook("filter",t,e,n,i),this},doAction:function(t){return this.doHook("action",t,arguments),this},applyFilters:function(t){return this.doHook("filter",t,arguments)},removeAction:function(t,e){return this.removeHook("action",t,e),this},removeFilter:function(t,e,n){return this.removeHook("filter",t,e,n),this},addHook:function(t,e,n,i,o){void 0===this.hooks[t][e]&&(this.hooks[t][e]=[]);var r=this.hooks[t][e];return void 0===o&&(o=e+"_"+r.length),this.hooks[t][e].push({tag:o,callable:n,priority:i}),this},doHook:function(t,e,n){if(n=Array.prototype.slice.call(n,1),void 0!==this.hooks[t][e]){var i,o=this.hooks[t][e];o.sort((function(t,e){return t.priority-e.priority}));for(var r=0;r<o.length;r++)"function"!=typeof(i=o[r].callable)&&(i=window[i]),"action"===t?i.apply(null,n):n[0]=i.apply(null,n)}return"filter"===t?n[0]:this},removeHook:function(t,e,n,i){if(void 0!==this.hooks[t][e])for(var o=this.hooks[t][e],r=o.length-1;r>=0;r--)void 0!==i&&i!==o[r].tag||void 0!==n&&n!==o[r].priority||o.splice(r,1);return this}};n(3);function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function h(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var v=jQuery;String.prototype.getQueryVar=function(t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(this);return null===e?"":decodeURIComponent(e[1].replace(/\+/g," "))},String.prototype.addQueryVar=function(t,e){var n=this,i=n.split("#");return n=i[0],t.match(/\[/)?(n+=n.match(/\?/)?"&":"?",n+=t+"="+e):-1!=n.indexOf("&"+t+"=")||-1!=n.indexOf("?"+t+"=")?n=n.replace(new RegExp(t+"=([^&#]*)","g"),t+"="+e):(n+=n.match(/\?/)?"&":"?",n+=t+"="+e),n+(i[1]?"#"+i[1]:"")},String.prototype.removeQueryVar=function(t){var e=this,n=e.split("#");e=n[0],t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i=new RegExp("[\\?&]"+t+"([[][^=]*)?=([^&#]*)","g");return(e=e.replace(i,""))+(n[1]?"#"+n[1]:"")},0==v.isEmptyObject("")&&(v.isEmptyObject=function(t){var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0});var g={Hook:d,setUrl:function(t,e,n){t&&(history.pushState({},n,t),LP.Hook.doAction("learn_press_set_location_url",t))},toggleGroupSection:function(t,e){var n=v(t);n.hasClass("hide-if-js")&&n.hide().removeClass("hide-if-js"),n.removeClass("hide-if-js").slideToggle((function(){v(this).is(":visible")?v(e).addClass("toggle-on").removeClass("toggle-off"):v(e).addClass("toggle-off").removeClass("toggle-on")}))},overflow:function(t,e){var n=v(t),i=n.css("overflow");e?n.css("overflow",e).data("overflow",i):n.css("overflow",n.data("overflow"))},getUrl:function(){return window.location.href},addQueryVar:function(t,e,n){return(void 0===n?window.location.href:n).addQueryVar(t,e)},removeQueryVar:function(t,e){return(void 0===e?window.location.href:e).removeQueryVar(t)},reload:function(t){t||(t=window.location.href),window.location.href=t},parseResponse:function(t,e){var n=t.match(/<-- LP_AJAX_START -->(.*)<-- LP_AJAX_END -->/);return n&&(t=n[1]),"json"===(e||"json")?this.parseJSON(t):t},parseJSON:function(t){var e=(t+"").match(/<-- LP_AJAX_START -->(.*)<-- LP_AJAX_END -->/);try{t=e?v.parseJSON(e[1]):v.parseJSON(t)}catch(e){t={}}return t},ajax:function(t){var e=t.type||"post",n=t.dataType||"json",i=t.action?v.extend(t.data,{"lp-ajax":t.action}):t.data,o=t.beforeSend||function(){},r=t.url||window.location.href;v.ajax({data:i,url:r,type:e,dataType:"html",beforeSend:o.apply(null,t),success:function(e){var i=LP.parseResponse(e,n);v.isFunction(t.success)&&t.success(i,e)},error:function(){v.isFunction(t.error)&&t.error.apply(null,LP.funcArgs2Array())}})},doAjax:function(t){var e=t.type||"post",n=t.dataType||"json",i=(void 0===t.prefix||"learnpress_")+t.action,o=t.action?v.extend(t.data,{action:i}):t.data;v.ajax({data:o,url:t.url||window.location.href,type:e,dataType:"html",success:function(e){var i=LP.parseResponse(e,n);v.isFunction(t.success)&&t.success(i,e)},error:function(){v.isFunction(t.error)&&t.error.apply(null,LP.funcArgs2Array())}})},funcArgs2Array:function(t){for(var e=[],n=0;n<t.length;n++)e.push(t[n]);return e},addFilter:function(t,e){var n=v(document),i="LP."+t;return n.on(i,e),LP.log(n.data("events")),this},applyFilters:function(){var t=v(document),e=arguments[0],n=this.funcArgs2Array(arguments);return t.hasEvent(e)?(n[0]="LP."+e,t.triggerHandler.apply(t,n)):n[1]},addAction:function(t,e){return this.addFilter(t,e)},doAction:function(){var t=v(document),e=arguments[0],n=this.funcArgs2Array(arguments);t.hasEvent(e)&&(n[0]="LP."+e,t.trigger.apply(t,n))},toElement:function(t,e){if(0!==v(t).length){e=v.extend({delay:300,duration:"slow",offset:50,container:null,callback:null,invisible:!1},e||{});var n,i=v(e.container);0===i.length&&(i=v("body, html")),n=i.offset().top;var o=v(t).offset().top+i.scrollTop()-n-e.offset;e.invisible&&function(t,e){var n=i.scrollTop(),o=n+i.height(),r=v(t).offset().top-i.offset().top,a=r+v(t).height();return!0===e?n<r&&o>a:r<=o&&a>=n}(t,!0)||i.fadeIn(10).delay(e.delay).animate({scrollTop:o},e.duration,e.callback)}},uniqueId:function(t,e){var n;void 0===t&&(t="");var i=function(t,e){return e<(t=parseInt(t,10).toString(16)).length?t.slice(t.length-e):e>t.length?new Array(e-t.length+1).join("0")+t:t};return this.php_js||(this.php_js={}),this.php_js.uniqidSeed||(this.php_js.uniqidSeed=Math.floor(123456789*Math.random())),this.php_js.uniqidSeed++,n=t,n+=i(parseInt((new Date).getTime()/1e3,10),8),n+=i(this.php_js.uniqidSeed,5),e&&(n+=(10*Math.random()).toFixed(8).toString()),n},log:function(){for(var t=0,e=arguments.length;t<e;t++)console.log(arguments[t])},blockContent:function(){0===v("#learn-press-block-content").length&&v(LP.template("learn-press-template-block-content",{})).appendTo(v("body")),LP.hideMainScrollbar().addClass("block-content"),v(document).trigger("learn_press_block_content")},unblockContent:function(){setTimeout((function(){LP.showMainScrollbar().removeClass("block-content"),v(document).trigger("learn_press_unblock_content")}),350)},hideMainScrollbar:function(t){t||(t="html, body");var e=v(t);return e.each((function(){var t=v(this),e=t.css("overflow");t.css("overflow","hidden").attr("overflow",e)})),e},showMainScrollbar:function(t){t||(t="html, body");var e=v(t);return e.each((function(){var t=v(this),e=t.attr("overflow");t.css("overflow",e).removeAttr("overflow")})),e},template:"undefined"!=typeof _?_.memoize((function(t,e){var n,i={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"},o=function(e){return(n=n||_.template(v("#"+t).html(),null,i))(e)};return e?o(e):o}),(function(t,e){return t+"-"+JSON.stringify(e)})):function(){return""},alert:function(t,e){var n="",i="";"string"==typeof t?i=t:(void 0!==t.title&&(n=t.title),void 0!==t.message&&(i=t.message)),v.alerts.alert(i,n,(function(t){LP._on_alert_hide(),e&&e(t)})),this._on_alert_show()},confirm:function(t,e){var n="",i="";"string"==typeof t?i=t:(void 0!==t.title&&(n=t.title),void 0!==t.message&&(i=t.message)),v.alerts.confirm(i,n,(function(t){LP._on_alert_hide(),e&&e(t)})),this._on_alert_show()},_on_alert_show:function(){var t=v("#popup_container");v('<span id="popup_container_placeholder" />').insertAfter(t).data("xxx",t);t.stop().css("top","-=50").css("opacity","0").animate({top:"+=50",opacity:1},250)},_on_alert_hide:function(){var t=v("#popup_container_placeholder"),e=t.data("xxx");e&&e.replaceWith(t),e.appendTo(v(document.body)),e.stop().animate({top:"+=50",opacity:0},250,(function(){v(this).remove()}))},sendMessage:function(t,e,n,i){v.isPlainObject(t)&&(t=JSON.stringify(t)),n=n||"*",(e=e||window).postMessage(t,n,i)},receiveMessage:function(t,e){var n=t.origin||t.originalEvent.origin,i=t.data||t.originalEvent.data||"";("string"==typeof i||i instanceof String)&&0===i.indexOf("{")&&(i=LP.parseJSON(i)),LP.Hook.doAction("learn_press_receive_message",i,n)}};v(document).ready((function(){var t,e;void 0!==v.alerts&&(v.alerts.overlayColor="#000",v.alerts.overlayOpacity=.5,v.alerts.okButton=lpGlobalSettings.localize.button_ok,v.alerts.cancelButton=lpGlobalSettings.localize.button_cancel),v(".learn-press-message.fixed").each((function(){var t=v(this),e=t.data();!function(t,e){e.delayIn&&setTimeout((function(){t.show().hide().fadeIn()}),e.delayIn),e.delayOut&&setTimeout((function(){t.fadeOut()}),e.delayOut+(e.delayIn||0))}(t,e)})),v("body").on("click",".learn-press-nav-tabs li a",(function(t){t.preventDefault();var e=v(this);e.closest("li").addClass("active").siblings().removeClass("active"),v(e.attr("data-tab")).addClass("active").siblings().removeClass("active"),v(document).trigger("learn-press/nav-tabs/clicked",e)})),setTimeout((function(){v(".learn-press-nav-tabs li.active:not(.default) a").trigger("click")}),300),v("body.course-item-popup").parent().css("overflow","hidden"),t=null,e=function(){v(".auto-check-lines").checkLines((function(t){t>1?v(this).removeClass("single-lines"):v(this).addClass("single-lines"),v(this).attr("rows",t)}))},v(window).on("resize.check-lines",(function(){t?(t&&clearTimeout(t),t=setTimeout(e,300)):e()})),v(".learn-press-tooltip, .lp-passing-conditional").LP_Tooltip({offset:[24,24]}),v(".learn-press-icon").LP_Tooltip({offset:[30,30]}),v(".learn-press-message[data-autoclose]").each((function(){var t=v(this),e=parseInt(t.data("autoclose"));e&&setTimeout((function(t){t.fadeOut()}),e,t)})),v(document).on("click",(function(){v(document).trigger("learn-press/close-all-quick-tip")}))})),Object(o.a)(function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?p(Object(n),!0).forEach((function(e){h(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({Event_Callback:f,MessageBox:u},g));e.default={fn:a,QuickTip:c.a}},function(module,__webpack_exports__,__webpack_require__){"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var $=window.jQuery,serializeJSON=function serializeJSON(path){var isInput=$(this).is("input")||$(this).is("select")||$(this).is("textarea"),unIndexed=isInput?$(this).serializeArray():$(this).find("input, select, textarea").serializeArray(),indexed={},validate=/(\[([a-zA-Z0-9_-]+)?\]?)/g,arrayKeys={},end=!1;if($.each(unIndexed,(function(){var that=this,match=this.name.match(/^([0-9a-zA-Z_-]+)/);if(match){var keys=this.name.match(validate),objPath="indexed['"+match[0]+"']";keys?("object"!=_typeof(indexed[match[0]])&&(indexed[match[0]]={}),$.each(keys,(function(i,prop){prop=prop.replace(/\]|\[/g,"");var rawPath=objPath.replace(/'|\[|\]/g,""),objExp="",preObjPath=objPath;""==prop?(null==arrayKeys[rawPath]?arrayKeys[rawPath]=0:arrayKeys[rawPath]++,objPath+="['"+arrayKeys[rawPath]+"']"):(isNaN(prop)||(arrayKeys[rawPath]=prop),objPath+="['"+prop+"']");try{i==keys.length-1?(objExp=objPath+"=that.value;",end=!0):(objExp=objPath+"={}",end=!1);var evalString="if( typeof "+objPath+" == 'undefined'){"+objExp+";}else{if(end){if(typeof "+preObjPath+"!='object'){"+preObjPath+"={};}"+objExp+"}}";eval(evalString)}catch(t){console.log("Error:"+t+"\n"+objExp)}}))):indexed[match[0]]=this.value}})),path){path="['"+path.replace(".","']['")+"']";var c="try{indexed = indexed"+path+"}catch(ex){console.log(c, ex);}";eval(c)}return indexed},LP_Tooltip=function(t){return t=$.extend({},{offset:[0,0]},t||{}),$.each(this,(function(){var e=$(this),n=e.data("content");if(n&&void 0===e.data("LP_Tooltip")){var i=null;e.hover((function(o){i=$('<div class="learn-press-tooltip-bubble"/>').html(n).appendTo($("body")).hide();var r=e.offset();if($.isArray(t.offset)){var a=t.offset[1],s=t.offset[0];$.isNumeric(s)&&(r.left+=s),$.isNumeric(a)&&(r.top+=a)}i.css({top:r.top,left:r.left}),i.fadeIn()}),(function(){i&&i.remove()})),e.data("tooltip",!0)}}))},hasEvent=function(t){var e=$(this).data("events");if(void 0===e.LP)return!1;for(i=0;i<e.LP.length;i++)if(e.LP[i].namespace==t)return!0;return!1},dataToJSON=function(){var t={};return $.each(this[0].attributes,(function(){var e=this.name.match(/^data-(.*)/);e&&(t[e[1]]=this.value)})),t},rows=function(){var t=$(this).height(),e=$(this).css("line-height").replace("px","");return $(this).attr({height:t,"line-height":e}),Math.floor(t/parseInt(e))},checkLines=function(t){return this.each((function(){var e=$(this).rows();t.call(this,e)}))},findNext=function(t){var e=$(t),n=this.first(),i=e.index(n),o=e.eq(i+1);return!!o.length&&o},findPrev=function(t){var e=$(t),n=this.first(),i=e.index(n),o=e.eq(i-1);return!!o.length&&o},progress=function(t){return this.each((function(){var e=parseInt(t/100*360),n=$(this);e<180?n.find(".progress-circle").removeClass("gt-50"):n.find(".progress-circle").addClass("gt-50"),n.find(".fill").css({transform:"rotate("+e+"deg)"})}))};$.fn.serializeJSON=serializeJSON,$.fn.LP_Tooltip=LP_Tooltip,$.fn.hasEvent=hasEvent,$.fn.dataToJSON=dataToJSON,$.fn.rows=rows,$.fn.checkLines=checkLines,$.fn.findNext=findNext,$.fn.findPrev=findPrev,$.fn.progress=progress;var _unused_webpack_default_export={serializeJSON:serializeJSON,LP_Tooltip:LP_Tooltip,hasEvent:hasEvent,dataToJSON:dataToJSON,rows:rows,checkLines:checkLines,findNext:findNext,findPrev:findPrev,progress:progress}}]);
|
assets/src/js/plugins.all.min-bk.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
var isFunction;!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Vue=e()}(this,function(){"use strict";var d=Object.freeze({});function P(t){return null==t}function I(t){return null!=t}function O(t){return!0===t}function l(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function L(t){return null!==t&&"object"==typeof t}var n=Object.prototype.toString;function c(t){return"[object Object]"===n.call(t)}function o(t){var e=parseFloat(String(t));return 0<=e&&Math.floor(e)===e&&isFinite(t)}function h(t){return I(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function e(t){return null==t?"":Array.isArray(t)||c(t)&&t.toString===n?JSON.stringify(t,null,2):String(t)}function N(t){var e=parseFloat(t);return isNaN(e)?t:e}function a(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}var u=a("slot,component",!0),f=a("key,ref,slot,slot-scope,is");function v(t,e){if(t.length){e=t.indexOf(e);if(-1<e)return t.splice(e,1)}}var r=Object.prototype.hasOwnProperty;function p(t,e){return r.call(t,e)}function t(e){var n=Object.create(null);return function(t){return n[t]||(n[t]=e(t))}}var i=/-(\w)/g,m=t(function(t){return t.replace(i,function(t,e){return e?e.toUpperCase():""})}),s=t(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),y=/\B([A-Z])/g,g=t(function(t){return t.replace(y,"-$1").toLowerCase()}),_=Function.prototype.bind?function(t,e){return t.bind(e)}:function(n,r){function t(t){var e=arguments.length;return e?1<e?n.apply(r,arguments):n.call(r,t):n.call(r)}return t._length=n.length,t};function b(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function w(t,e){for(var n in e)t[n]=e[n];return t}function x(t){for(var e={},n=0;n<t.length;n++)t[n]&&w(e,t[n]);return e}function $(t,e,n){}function k(t,e,n){return!1}var C=function(t){return t};function A(e,n){if(e===n)return!0;var t=L(e),r=L(n);if(!t||!r)return!t&&!r&&String(e)===String(n);try{var o=Array.isArray(e),i=Array.isArray(n);if(o&&i)return e.length===n.length&&e.every(function(t,e){return A(t,n[e])});if(e instanceof Date&&n instanceof Date)return e.getTime()===n.getTime();if(o||i)return!1;o=Object.keys(e),i=Object.keys(n);return o.length===i.length&&o.every(function(t){return A(e[t],n[t])})}catch(e){return!1}}function S(t,e){for(var n=0;n<t.length;n++)if(A(t[n],e))return n;return-1}function D(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var T="data-server-rendered",j=["component","directive","filter"],E=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],M={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:k,isReservedAttr:k,isUnknownElement:k,getTagNamespace:$,parsePlatformTagName:C,mustUseProp:k,async:!0,_lifecycleHooks:E},F=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function R(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var z,H=new RegExp("[^"+F.source+".$_\\d]"),U="__proto__"in{},B="undefined"!=typeof window,V="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,W=V&&WXEnvironment.platform.toLowerCase(),q=B&&window.navigator.userAgent.toLowerCase(),J=q&&/msie|trident/.test(q),G=q&&0<q.indexOf("msie 9.0"),K=q&&0<q.indexOf("edge/"),X=(q&&q.indexOf("android"),q&&/iphone|ipad|ipod|ios/.test(q)||"ios"===W),Q=(q&&/chrome\/\d+/.test(q),q&&/phantomjs/.test(q),q&&q.match(/firefox\/(\d+)/)),Y={}.watch,Z=!1;if(B)try{var tt={};Object.defineProperty(tt,"passive",{get:function(){Z=!0}}),window.addEventListener("test-passive",null,tt)}catch(d){}var et=function(){return void 0===z&&(z=!B&&!V&&"undefined"!=typeof global&&global.process&&"server"===global.process.env.VUE_ENV),z},nt=B&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function rt(t){return"function"==typeof t&&/native code/.test(t.toString())}var ot,it="undefined"!=typeof Symbol&&rt(Symbol)&&"undefined"!=typeof Reflect&&rt(Reflect.ownKeys);function at(){this.set=Object.create(null)}ot="undefined"!=typeof Set&&rt(Set)?Set:(at.prototype.has=function(t){return!0===this.set[t]},at.prototype.add=function(t){this.set[t]=!0},at.prototype.clear=function(){this.set=Object.create(null)},at);var st=$,ct=0,lt=function(){this.id=ct++,this.subs=[]};lt.prototype.addSub=function(t){this.subs.push(t)},lt.prototype.removeSub=function(t){v(this.subs,t)},lt.prototype.depend=function(){lt.target&<.target.addDep(this)},lt.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},lt.target=null;var ut=[];function ft(t){ut.push(t),lt.target=t}function pt(){ut.pop(),lt.target=ut[ut.length-1]}var dt=function(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ht={child:{configurable:!0}};ht.child.get=function(){return this.componentInstance},Object.defineProperties(dt.prototype,ht);var vt=function(t){void 0===t&&(t="");var e=new dt;return e.text=t,e.isComment=!0,e};function mt(t){return new dt(void 0,void 0,void 0,String(t))}function yt(t){var e=new dt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var gt=Array.prototype,_t=Object.create(gt);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(i){var a=gt[i];R(_t,i,function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var n,r=a.apply(this,t),o=this.__ob__;switch(i){case"push":case"unshift":n=t;break;case"splice":n=t.slice(2)}return n&&o.observeArray(n),o.dep.notify(),r})});var bt=Object.getOwnPropertyNames(_t),wt=!0;function xt(t){wt=t}var $t=function(t){this.value=t,this.dep=new lt,this.vmCount=0,R(t,"__ob__",this),Array.isArray(t)?(U?t.__proto__=_t:function(t,e,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];R(t,i,e[i])}}(t,_t,bt),this.observeArray(t)):this.walk(t)};function kt(t,e){var n;if(L(t)&&!(t instanceof dt))return p(t,"__ob__")&&t.__ob__ instanceof $t?n=t.__ob__:wt&&!et()&&(Array.isArray(t)||c(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new $t(t)),e&&n&&n.vmCount++,n}function Ct(n,t,r,e,o){var i,a,s,c=new lt,l=Object.getOwnPropertyDescriptor(n,t);l&&!1===l.configurable||(i=l&&l.get,a=l&&l.set,i&&!a||2!==arguments.length||(r=n[t]),s=!o&&kt(r),Object.defineProperty(n,t,{enumerable:!0,configurable:!0,get:function(){var t=i?i.call(n):r;return lt.target&&(c.depend(),s&&(s.dep.depend(),Array.isArray(t)&&function t(e){for(var n=void 0,r=0,o=e.length;r<o;r++)(n=e[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&t(n)}(t))),t},set:function(t){var e=i?i.call(n):r;t===e||t!=t&&e!=e||i&&!a||(a?a.call(n,t):r=t,s=!o&&kt(t),c.notify())}}))}function Ot(t,e,n){if(Array.isArray(t)&&o(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n;var r=t.__ob__;return t._isVue||r&&r.vmCount||(r?(Ct(r.value,e,n),r.dep.notify()):t[e]=n),n}function At(t,e){var n;Array.isArray(t)&&o(e)?t.splice(e,1):(n=t.__ob__,t._isVue||n&&n.vmCount||p(t,e)&&(delete t[e],n&&n.dep.notify()))}$t.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)Ct(t,e[n])},$t.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)kt(t[e])};var St=M.optionMergeStrategies;function Tt(t,e){if(!e)return t;for(var n,r,o,i=it?Reflect.ownKeys(e):Object.keys(e),a=0;a<i.length;a++)"__ob__"!==(n=i[a])&&(r=t[n],o=e[n],p(t,n)?r!==o&&c(r)&&c(o)&&Tt(r,o):Ot(t,n,o));return t}function jt(n,r,o){return o?function(){var t="function"==typeof r?r.call(o,o):r,e="function"==typeof n?n.call(o,o):n;return t?Tt(t,e):e}:r?n?function(){return Tt("function"==typeof r?r.call(this,this):r,"function"==typeof n?n.call(this,this):n)}:r:n}function Et(t,e){t=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return t&&function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(t)}function Mt(t,e,n,r){t=Object.create(t||null);return e?w(t,e):t}St.data=function(t,e,n){return n?jt(t,e,n):e&&"function"!=typeof e?t:jt(t,e)},E.forEach(function(t){St[t]=Et}),j.forEach(function(t){St[t+"s"]=Mt}),St.watch=function(t,e,n,r){if(t===Y&&(t=void 0),e===Y&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var o,i={};for(o in w(i,t),e){var a=i[o],s=e[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},St.props=St.methods=St.inject=St.computed=function(t,e,n,r){if(!t)return e;var o=Object.create(null);return w(o,t),e&&w(o,e),o},St.provide=jt;var Pt=function(t,e){return void 0===e?t:e};function It(n,i,r){if("function"==typeof i&&(i=i.options),function(t){var e=t.props;if(e){var n,r,o={};if(Array.isArray(e))for(n=e.length;n--;)"string"==typeof(r=e[n])&&(o[m(r)]={type:null});else if(c(e))for(var i in e)r=e[i],o[m(i)]=c(r)?r:{type:r};t.props=o}}(i),function(){var t=i.inject;if(t){var e=i.inject={};if(Array.isArray(t))for(var n=0;n<t.length;n++)e[t[n]]={from:t[n]};else if(c(t))for(var r in t){var o=t[r];e[r]=c(o)?w({from:r},o):{from:o}}}}(),function(){var t=i.directives;if(t)for(var e in t){var n=t[e];"function"==typeof n&&(t[e]={bind:n,update:n})}}(),!i._base&&(i.extends&&(n=It(n,i.extends,r)),i.mixins))for(var t=0,e=i.mixins.length;t<e;t++)n=It(n,i.mixins[t],r);var o,a={};for(o in n)s(o);for(o in i)p(n,o)||s(o);function s(t){var e=St[t]||Pt;a[t]=e(n[t],i[t],r,t)}return a}function Lt(t,e,n){if("string"==typeof n){var r=t[e];if(p(r,n))return r[n];t=m(n);if(p(r,t))return r[t];e=s(t);return!p(r,e)&&(r[n]||r[t])||r[e]}}function Nt(t,e,n,r){var o=e[t],i=!p(n,t),e=n[t],n=Rt(Boolean,o.type);return-1<n&&(i&&!p(o,"default")?e=!1:""!==e&&e!==g(t)||((i=Rt(String,o.type))<0||n<i)&&(e=!0)),void 0===e&&(e=function(t,e,n){if(p(e,"default")){var r=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n]?t._props[n]:"function"==typeof r&&"Function"!==Dt(e.type)?r.call(t):r}}(r,o,t),t=wt,xt(!0),kt(e),xt(t)),e}function Dt(t){t=t&&t.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function Ft(t,e){return Dt(t)===Dt(e)}function Rt(t,e){if(!Array.isArray(e))return Ft(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(Ft(e[n],t))return n;return-1}function zt(t,e,n){ft();try{if(e)for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,t,e,n))return}catch(t){Ut(t,r,"errorCaptured hook")}}Ut(t,e,n)}finally{pt()}}function Ht(t,e,n,r,o){var i;try{(i=n?t.apply(e,n):t.call(e))&&!i._isVue&&h(i)&&!i._handled&&(i.catch(function(t){return zt(t,r,o+" (Promise/async)")}),i._handled=!0)}catch(t){zt(t,r,o)}return i}function Ut(t,e,n){if(M.errorHandler)try{return M.errorHandler.call(null,t,e,n)}catch(e){e!==t&&Bt(e)}Bt(t)}function Bt(t){if(!B&&!V||"undefined"==typeof console)throw t;console.error(t)}var Vt,Wt,qt,Jt,Gt=!1,Kt=[],Xt=!1;function Qt(){Xt=!1;for(var t=Kt.slice(0),e=Kt.length=0;e<t.length;e++)t[e]()}function Yt(t,e){var n;if(Kt.push(function(){if(t)try{t.call(e)}catch(t){zt(t,e,"nextTick")}else n&&n(e)}),Xt||(Xt=!0,Wt()),!t&&"undefined"!=typeof Promise)return new Promise(function(t){n=t})}"undefined"!=typeof Promise&&rt(Promise)?(Vt=Promise.resolve(),Wt=function(){Vt.then(Qt),X&&setTimeout($)},Gt=!0):J||"undefined"==typeof MutationObserver||!rt(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString()?Wt="undefined"!=typeof setImmediate&&rt(setImmediate)?function(){setImmediate(Qt)}:function(){setTimeout(Qt,0)}:(qt=1,On=new MutationObserver(Qt),Jt=document.createTextNode(String(qt)),On.observe(Jt,{characterData:!0}),Wt=function(){qt=(qt+1)%2,Jt.data=String(qt)},Gt=!0);var Zt=new ot;function te(t){!function t(e,n){var r,o,i=Array.isArray(e);if(!(!i&&!L(e)||Object.isFrozen(e)||e instanceof dt)){if(e.__ob__){var a=e.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(i)for(r=e.length;r--;)t(e[r],n);else for(r=(o=Object.keys(e)).length;r--;)t(e[o[r]],n)}}(t,Zt),Zt.clear()}var ee=t(function(t){var e="&"===t.charAt(0),n="~"===(t=e?t.slice(1):t).charAt(0),r="!"===(t=n?t.slice(1):t).charAt(0);return{name:t=r?t.slice(1):t,once:n,capture:r,passive:e}});function ne(t,o){function i(){var t=arguments,e=i.fns;if(!Array.isArray(e))return Ht(e,null,arguments,o,"v-on handler");for(var n=e.slice(),r=0;r<n.length;r++)Ht(n[r],null,t,o,"v-on handler")}return i.fns=t,i}function re(t,e,n,r,o,i){var a,s,c,l;for(a in t)s=t[a],c=e[a],l=ee(a),P(s)||(P(c)?(P(s.fns)&&(s=t[a]=ne(s,i)),O(l.once)&&(s=t[a]=o(l.name,s,l.capture)),n(l.name,s,l.capture,l.passive,l.params)):s!==c&&(c.fns=s,t[a]=c));for(a in e)P(t[a])&&r((l=ee(a)).name,e[a],l.capture)}function oe(t,e,n){var r;t instanceof dt&&(t=t.data.hook||(t.data.hook={}));var o=t[e];function i(){n.apply(this,arguments),v(r.fns,i)}P(o)?r=ne([i]):I(o.fns)&&O(o.merged)?(r=o).fns.push(i):r=ne([o,i]),r.merged=!0,t[e]=r}function ie(t,e,n,r,o){if(I(e)){if(p(e,n))return t[n]=e[n],o||delete e[n],1;if(p(e,r))return t[n]=e[r],o||delete e[r],1}}function ae(t){return l(t)?[mt(t)]:Array.isArray(t)?function t(e,n){for(var r,o,i,a=[],s=0;s<e.length;s++)P(r=e[s])||"boolean"==typeof r||(i=a[o=a.length-1],Array.isArray(r)?0<r.length&&(se((r=t(r,(n||"")+"_"+s))[0])&&se(i)&&(a[o]=mt(i.text+r[0].text),r.shift()),a.push.apply(a,r)):l(r)?se(i)?a[o]=mt(i.text+r):""!==r&&a.push(mt(r)):se(r)&&se(i)?a[o]=mt(i.text+r.text):(O(e._isVList)&&I(r.tag)&&P(r.key)&&I(n)&&(r.key="__vlist"+n+"_"+s+"__"),a.push(r)));return a}(t):void 0}function se(t){return I(t)&&I(t.text)&&!1===t.isComment}function ce(t,e){if(t){for(var n=Object.create(null),r=it?Reflect.ownKeys(t):Object.keys(t),o=0;o<r.length;o++){var i=r[o];if("__ob__"!==i){for(var a,s=t[i].from,c=e;c;){if(c._provided&&p(c._provided,s)){n[i]=c._provided[s];break}c=c.$parent}!c&&"default"in t[i]&&(a=t[i].default,n[i]="function"==typeof a?a.call(e):a)}}return n}}function le(t,e){if(!t||!t.length)return{};for(var n,r={},o=0,i=t.length;o<i;o++){var a=t[o],s=a.data;s&&s.attrs&&s.attrs.slot&&delete s.attrs.slot,a.context!==e&&a.fnContext!==e||!s||null==s.slot?(r.default||(r.default=[])).push(a):(s=r[s=s.slot]||(r[s]=[]),"template"===a.tag?s.push.apply(s,a.children||[]):s.push(a))}for(n in r)r[n].every(ue)&&delete r[n];return r}function ue(t){return t.isComment&&!t.asyncFactory||" "===t.text}function fe(t,e,n){var r,o,i=0<Object.keys(e).length,a=t?!!t.$stable:!i,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&n&&n!==d&&s===n.$key&&!i&&!n.$hasNormal)return n;for(var c in r={},t)t[c]&&"$"!==c[0]&&(r[c]=function(t,e,n){function r(){var t=arguments.length?n.apply(null,arguments):n({});return(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:ae(t))&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t}return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}(e,c,t[c]))}else r={};for(o in e)o in r||(r[o]=function(t,e){return function(){return t[e]}}(e,o));return t&&Object.isExtensible(t)&&(t._normalized=r),R(r,"$stable",a),R(r,"$key",s),R(r,"$hasNormal",i),r}function pe(t,e){var n,r,o,i,a;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),r=0,o=t.length;r<o;r++)n[r]=e(t[r],r);else if("number"==typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(L(t))if(it&&t[Symbol.iterator]){n=[];for(var s=t[Symbol.iterator](),c=s.next();!c.done;)n.push(e(c.value,n.length)),c=s.next()}else for(i=Object.keys(t),n=new Array(i.length),r=0,o=i.length;r<o;r++)a=i[r],n[r]=e(t[a],a,r);return I(n)||(n=[]),n._isVList=!0,n}function de(t,e,n,r){var o=this.$scopedSlots[t],e=o?(n=n||{},r&&(n=w(w({},r),n)),o(n)||e):this.$slots[t]||e,n=n&&n.slot;return n?this.$createElement("template",{slot:n},e):e}function he(t){return Lt(this.$options,"filters",t)||C}function ve(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function me(t,e,n,r,o){n=M.keyCodes[e]||n;return o&&r&&!M.keyCodes[e]?ve(o,r):n?ve(n,t):r?g(r)!==e:void 0}function ye(r,o,i,a,s){if(i&&L(i)){var c;Array.isArray(i)&&(i=x(i));for(var t in i)!function(e){c="class"===e||"style"===e||f(e)?r:(n=r.attrs&&r.attrs.type,a||M.mustUseProp(o,n,e)?r.domProps||(r.domProps={}):r.attrs||(r.attrs={}));var t=m(e),n=g(e);t in c||n in c||(c[e]=i[e],s&&((r.on||(r.on={}))["update:"+e]=function(t){i[e]=t}))}(t)}return r}function ge(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e||be(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),"__static__"+t,!1),r}function _e(t,e,n){return be(t,"__once__"+e+(n?"_"+n:""),!0),t}function be(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!=typeof t[r]&&we(t[r],e+"_"+r,n);else we(t,e,n)}function we(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function xe(t,e){if(e&&c(e)){var n,r=t.on=t.on?w({},t.on):{};for(n in e){var o=r[n],i=e[n];r[n]=o?[].concat(o,i):i}}return t}function $e(t,e,n,r){e=e||{$stable:!n};for(var o=0;o<t.length;o++){var i=t[o];Array.isArray(i)?$e(i,e,n):i&&(i.proxy&&(i.fn.proxy=!0),e[i.key]=i.fn)}return r&&(e.$key=r),e}function ke(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];"string"==typeof r&&r&&(t[e[n]]=e[n+1])}return t}function Ce(t,e){return"string"==typeof t?e+t:t}function Oe(t){t._o=_e,t._n=N,t._s=e,t._l=pe,t._t=de,t._q=A,t._i=S,t._m=ge,t._f=he,t._k=me,t._b=ye,t._v=mt,t._e=vt,t._u=$e,t._g=xe,t._d=ke,t._p=Ce}function Ae(t,e,n,o,r){var i,a=this,s=r.options;p(o,"_uid")?(i=Object.create(o))._original=o:o=(i=o)._original;var r=O(s._compiled),c=!r;this.data=t,this.props=e,this.children=n,this.parent=o,this.listeners=t.on||d,this.injections=ce(s.inject,o),this.slots=function(){return a.$slots||fe(t.scopedSlots,a.$slots=le(n,o)),a.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return fe(t.scopedSlots,this.slots())}}),r&&(this.$options=s,this.$slots=this.slots(),this.$scopedSlots=fe(t.scopedSlots,this.$slots)),s._scopeId?this._c=function(t,e,n,r){r=Le(i,t,e,n,r,c);return r&&!Array.isArray(r)&&(r.fnScopeId=s._scopeId,r.fnContext=o),r}:this._c=function(t,e,n,r){return Le(i,t,e,n,r,c)}}function Se(t,e,n,r){t=yt(t);return t.fnContext=n,t.fnOptions=r,e.slot&&((t.data||(t.data={})).slot=e.slot),t}function Te(t,e){for(var n in e)t[m(n)]=e[n]}Oe(Ae.prototype);var je={init:function(t,e){var n,r,o;t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive?je.prepatch(t,t):(t.componentInstance=(r={_isComponent:!0,_parentVnode:n=t,parent:We},I(o=n.data.inlineTemplate)&&(r.render=o.render,r.staticRenderFns=o.staticRenderFns),new n.componentOptions.Ctor(r))).$mount(e?t.elm:void 0,e)},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,r,o){var i=r.data.scopedSlots,a=t.$scopedSlots,a=!!(i&&!i.$stable||a!==d&&!a.$stable||i&&t.$scopedSlots.$key!==i.$key),i=!!(o||t.$options._renderChildren||a);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=o,t.$attrs=r.data.attrs||d,t.$listeners=n||d,e&&t.$options.props){xt(!1);for(var s=t._props,c=t.$options._propKeys||[],l=0;l<c.length;l++){var u=c[l],f=t.$options.props;s[u]=Nt(u,f,e,t)}xt(!0),t.$options.propsData=e}n=n||d;a=t.$options._parentListeners;t.$options._parentListeners=n,Ve(t,n,a),i&&(t.$slots=le(o,r.context),t.$forceUpdate())}(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Ke(n,"mounted")),t.data.keepAlive&&(e._isMounted?(n._inactive=!1,Ye.push(n)):Ge(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?function t(e,n){if(!(n&&(e._directInactive=!0,Je(e))||e._inactive)){e._inactive=!0;for(var r=0;r<e.$children.length;r++)t(e.$children[r]);Ke(e,"deactivated")}}(e,!0):e.$destroy())}},Ee=Object.keys(je);function Me(a,s,t,e,n){if(!P(a)){var r,o=t.$options._base;if(L(a)&&(a=o.extend(a)),"function"==typeof a){if(P(a.cid)&&void 0===(a=function(e,n){if(O(e.error)&&I(e.errorComp))return e.errorComp;if(I(e.resolved))return e.resolved;var t=De;if(t&&I(e.owners)&&-1===e.owners.indexOf(t)&&e.owners.push(t),O(e.loading)&&I(e.loadingComp))return e.loadingComp;if(t&&!I(e.owners)){var r=e.owners=[t],o=!0,i=null,a=null;t.$on("hook:destroyed",function(){return v(r,t)});var s=function(t){for(var e=0,n=r.length;e<n;e++)r[e].$forceUpdate();t&&(r.length=0,null!==i&&(clearTimeout(i),i=null),null!==a&&(clearTimeout(a),a=null))},c=D(function(t){e.resolved=Fe(t,n),o?r.length=0:s(!0)}),l=D(function(t){I(e.errorComp)&&(e.error=!0,s(!0))}),u=e(c,l);return L(u)&&(h(u)?P(e.resolved)&&u.then(c,l):h(u.component)&&(u.component.then(c,l),I(u.error)&&(e.errorComp=Fe(u.error,n)),I(u.loading)&&(e.loadingComp=Fe(u.loading,n),0===u.delay?e.loading=!0:i=setTimeout(function(){i=null,P(e.resolved)&&P(e.error)&&(e.loading=!0,s(!1))},u.delay||200)),I(u.timeout)&&(a=setTimeout(function(){a=null,P(e.resolved)&&l(null)},u.timeout)))),o=!1,e.loading?e.loadingComp:e.resolved}}(r=a,o)))return c=r,l=s,u=t,o=e,f=n,(p=vt()).asyncFactory=c,p.asyncMeta={data:l,context:u,children:o,tag:f},p;s=s||{},gn(a),I(s.model)&&function(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[n]=e.model.value;t=e.on||(e.on={}),n=t[r],e=e.model.callback;I(n)?(Array.isArray(n)?-1===n.indexOf(e):n!==e)&&(t[r]=[e].concat(n)):t[r]=e}(a.options,s);f=function(){var t=a.options.props;if(!P(t)){var e={},n=s.attrs,r=s.props;if(I(n)||I(r))for(var o in t){var i=g(o);ie(e,r,o,i,!0)||ie(e,n,o,i,!1)}return e}}();if(O(a.options.functional))return function(t,e,n,r,o){var i=t.options,a={},s=i.props;if(I(s))for(var c in s)a[c]=Nt(c,s,e||d);else I(n.attrs)&&Te(a,n.attrs),I(n.props)&&Te(a,n.props);var l=new Ae(n,a,o,r,t),t=i.render.call(null,l._c,l);if(t instanceof dt)return Se(t,n,l.parent,i);if(Array.isArray(t)){for(var u=ae(t)||[],f=new Array(u.length),p=0;p<u.length;p++)f[p]=Se(u[p],n,l.parent,i);return f}}(a,f,s,t,e);p=s.on;s.on=s.nativeOn,O(a.options.abstract)&&(i=s.slot,s={},i&&(s.slot=i)),function(){for(var t=s.hook||(s.hook={}),e=0;e<Ee.length;e++){var n=Ee[e],r=t[n],o=je[n];r===o||r&&r._merged||(t[n]=r?function(n,r){function t(t,e){n(t,e),r(t,e)}return t._merged=!0,t}(o,r):o)}}();var i=a.options.name||n;return new dt("vue-component-"+a.cid+(i?"-"+i:""),s,void 0,void 0,void 0,t,{Ctor:a,propsData:f,listeners:p,tag:n,children:e},r)}}var c,l,u,f,p}var Pe=1,Ie=2;function Le(t,e,n,r,o,i){return(Array.isArray(n)||l(n))&&(o=r,r=n,n=void 0),O(i)&&(o=Ie),t=t,e=e,r=r,o=o,I(n=n)&&I(n.__ob__)?vt():(I(n)&&I(n.is)&&(e=n.is),e?(Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0),o===Ie?r=ae(r):o===Pe&&(r=function(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}(r)),r="string"==typeof e?(a=t.$vnode&&t.$vnode.ns||M.getTagNamespace(e),M.isReservedTag(e)?new dt(M.parsePlatformTagName(e),n,r,void 0,void 0,t):n&&n.pre||!I(s=Lt(t.$options,"components",e))?new dt(e,n,r,void 0,void 0,t):Me(s,n,t,r,e)):Me(e,n,t,r),Array.isArray(r)?r:I(r)?(I(a)&&function t(e,n,r){if(e.ns=n,"foreignObject"===e.tag&&(r=!(n=void 0)),I(e.children))for(var o=0,i=e.children.length;o<i;o++){var a=e.children[o];I(a.tag)&&(P(a.ns)||O(r)&&"svg"!==a.tag)&&t(a,n,r)}}(r,a),I(n)&&(L((n=n).style)&&te(n.style),L(n.class)&&te(n.class)),r):vt()):vt());var a,s}var Ne,De=null;function Fe(t,e){return(t.__esModule||it&&"Module"===t[Symbol.toStringTag])&&(t=t.default),L(t)?e.extend(t):t}function Re(t){return t.isComment&&t.asyncFactory}function ze(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(I(n)&&(I(n.componentOptions)||Re(n)))return n}}function He(t,e){Ne.$on(t,e)}function Ue(t,e){Ne.$off(t,e)}function Be(e,n){var r=Ne;return function t(){null!==n.apply(null,arguments)&&r.$off(e,t)}}function Ve(t,e,n){re(e,n||{},He,Ue,Be,Ne=t),Ne=void 0}var We=null;function qe(t){var e=We;return We=t,function(){We=e}}function Je(t){for(;t=t&&t.$parent;)if(t._inactive)return 1}function Ge(t,e){if(e){if(t._directInactive=!1,Je(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)Ge(t.$children[n]);Ke(t,"activated")}}function Ke(t,e){ft();var n=t.$options[e],r=e+" hook";if(n)for(var o=0,i=n.length;o<i;o++)Ht(n[o],t,null,t,r);t._hasHookEvent&&t.$emit("hook:"+e),pt()}var Xe,Qe=[],Ye=[],Ze={},tn=!1,en=!1,nn=0,rn=0,on=Date.now;function an(){var t,e;for(rn=on(),en=!0,Qe.sort(function(t,e){return t.id-e.id}),nn=0;nn<Qe.length;nn++)(t=Qe[nn]).before&&t.before(),e=t.id,Ze[e]=null,t.run();var n=Ye.slice(),r=Qe.slice();nn=Qe.length=Ye.length=0,tn=en=!(Ze={}),function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,Ge(t[e],!0)}(n),function(t){for(var e=t.length;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&!r._isDestroyed&&Ke(r,"updated")}}(r),nt&&M.devtools&&nt.emit("flush")}function sn(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++cn,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ot,this.newDepIds=new ot,this.expression="","function"==typeof e?this.getter=e:(this.getter=function(t){if(!H.test(t)){var n=t.split(".");return function(t){for(var e=0;e<n.length;e++){if(!t)return;t=t[n[e]]}return t}}}(e),this.getter||(this.getter=$)),this.value=this.lazy?void 0:this.get()}!B||J||(Xe=window.performance)&&"function"==typeof Xe.now&&on()>document.createEvent("Event").timeStamp&&(on=function(){return Xe.now()});var cn=0;sn.prototype.get=function(){var t;ft(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;zt(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&te(t),pt(),this.cleanupDeps()}return t},sn.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},sn.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},sn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(t){var e=t.id;if(null==Ze[e]){if(Ze[e]=!0,en){for(var n=Qe.length-1;nn<n&&Qe[n].id>t.id;)n--;Qe.splice(n+1,0,t)}else Qe.push(t);tn||(tn=!0,Yt(an))}}(this)},sn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||L(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){zt(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},sn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},sn.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},sn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||v(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var ln={enumerable:!0,configurable:!0,get:$,set:$};function un(t,e,n){ln.get=function(){return this[e][n]},ln.set=function(t){this[e][n]=t},Object.defineProperty(t,n,ln)}var fn={lazy:!0};function pn(t,e,n){var r=!et();"function"==typeof n?(ln.get=r?dn(e):hn(n),ln.set=$):(ln.get=n.get?r&&!1!==n.cache?dn(e):hn(n.get):$,ln.set=n.set||$),Object.defineProperty(t,e,ln)}function dn(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),lt.target&&t.depend(),t.value}}function hn(t){return function(){return t.call(this,this)}}function vn(t,e,n,r){return c(n)&&(n=(r=n).handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}var mn,yn=0;function gn(o){var t,e,n=o.options;return!o.super||(t=gn(o.super))!==o.superOptions&&(o.superOptions=t,(e=function(){var t,e,n=o.options,r=o.sealedOptions;for(e in n)n[e]!==r[e]&&((t=t||{})[e]=n[e]);return t}())&&w(o.extendOptions,e),(n=o.options=It(t,o.extendOptions)).name&&(n.components[n.name]=o)),n}function _n(t){this._init(t)}function bn(t){return t&&(t.Ctor.options.name||t.tag)}function wn(t,e){return Array.isArray(t)?-1<t.indexOf(e):"string"==typeof t?-1<t.split(",").indexOf(e):"[object RegExp]"===n.call(t)&&t.test(e)}function xn(t,e){var n,r=t.cache,o=t.keys,i=t._vnode;for(n in r){var a=r[n];!a||(a=bn(a.componentOptions))&&!e(a)&&$n(r,n,o,i)}}function $n(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,v(n,e)}_n.prototype._init=function(t){var e,n,r=this;r._uid=yn++,r._isVue=!0,t&&t._isComponent?function(t){var e=r.$options=Object.create(r.constructor.options),n=t._parentVnode;e.parent=t.parent;n=(e._parentVnode=n).componentOptions;e.propsData=n.propsData,e._parentListeners=n.listeners,e._renderChildren=n.children,e._componentTag=n.tag,t.render&&(e.render=t.render,e.staticRenderFns=t.staticRenderFns)}(t):r.$options=It(gn(r.constructor),t||{},r),function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}((r._renderProxy=r)._self=r),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ve(t,e)}(r),function(o){o._vnode=null,o._staticTrees=null;var t=o.$options,e=o.$vnode=t._parentVnode,n=e&&e.context;o.$slots=le(t._renderChildren,n),o.$scopedSlots=d,o._c=function(t,e,n,r){return Le(o,t,e,n,r,!1)},o.$createElement=function(t,e,n,r){return Le(o,t,e,n,r,!0)};e=e&&e.data;Ct(o,"$attrs",e&&e.attrs||d,null,!0),Ct(o,"$listeners",t._parentListeners||d,null,!0)}(r),Ke(r,"beforeCreate"),(n=ce((e=r).$options.inject,e))&&(xt(!1),Object.keys(n).forEach(function(t){Ct(e,t,n[t])}),xt(!0)),function(t){t._watchers=[];var e=t.$options;e.props&&function(n,r){var t,o=n.$options.propsData||{},i=n._props={},a=n.$options._propKeys=[];for(t in n.$parent&&xt(!1),r)!function(t){a.push(t);var e=Nt(t,r,o,n);Ct(i,t,e),t in n||un(n,"_props",t)}(t);xt(!0)}(t,e.props),e.methods&&function(t,e){for(var n in t.$options.props,e)t[n]="function"!=typeof e[n]?$:_(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;c(e=t._data="function"==typeof e?function(t,e){ft();try{return t.call(e,e)}catch(t){return zt(t,e,"data()"),{}}finally{pt()}}(e,t):e||{})||(e={});for(var n,r=Object.keys(e),o=t.$options.props,i=(t.$options.methods,r.length);i--;){var a=r[i];o&&p(o,a)||36!==(n=(a+"").charCodeAt(0))&&95!==n&&un(t,"_data",a)}kt(e,!0)}(t):kt(t._data={},!0),e.computed&&function(t,e){var n,r=t._computedWatchers=Object.create(null),o=et();for(n in e){var i=e[n],a="function"==typeof i?i:i.get;o||(r[n]=new sn(t,a||$,$,fn)),n in t||pn(t,n,i)}}(t,e.computed),e.watch&&e.watch!==Y&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)vn(t,n,r[o]);else vn(t,n,r)}}(t,e.watch)}(r),(t=r.$options.provide)&&(r._provided="function"==typeof t?t.call(r):t),Ke(r,"created"),r.$options.el&&r.$mount(r.$options.el)},W=_n,Object.defineProperty(W.prototype,"$data",{get:function(){return this._data}}),Object.defineProperty(W.prototype,"$props",{get:function(){return this._props}}),W.prototype.$set=Ot,W.prototype.$delete=At,W.prototype.$watch=function(t,e,n){if(c(e))return vn(this,t,e,n);(n=n||{}).user=!0;var r=new sn(this,t,e,n);if(n.immediate)try{e.call(this,r.value)}catch(t){zt(t,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}},mn=/^hook:/,(q=_n).prototype.$on=function(t,e){var n=this;if(Array.isArray(t))for(var r=0,o=t.length;r<o;r++)n.$on(t[r],e);else(n._events[t]||(n._events[t]=[])).push(e),mn.test(t)&&(n._hasHookEvent=!0);return n},q.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},q.prototype.$off=function(t,e){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(t)){for(var r=0,o=t.length;r<o;r++)n.$off(t[r],e);return n}var i,a=n._events[t];if(!a)return n;if(!e)return n._events[t]=null,n;for(var s=a.length;s--;)if((i=a[s])===e||i.fn===e){a.splice(s,1);break}return n},q.prototype.$emit=function(t){var e=this._events[t];if(e){e=1<e.length?b(e):e;for(var n=b(arguments,1),r='event handler for "'+t+'"',o=0,i=e.length;o<i;o++)Ht(e[o],this,n,this,r)}return this},(ht=_n).prototype._update=function(t,e){var n=this,r=n.$el,o=n._vnode,i=qe(n);n._vnode=t,n.$el=o?n.__patch__(o,t):n.__patch__(n.$el,t,e,!1),i(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},ht.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},ht.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Ke(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||v(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Ke(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}},Oe((E=_n).prototype),E.prototype.$nextTick=function(t){return Yt(t,this)},E.prototype._render=function(){var t,e=this,n=e.$options,r=n.render,o=n._parentVnode;o&&(e.$scopedSlots=fe(o.data.scopedSlots,e.$slots,e.$scopedSlots)),e.$vnode=o;try{De=e,t=r.call(e._renderProxy,e.$createElement)}catch(n){zt(n,e,"render"),t=e._vnode}finally{De=null}return Array.isArray(t)&&1===t.length&&(t=t[0]),t instanceof dt||(t=vt()),t.parent=o,t};var kn,Cn,On=[String,RegExp,Array],W={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:On,exclude:On,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)$n(this.cache,t,this.keys)},mounted:function(){var t=this;this.$watch("include",function(e){xn(t,function(t){return wn(e,t)})}),this.$watch("exclude",function(e){xn(t,function(t){return!wn(e,t)})})},render:function(){var t=this.$slots.default,e=ze(t),n=e&&e.componentOptions;if(n){var r=bn(n),o=this.include,i=this.exclude;if(o&&(!r||!wn(o,r))||i&&r&&wn(i,r))return e;i=this.cache,r=this.keys,n=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;i[n]?(e.componentInstance=i[n].componentInstance,v(r,n),r.push(n)):(i[n]=e,r.push(n),this.max&&r.length>parseInt(this.max)&&$n(i,r[0],r,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};function An(t,e,n){return"value"===n&&Sn(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t}kn=_n,q={get:function(){return M}},Object.defineProperty(kn,"config",q),kn.util={warn:st,extend:w,mergeOptions:It,defineReactive:Ct},kn.set=Ot,kn.delete=At,kn.nextTick=Yt,kn.observable=function(t){return kt(t),t},kn.options=Object.create(null),j.forEach(function(t){kn.options[t+"s"]=Object.create(null)}),w((kn.options._base=kn).options.components,W),kn.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(-1<e.indexOf(t))return this;var n=b(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this},kn.mixin=function(t){return this.options=It(this.options,t),this},function(t){t.cid=0;var a=1;t.extend=function(t){t=t||{};var e=this,n=e.cid,r=t._Ctor||(t._Ctor={});if(r[n])return r[n];function o(t){this._init(t)}var i=t.name||e.options.name;return((o.prototype=Object.create(e.prototype)).constructor=o).cid=a++,o.options=It(e.options,t),o.super=e,o.options.props&&function(t){for(var e in t.options.props)un(t.prototype,"_props",e)}(o),o.options.computed&&function(t){var e,n=t.options.computed;for(e in n)pn(t.prototype,e,n[e])}(o),o.extend=e.extend,o.mixin=e.mixin,o.use=e.use,j.forEach(function(t){o[t]=e[t]}),i&&(o.options.components[i]=o),o.superOptions=e.options,o.extendOptions=t,o.sealedOptions=w({},o.options),r[n]=o}}(kn),Cn=kn,j.forEach(function(n){Cn[n]=function(t,e){return e?("component"===n&&c(e)&&(e.name=e.name||t,e=this.options._base.extend(e)),"directive"===n&&"function"==typeof e&&(e={bind:e,update:e}),this.options[n+"s"][t]=e):this.options[n+"s"][t]}}),Object.defineProperty(_n.prototype,"$isServer",{get:et}),Object.defineProperty(_n.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(_n,"FunctionalRenderContext",{value:Ae}),_n.version="2.6.10";var ht=a("style,class"),Sn=a("input,textarea,option,select,progress"),Tn=a("contenteditable,draggable,spellcheck"),jn=a("events,caret,typing,plaintext-only"),En=function(t,e){return Nn(e)||"false"===e?"false":"contenteditable"===t&&jn(e)?e:"true"},Mn=a("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Pn="http://www.w3.org/1999/xlink",In=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Ln=function(t){return In(t)?t.slice(6,t.length):""},Nn=function(t){return null==t||!1===t};function Dn(t,e){return{staticClass:Fn(t.staticClass,e.staticClass),class:I(t.class)?[t.class,e.class]:e.class}}function Fn(t,e){return t?e?t+" "+e:t:e||""}function Rn(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r<o;r++)I(e=Rn(t[r]))&&""!==e&&(n&&(n+=" "),n+=e);return n}(t):L(t)?function(t){var e,n="";for(e in t)t[e]&&(n&&(n+=" "),n+=e);return n}(t):"string"==typeof t?t:""}function zn(t){return Un(t)||Bn(t)}var Hn={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Un=a("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Bn=a("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0);function Vn(t){return Bn(t)?"svg":"math"===t?"math":void 0}var Wn=Object.create(null),qn=a("text,number,password,search,email,tel,url");function Jn(t){return"string"!=typeof t?t:document.querySelector(t)||document.createElement("div")}E=Object.freeze({createElement:function(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n},createElementNS:function(t,e){return document.createElementNS(Hn[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,"")}}),On={create:function(t,e){Gn(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Gn(t,!0),Gn(e))},destroy:function(t){Gn(t,!0)}};function Gn(t,e){var n,r,o=t.data.ref;I(o)&&(r=t.context,n=t.componentInstance||t.elm,r=r.$refs,e?Array.isArray(r[o])?v(r[o],n):r[o]===n&&(r[o]=void 0):t.data.refInFor?Array.isArray(r[o])?r[o].indexOf(n)<0&&r[o].push(n):r[o]=[n]:r[o]=n)}var Kn=new dt("",{},[]),Xn=["create","activate","update","remove","destroy"];function Qn(n,r){return n.key===r.key&&(n.tag===r.tag&&n.isComment===r.isComment&&I(n.data)===I(r.data)&&function(){if("input"!==n.tag)return 1;var t=I(e=n.data)&&I(e=e.attrs)&&e.type,e=I(e=r.data)&&I(e=e.attrs)&&e.type;return t===e||qn(t)&&qn(e)}()||O(n.isAsyncPlaceholder)&&n.asyncFactory===r.asyncFactory&&P(r.asyncFactory.error))}q={create:Yn,update:Yn,destroy:function(t){Yn(t,Kn)}};function Yn(t,e){(t.data.directives||e.data.directives)&&function(e,n){var t,r,o,i,a=e===Kn,s=n===Kn,c=tr(e.data.directives,e.context),l=tr(n.data.directives,n.context),u=[],f=[];for(t in l)r=c[t],o=l[t],r?(o.oldValue=r.value,o.oldArg=r.arg,er(o,"update",n,e),o.def&&o.def.componentUpdated&&f.push(o)):(er(o,"bind",n,e),o.def&&o.def.inserted&&u.push(o));if(u.length&&(i=function(){for(var t=0;t<u.length;t++)er(u[t],"inserted",n,e)},a?oe(n,"insert",i):i()),f.length&&oe(n,"postpatch",function(){for(var t=0;t<f.length;t++)er(f[t],"componentUpdated",n,e)}),!a)for(t in c)l[t]||er(c[t],"unbind",e,e,s)}(t,e)}var Zn=Object.create(null);function tr(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<t.length;n++)(r=t[n]).modifiers||(r.modifiers=Zn),(o[r.rawName||r.name+"."+Object.keys(r.modifiers||{}).join(".")]=r).def=Lt(e.$options,"directives",r.name);return o}function er(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){zt(r,n.context,"directive "+t.name+" "+e+" hook")}}st=[On,q];function nr(t,e){var n=e.componentOptions;if(!(I(n)&&!1===n.Ctor.options.inheritAttrs||P(t.data.attrs)&&P(e.data.attrs))){var r,o,i=e.elm,a=t.data.attrs||{},s=e.data.attrs||{};for(r in I(s.__ob__)&&(s=e.data.attrs=w({},s)),s)o=s[r],a[r]!==o&&rr(i,r,o);for(r in(J||K)&&s.value!==a.value&&rr(i,"value",s.value),a)P(s[r])&&(In(r)?i.removeAttributeNS(Pn,Ln(r)):Tn(r)||i.removeAttribute(r))}}function rr(t,e,n){-1<t.tagName.indexOf("-")?or(t,e,n):Mn(e)?Nn(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Tn(e)?t.setAttribute(e,En(e,n)):In(e)?Nn(n)?t.removeAttributeNS(Pn,Ln(e)):t.setAttributeNS(Pn,e,n):or(t,e,n)}function or(e,t,n){var r;Nn(n)?e.removeAttribute(t):(!J||G||"TEXTAREA"!==e.tagName||"placeholder"!==t||""===n||e.__ieph||(r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)},e.addEventListener("input",r),e.__ieph=!0),e.setAttribute(t,n))}W={create:nr,update:nr};function ir(t,i){var e=i.elm,n=i.data,t=t.data;P(n.staticClass)&&P(n.class)&&(P(t)||P(t.staticClass)&&P(t.class))||(n=function(){for(var t,e,n=i.data,r=i,o=i;I(o.componentInstance);)(o=o.componentInstance._vnode)&&o.data&&(n=Dn(o.data,n));for(;I(r=r.parent);)r&&r.data&&(n=Dn(n,r.data));return t=n.staticClass,e=n.class,I(t)||I(e)?Fn(t,Rn(e)):""}(),I(t=e._transitionClasses)&&(n=Fn(n,Rn(t))),n!==e._prevClass&&(e.setAttribute("class",n),e._prevClass=n))}var ar,sr,cr,lr,ur,fr,On={create:ir,update:ir},pr=/[\w).+\-_$\]]/;function dr(t){for(var e,n,r,o,i=!1,a=!1,s=!1,c=!1,l=0,u=0,f=0,p=0,d=0;d<t.length;d++)if(n=e,e=t.charCodeAt(d),i)39===e&&92!==n&&(i=!1);else if(a)34===e&&92!==n&&(a=!1);else if(s)96===e&&92!==n&&(s=!1);else if(c)47===e&&92!==n&&(c=!1);else if(124!==e||124===t.charCodeAt(d+1)||124===t.charCodeAt(d-1)||l||u||f){switch(e){case 34:a=!0;break;case 39:i=!0;break;case 96:s=!0;break;case 40:f++;break;case 41:f--;break;case 91:u++;break;case 93:u--;break;case 123:l++;break;case 125:l--}if(47===e){for(var h=d-1,v=void 0;0<=h&&" "===(v=t.charAt(h));h--);v&&pr.test(v)||(c=!0)}}else void 0===r?(p=d+1,r=t.slice(0,d).trim()):m();function m(){(o=o||[]).push(t.slice(p,d).trim()),p=d+1}if(void 0===r?r=t.slice(0,d).trim():0!==p&&m(),o)for(d=0;d<o.length;d++)r=function(t,e){var n=e.indexOf("(");if(n<0)return'_f("'+e+'")('+t+")";var r=e.slice(0,n),n=e.slice(n+1);return'_f("'+r+'")('+t+(")"!==n?","+n:n)}(r,o[d]);return r}function hr(t,e){console.error("[Vue compiler]: "+t)}function vr(t,e){return t?t.map(function(t){return t[e]}).filter(function(t){return t}):[]}function mr(t,e,n,r,o){(t.props||(t.props=[])).push(kr({name:e,value:n,dynamic:o},r)),t.plain=!1}function yr(t,e,n,r,o){(o?t.dynamicAttrs||(t.dynamicAttrs=[]):t.attrs||(t.attrs=[])).push(kr({name:e,value:n,dynamic:o},r)),t.plain=!1}function gr(t,e,n,r){t.attrsMap[e]=n,t.attrsList.push(kr({name:e,value:n},r))}function _r(t,e,n){return n?"_p("+e+',"'+t+'")':t+e}function br(t,e,n,r,o,i,a,s){var c;(r=r||d).right?s?e="("+e+")==='click'?'contextmenu':("+e+")":"click"===e&&(e="contextmenu",delete r.right):r.middle&&(s?e="("+e+")==='click'?'mouseup':("+e+")":"click"===e&&(e="mouseup")),r.capture&&(delete r.capture,e=_r("!",e,s)),r.once&&(delete r.once,e=_r("~",e,s)),r.passive&&(delete r.passive,e=_r("&",e,s)),c=r.native?(delete r.native,t.nativeEvents||(t.nativeEvents={})):t.events||(t.events={});a=kr({value:n.trim(),dynamic:s},a);r!==d&&(a.modifiers=r);r=c[e];Array.isArray(r)?o?r.unshift(a):r.push(a):c[e]=r?o?[a,r]:[r,a]:a,t.plain=!1}function wr(t,e,n){var r=xr(t,":"+e)||xr(t,"v-bind:"+e);if(null!=r)return dr(r);if(!1!==n){e=xr(t,e);if(null!=e)return JSON.stringify(e)}}function xr(t,e,n){var r;if(null!=(r=t.attrsMap[e]))for(var o=t.attrsList,i=0,a=o.length;i<a;i++)if(o[i].name===e){o.splice(i,1);break}return n&&delete t.attrsMap[e],r}function $r(t,e){for(var n=t.attrsList,r=0,o=n.length;r<o;r++){var i=n[r];if(e.test(i.name))return n.splice(r,1),i}}function kr(t,e){return e&&(null!=e.start&&(t.start=e.start),null!=e.end&&(t.end=e.end)),t}function Cr(t,e,n){var r=n||{},n=r.trim?"(typeof $$v === 'string'? $$v.trim(): $$v)":"$$v";r.number&&(n="_n("+n+")");n=Or(e,n);t.model={value:"("+e+")",expression:JSON.stringify(e),callback:"function ($$v) {"+n+"}"}}function Or(t,e){var n=function(t){if(t=t.trim(),ar=t.length,t.indexOf("[")<0||t.lastIndexOf("]")<ar-1)return-1<(lr=t.lastIndexOf("."))?{exp:t.slice(0,lr),key:'"'+t.slice(lr+1)+'"'}:{exp:t,key:null};for(sr=t,lr=ur=fr=0;!Sr();)Tr(cr=Ar())?jr(cr):91===cr&&function(t){var e=1;for(ur=lr;!Sr();)if(Tr(t=Ar()))jr(t);else if(91===t&&e++,93===t&&e--,0===e){fr=lr;break}}(cr);return{exp:t.slice(0,ur),key:t.slice(ur+1,fr)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function Ar(){return sr.charCodeAt(++lr)}function Sr(){return ar<=lr}function Tr(t){return 34===t||39===t}function jr(t){for(var e=t;!Sr()&&(t=Ar())!==e;);}var Er;function Mr(e,n,r){var o=Er;return function t(){null!==n.apply(null,arguments)&&Lr(e,t,r,o)}}var Pr=Gt&&!(Q&&Number(Q[1])<=53);function Ir(t,e,n,r){var o,i;Pr&&(o=rn,e=(i=e)._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}),Er.addEventListener(t,e,Z?{capture:n,passive:r}:n)}function Lr(t,e,n,r){(r||Er).removeEventListener(t,e._wrapper||e,n)}function Nr(t,e){var n,r,o;P(t.data.on)&&P(e.data.on)||(n=e.data.on||{},r=t.data.on||{},Er=e.elm,I((o=n).__r)&&(o[t=J?"change":"input"]=[].concat(o.__r,o[t]||[]),delete o.__r),I(o.__c)&&(o.change=[].concat(o.__c,o.change||[]),delete o.__c),re(n,r,Ir,Lr,Mr,e.context),Er=void 0)}var Dr,q={create:Nr,update:Nr};function Fr(t,e){if(!P(t.data.domProps)||!P(e.data.domProps)){var n,r,o=e.elm,i=t.data.domProps||{},a=e.data.domProps||{};for(n in I(a.__ob__)&&(a=e.data.domProps=w({},a)),i)n in a||(o[n]="");for(n in a){if(r=a[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===i[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){var s=P(o._value=r)?"":String(r),c=s;(u=o).composing||"OPTION"!==u.tagName&&!function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(u,c)&&!function(t){var e=u.value,n=u._vModifiers;if(I(n)){if(n.number)return N(e)!==N(t);if(n.trim)return e.trim()!==t.trim()}return e!==t}(c)||(o.value=s)}else if("innerHTML"===n&&Bn(o.tagName)&&P(o.innerHTML)){(Dr=Dr||document.createElement("div")).innerHTML="<svg>"+r+"</svg>";for(var l=Dr.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;l.firstChild;)o.appendChild(l.firstChild)}else if(r!==i[n])try{o[n]=r}catch(t){}}}var u,c}var Gt={create:Fr,update:Fr},Rr=t(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){!t||1<(t=t.split(n)).length&&(e[t[0].trim()]=t[1].trim())}),e});function zr(t){var e=Hr(t.style);return t.staticStyle?w(t.staticStyle,e):e}function Hr(t){return Array.isArray(t)?x(t):"string"==typeof t?Rr(t):t}function Ur(t,e,n){if(Vr.test(e))t.style.setProperty(e,n);else if(Wr.test(n))t.style.setProperty(g(e),n.replace(Wr,""),"important");else{var r=Jr(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}}var Br,Vr=/^--/,Wr=/\s*!important$/,qr=["Webkit","Moz","ms"],Jr=t(function(t){if(Br=Br||document.createElement("div").style,"filter"!==(t=m(t))&&t in Br)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<qr.length;n++){var r=qr[n]+e;if(r in Br)return r}});function Gr(t,e){var n=e.data,t=t.data;if(!(P(n.staticStyle)&&P(n.style)&&P(t.staticStyle)&&P(t.style))){var r,o,i=e.elm,n=t.staticStyle,t=t.normalizedStyle||t.style||{},a=n||t,t=Hr(e.data.style)||{};e.data.normalizedStyle=I(t.__ob__)?w({},t):t;var s=function(t){for(var e,n={},r=t;r.componentInstance;)(r=r.componentInstance._vnode)&&r.data&&(e=zr(r.data))&&w(n,e);(e=zr(t.data))&&w(n,e);for(var o=t;o=o.parent;)o.data&&(e=zr(o.data))&&w(n,e);return n}(e);for(o in a)P(s[o])&&Ur(i,o,"");for(o in s)(r=s[o])!==a[o]&&Ur(i,o,null==r?"":r)}}var Q={create:Gr,update:Gr},Kr=/\s+/;function Xr(e,t){var n;(t=t&&t.trim())&&(e.classList?-1<t.indexOf(" ")?t.split(Kr).forEach(function(t){return e.classList.add(t)}):e.classList.add(t):(n=" "+(e.getAttribute("class")||"")+" ").indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim()))}function Qr(e,t){if(t=t&&t.trim())if(e.classList)-1<t.indexOf(" ")?t.split(Kr).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";0<=n.indexOf(r);)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function Yr(t){if(t){if("object"!=typeof t)return"string"==typeof t?Zr(t):void 0;var e={};return!1!==t.css&&w(e,Zr(t.name||"v")),w(e,t),e}}var Zr=t(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),to=B&&!G,eo="transition",no="animation",ro="transition",oo="transitionend",io="animation",ao="animationend";to&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ro="WebkitTransition",oo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(io="WebkitAnimation",ao="webkitAnimationEnd"));var so=B?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function co(t){so(function(){so(t)})}function lo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Xr(t,e))}function uo(t,e){t._transitionClasses&&v(t._transitionClasses,e),Qr(t,e)}function fo(e,t,n){var r=ho(e,t),o=r.type,t=r.timeout,i=r.propCount;if(!o)return n();function a(){e.removeEventListener(s,l),n()}var s=o===eo?oo:ao,c=0,l=function(t){t.target===e&&++c>=i&&a()};setTimeout(function(){c<i&&a()},t+1),e.addEventListener(s,l)}var po=/\b(transform|all)(,|$)/;function ho(t,e){var n,r=window.getComputedStyle(t),o=(r[ro+"Delay"]||"").split(", "),i=(r[ro+"Duration"]||"").split(", "),a=vo(o,i),s=(r[io+"Delay"]||"").split(", "),c=(r[io+"Duration"]||"").split(", "),t=vo(s,c),o=0,s=0;return e===eo?0<a&&(n=eo,o=a,s=i.length):e===no?0<t&&(n=no,o=t,s=c.length):s=(n=0<(o=Math.max(a,t))?t<a?eo:no:null)?(n===eo?i:c).length:0,{type:n,timeout:o,propCount:s,hasTransform:n===eo&&po.test(r[ro+"Property"])}}function vo(n,t){for(;n.length<t.length;)n=n.concat(n);return Math.max.apply(null,t.map(function(t,e){return mo(t)+mo(n[e])}))}function mo(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function yo(e,t){var n=e.elm;I(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var r=Yr(e.data.transition);if(!P(r)&&!I(n._enterCb)&&1===n.nodeType){for(var o=r.css,i=r.type,a=r.enterClass,s=r.enterToClass,c=r.enterActiveClass,l=r.appearClass,u=r.appearToClass,f=r.appearActiveClass,p=r.beforeEnter,d=r.enter,h=r.afterEnter,v=r.enterCancelled,m=r.beforeAppear,y=r.appear,g=r.afterAppear,_=r.appearCancelled,b=r.duration,w=We,x=We.$vnode;x&&x.parent;)w=x.context,x=x.parent;var $,k,C,O,A,S,T,j,E,M,r=!w._isMounted||!e.isRootInsert;r&&!y&&""!==y||($=r&&l?l:a,k=r&&f?f:c,C=r&&u?u:s,p=r&&m||p,O=r&&"function"==typeof y?y:d,A=r&&g||h,S=r&&_||v,T=N(L(b)?b.enter:b),j=!1!==o&&!G,E=bo(O),M=n._enterCb=D(function(){j&&(uo(n,C),uo(n,k)),M.cancelled?(j&&uo(n,$),S&&S(n)):A&&A(n),n._enterCb=null}),e.data.show||oe(e,"insert",function(){var t=n.parentNode,t=t&&t._pending&&t._pending[e.key];t&&t.tag===e.tag&&t.elm._leaveCb&&t.elm._leaveCb(),O&&O(n,M)}),p&&p(n),j&&(lo(n,$),lo(n,k),co(function(){uo(n,$),M.cancelled||(lo(n,C),E||(_o(T)?setTimeout(M,T):fo(n,i,M)))})),e.data.show&&(t&&t(),O&&O(n,M)),j||E||M())}}function go(t,e){var n=t.elm;I(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var r,o,i,a,s,c,l,u,f,p,d,h,v,m,y=Yr(t.data.transition);if(P(y)||1!==n.nodeType)return e();function g(){m.cancelled||(!t.data.show&&n.parentNode&&((n.parentNode._pending||(n.parentNode._pending={}))[t.key]=t),c&&c(n),d&&(lo(n,i),lo(n,s),co(function(){uo(n,i),m.cancelled||(lo(n,a),h||(_o(v)?setTimeout(m,v):fo(n,o,m)))})),l&&l(n,m),d||h||m())}I(n._leaveCb)||(r=y.css,o=y.type,i=y.leaveClass,a=y.leaveToClass,s=y.leaveActiveClass,c=y.beforeLeave,l=y.leave,u=y.afterLeave,f=y.leaveCancelled,p=y.delayLeave,y=y.duration,d=!1!==r&&!G,h=bo(l),v=N(L(y)?y.leave:y),m=n._leaveCb=D(function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[t.key]=null),d&&(uo(n,a),uo(n,s)),m.cancelled?(d&&uo(n,i),f&&f(n)):(e(),u&&u(n)),n._leaveCb=null}),p?p(g):g())}function _o(t){return"number"==typeof t&&!isNaN(t)}function bo(t){if(P(t))return!1;var e=t.fns;return I(e)?bo(Array.isArray(e)?e[0]:e):1<(t._length||t.length)}function wo(t,e){!0!==e.data.show&&yo(e)}q=function(t){for(var e,h={},n=t.modules,g=t.nodeOps,r=0;r<Xn.length;++r)for(h[Xn[r]]=[],e=0;e<n.length;++e)I(n[e][Xn[r]])&&h[Xn[r]].push(n[e][Xn[r]]);function i(t){var e=g.parentNode(t);I(e)&&g.removeChild(e,t)}function _(t,e,n,r,o,i,a){I(t.elm)&&I(i)&&(t=i[a]=yt(t)),t.isRootInsert=!o,function(t,e,n,r){var o=t.data;if(I(o)){var i=I(t.componentInstance)&&o.keepAlive;return(I(o=o.hook)&&I(o=o.init)&&o(t,!1),I(t.componentInstance))?(d(t,e),s(n,t.elm,r),O(i)&&function(t,e,n,r){for(var o,i=t;i.componentInstance;)if(I(o=(i=i.componentInstance._vnode).data)&&I(o=o.transition)){for(o=0;o<h.activate.length;++o)h.activate[o](Kn,i);e.push(i);break}s(n,t.elm,r)}(t,e,n,r),1):void 0}}(t,e,n,r)||(i=t.data,a=t.children,I(o=t.tag)?(t.elm=t.ns?g.createElementNS(t.ns,o):g.createElement(o,t),c(t),v(t,a,e),I(i)&&m(t,e)):O(t.isComment)?t.elm=g.createComment(t.text):t.elm=g.createTextNode(t.text),s(n,t.elm,r))}function d(t,e){I(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,b(t)?(m(t,e),c(t)):(Gn(t),e.push(t))}function s(t,e,n){I(t)&&(I(n)?g.parentNode(n)===t&&g.insertBefore(t,e,n):g.appendChild(t,e))}function v(t,e,n){if(Array.isArray(e))for(var r=0;r<e.length;++r)_(e[r],n,t.elm,null,!0,e,r);else l(t.text)&&g.appendChild(t.elm,g.createTextNode(String(t.text)))}function b(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return I(t.tag)}function m(t,e){for(var n=0;n<h.create.length;++n)h.create[n](Kn,t);I(r=t.data.hook)&&(I(r.create)&&r.create(Kn,t),I(r.insert)&&e.push(t))}function c(t){var e;if(I(e=t.fnScopeId))g.setStyleScope(t.elm,e);else for(var n=t;n;)I(e=n.context)&&I(e=e.$options._scopeId)&&g.setStyleScope(t.elm,e),n=n.parent;I(e=We)&&e!==t.context&&e!==t.fnContext&&I(e=e.$options._scopeId)&&g.setStyleScope(t.elm,e)}function w(t,e,n,r,o,i){for(;r<=o;++r)_(n[r],i,t,e,!1,n,r)}function y(t){var e,n,r=t.data;if(I(r))for(I(e=r.hook)&&I(e=e.destroy)&&e(t),e=0;e<h.destroy.length;++e)h.destroy[e](t);if(I(e=t.children))for(n=0;n<t.children.length;++n)y(t.children[n])}function x(t,e,n,r){for(;n<=r;++n){var o=e[n];I(o)&&(I(o.tag)?(function t(e,n){if(I(n)||I(e.data)){var r,o=h.remove.length+1;for(I(n)?n.listeners+=o:n=function(t){function e(){0==--e.listeners&&i(t)}return e.listeners=o,e}(e.elm),I(r=e.componentInstance)&&I(r=r._vnode)&&I(r.data)&&t(r,n),r=0;r<h.remove.length;++r)h.remove[r](e,n);I(r=e.data.hook)&&I(r=r.remove)?r(e,n):n()}else i(e.elm)}(o),y(o)):i(o.elm))}}function $(t,e,n){if(O(n)&&I(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}var k=a("attrs,class,staticClass,staticStyle,key");function C(t,e,n,r){var o,i=e.tag,a=e.data,s=e.children;if(r=r||a&&a.pre,e.elm=t,O(e.isComment)&&I(e.asyncFactory))return e.isAsyncPlaceholder=!0;if(I(a)&&(I(o=a.hook)&&I(o=o.init)&&o(e,!0),I(o=e.componentInstance)))return d(e,n),1;if(I(i)){if(I(s))if(t.hasChildNodes())if(I(o=a)&&I(o=o.domProps)&&I(o=o.innerHTML)){if(o!==t.innerHTML)return}else{for(var c=!0,l=t.firstChild,u=0;u<s.length;u++){if(!l||!C(l,s[u],n,r)){c=!1;break}l=l.nextSibling}if(!c||l)return}else v(e,s,n);if(I(a)){var f,p=!1;for(f in a)if(!k(f)){p=!0,m(e,n);break}!p&&a.class&&te(a.class)}}else t.data!==e.text&&(t.data=e.text);return 1}return function(t,e,n,r){if(!P(e)){var o=!1,i=[];if(P(t))o=!0,_(e,i);else{var a=I(t.nodeType);if(!a&&Qn(t,e))!function m(t,e,n,r,o,y){if(t!==e){I(e.elm)&&I(r)&&(e=r[o]=yt(e));var i=e.elm=t.elm;if(O(t.isAsyncPlaceholder))I(e.asyncFactory.resolved)?C(t.elm,e,n):e.isAsyncPlaceholder=!0;else if(O(e.isStatic)&&O(t.isStatic)&&e.key===t.key&&(O(e.isCloned)||O(e.isOnce)))e.componentInstance=t.componentInstance;else{var a,s=e.data;I(s)&&I(a=s.hook)&&I(a=a.prepatch)&&a(t,e);r=t.children,o=e.children;if(I(s)&&b(e)){for(a=0;a<h.update.length;++a)h.update[a](t,e);I(a=s.hook)&&I(a=a.update)&&a(t,e)}P(e.text)?I(r)&&I(o)?r!==o&&function(t,e,n,r){for(var o,i,a,s=0,c=0,l=e.length-1,u=e[0],f=e[l],p=n.length-1,d=n[0],h=n[p],v=!y;s<=l&&c<=p;)P(u)?u=e[++s]:P(f)?f=e[--l]:Qn(u,d)?(m(u,d,r,n,c),u=e[++s],d=n[++c]):Qn(f,h)?(m(f,h,r,n,p),f=e[--l],h=n[--p]):Qn(u,h)?(m(u,h,r,n,p),v&&g.insertBefore(t,u.elm,g.nextSibling(f.elm)),u=e[++s],h=n[--p]):(Qn(f,d)?(m(f,d,r,n,c),v&&g.insertBefore(t,f.elm,u.elm),f=e[--l]):(P(o)&&(o=function(t,e,n){for(var r,o={},i=e;i<=n;++i)I(r=t[i].key)&&(o[r]=i);return o}(e,s,l)),!P(i=I(d.key)?o[d.key]:function(t,e,n,r){for(var o=n;o<r;o++){var i=e[o];if(I(i)&&Qn(t,i))return o}}(d,e,s,l))&&Qn(a=e[i],d)?(m(a,d,r,n,c),e[i]=void 0,v&&g.insertBefore(t,a.elm,u.elm)):_(d,r,t,u.elm,!1,n,c)),d=n[++c]);l<s?w(t,P(n[p+1])?null:n[p+1].elm,n,c,p,r):p<c&&x(0,e,s,l)}(i,r,o,n):I(o)?(I(t.text)&&g.setTextContent(i,""),w(i,null,o,0,o.length-1,n)):I(r)?x(0,r,0,r.length-1):I(t.text)&&g.setTextContent(i,""):t.text!==e.text&&g.setTextContent(i,e.text),I(s)&&I(a=s.hook)&&I(a=a.postpatch)&&a(t,e)}}}(t,e,i,null,null,r);else{if(a){if(1===t.nodeType&&t.hasAttribute(T)&&(t.removeAttribute(T),n=!0),O(n)&&C(t,e,i))return $(e,i,!0),t;s=t,t=new dt(g.tagName(s).toLowerCase(),{},[],void 0,s)}var n=t.elm,s=g.parentNode(n);if(_(e,i,n._leaveCb?null:s,g.nextSibling(n)),I(e.parent))for(var c=e.parent,l=b(e);c;){for(var u=0;u<h.destroy.length;++u)h.destroy[u](c);if(c.elm=e.elm,l){for(var f=0;f<h.create.length;++f)h.create[f](Kn,c);var p=c.data.hook.insert;if(p.merged)for(var d=1;d<p.fns.length;d++)p.fns[d]()}else Gn(c);c=c.parent}I(s)?x(0,[t],0,0):I(t.tag)&&y(t)}}return $(e,i,o),e.elm}I(t)&&y(t)}}({nodeOps:E,modules:[W,On,q,Gt,Q,B?{create:wo,activate:wo,remove:function(t,e){!0!==t.data.show?go(t,e):e()}}:{}].concat(st)});G&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&To(t,"input")});var xo={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?oe(n,"postpatch",function(){xo.componentUpdated(t,e,n)}):$o(t,e,n.context),t._vOptions=[].map.call(t.options,Oo)):"textarea"!==n.tag&&!qn(t.type)||(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Ao),t.addEventListener("compositionend",So),t.addEventListener("change",So),G&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){var r,o;"select"===n.tag&&($o(t,e,n.context),r=t._vOptions,(o=t._vOptions=[].map.call(t.options,Oo)).some(function(t,e){return!A(t,r[e])})&&(t.multiple?e.value.some(function(t){return Co(t,o)}):e.value!==e.oldValue&&Co(e.value,o))&&To(t,"change"))}};function $o(t,e){ko(t,e),(J||K)&&setTimeout(function(){ko(t,e)},0)}function ko(t,e){var n=e.value,r=t.multiple;if(!r||Array.isArray(n)){for(var o,i,a=0,s=t.options.length;a<s;a++)if(i=t.options[a],r)o=-1<S(n,Oo(i)),i.selected!==o&&(i.selected=o);else if(A(Oo(i),n))return t.selectedIndex!==a&&(t.selectedIndex=a),0;r||(t.selectedIndex=-1)}}function Co(e,t){return t.every(function(t){return!A(t,e)})}function Oo(t){return"_value"in t?t._value:t.value}function Ao(t){t.target.composing=!0}function So(t){t.target.composing&&(t.target.composing=!1,To(t.target,"input"))}function To(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function jo(t){return!t.componentInstance||t.data&&t.data.transition?t:jo(t.componentInstance._vnode)}Gt={model:xo,show:{bind:function(t,e,n){var r=e.value,e=(n=jo(n)).data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&e?(n.data.show=!0,yo(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=jo(n)).data&&n.data.transition?(n.data.show=!0,r?yo(n,function(){t.style.display=t.__vOriginalDisplay}):go(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}}},Q={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Eo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Eo(ze(e.children)):t}function Mo(t){var e,n={},r=t.$options;for(e in r.propsData)n[e]=t[e];var o,i=r._parentListeners;for(o in i)n[m(o)]=i[o];return n}function Po(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Io(t){return t.tag||Re(t)}function Lo(t){return"show"===t.name}st={name:"transition",props:Q,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Io)).length){var r=this.mode,o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return 1}(this.$vnode))return o;var i=Eo(o);if(!i)return o;if(this._leaving)return Po(t,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:!l(i.key)||0===String(i.key).indexOf(a)?i.key:a+i.key;var s=(i.data||(i.data={})).transition=Mo(this),n=this._vnode,a=Eo(n);if(i.data.directives&&i.data.directives.some(Lo)&&(i.data.show=!0),a&&a.data&&(a.key!==i.key||a.tag!==i.tag)&&!Re(a)&&(!a.componentInstance||!a.componentInstance._vnode.isComment)){a=a.data.transition=w({},s);if("out-in"===r)return this._leaving=!0,oe(a,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),Po(t,o);if("in-out"===r){if(Re(i))return n;var c,n=function(){c()};oe(s,"afterEnter",n),oe(s,"enterCancelled",n),oe(a,"delayLeave",function(t){c=t})}}return o}}},Q=w({tag:String,moveClass:String},Q);function No(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Do(t){t.data.newPos=t.elm.getBoundingClientRect()}function Fo(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,n=e.top-n.top;(r||n)&&(t.data.moved=!0,(t=t.elm.style).transform=t.WebkitTransform="translate("+r+"px,"+n+"px)",t.transitionDuration="0s")}delete Q.mode;Q={Transition:st,TransitionGroup:{props:Q,beforeMount:function(){var r=this,o=this._update;this._update=function(t,e){var n=qe(r);r.__patch__(r._vnode,r.kept,!1,!0),r._vnode=r.kept,n(),o.call(r,t,e)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Mo(this),s=0;s<o.length;s++){var c=o[s];c.tag&&null!=c.key&&0!==String(c.key).indexOf("__vlist")&&(i.push(c),((n[c.key]=c).data||(c.data={})).transition=a)}if(r){for(var l=[],u=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),(n[p.key]?l:u).push(p)}this.kept=t(e,null,l),this.removed=u}return t(e,null,i)},updated:function(){var t=this.prevChildren,r=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,r)&&(t.forEach(No),t.forEach(Do),t.forEach(Fo),this._reflow=document.body.offsetHeight,t.forEach(function(t){var n;t.data.moved&&(t=(n=t.elm).style,lo(n,r),t.transform=t.WebkitTransform=t.transitionDuration="",n.addEventListener(oo,n._moveCb=function t(e){e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener(oo,t),n._moveCb=null,uo(n,r))}))}))},methods:{hasMove:function(t,e){if(!to)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){Qr(n,t)}),Xr(n,e),n.style.display="none",this.$el.appendChild(n);e=ho(n);return this.$el.removeChild(n),this._hasMove=e.hasTransform}}}};function Ro(t,e){return t&&pi(t)&&"\n"===e[0]}_n.config.mustUseProp=An,_n.config.isReservedTag=zn,_n.config.isReservedAttr=ht,_n.config.getTagNamespace=Vn,_n.config.isUnknownElement=function(t){if(!B)return!0;if(zn(t))return!1;if(t=t.toLowerCase(),null!=Wn[t])return Wn[t];var e=document.createElement(t);return-1<t.indexOf("-")?Wn[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Wn[t]=/HTMLUnknownElement/.test(e.toString())},w(_n.options.directives,Gt),w(_n.options.components,Q),_n.prototype.__patch__=B?q:$,_n.prototype.$mount=function(t,e){return n=this,t=t=t&&B?Jn(t):void 0,r=e,n.$el=t,n.$options.render||(n.$options.render=vt),Ke(n,"beforeMount"),t=function(){n._update(n._render(),r)},new sn(n,t,$,{before:function(){n._isMounted&&!n._isDestroyed&&Ke(n,"beforeUpdate")}},!0),r=!1,null==n.$vnode&&(n._isMounted=!0,Ke(n,"mounted")),n;var n,r},B&&setTimeout(function(){M.devtools&&nt&&nt.emit("init",_n)},0);var zo,Ho,Uo,Bo,Vo,Wo,qo,Jo,Go,Ko=/\{\{((?:.|\r?\n)+?)\}\}/g,Xo=/[-.*+?^${}()|[\]\/\\]/g,Qo=t(function(t){var e=t[0].replace(Xo,"\\$&"),t=t[1].replace(Xo,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+t,"g")}),ht={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;e=xr(t,"class");e&&(t.staticClass=JSON.stringify(e));e=wr(t,"class",!1);e&&(t.classBinding=e)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}},Gt={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;e=xr(t,"style");e&&(t.staticStyle=JSON.stringify(Rr(e)));e=wr(t,"style",!1);e&&(t.styleBinding=e)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},Q=a("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),q=a("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Yo=a("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Zo=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ti=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,F="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+F.source+"]*",F="((?:"+F+"\\:)?"+F+")",ei=new RegExp("^<"+F),ni=/^\s*(\/?)>/,ri=new RegExp("^<\\/"+F+"[^>]*>"),oi=/^<!DOCTYPE [^>]+>/i,ii=/^<!\--/,ai=/^<!\[/,si=a("script,style,textarea",!0),ci={},li={"<":"<",">":">",""":'"',"&":"&"," ":"\n","	":"\t","'":"'"},ui=/&(?:lt|gt|quot|amp|#39);/g,fi=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,pi=a("pre,textarea",!0),di=/^@|^v-on:/,hi=/^v-|^@|^:/,vi=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,mi=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,yi=/^\(|\)$/g,gi=/^\[.*\]$/,_i=/:(.*)$/,bi=/^:|^\.|^v-bind:/,wi=/\.[^.\]]+(?=[^\]]*$)/g,xi=/^v-slot(:|$)|^#/,$i=/[\r\n]/,ki=/\s+/g,Ci=t(function(t){return(zo=zo||document.createElement("div")).innerHTML=t,zo.textContent}),Oi="_empty_";function Ai(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n<r;n++)e[t[n].name]=t[n].value;return e}(e),rawAttrsMap:{},parent:n,children:[]}}function Si(t,e){var n,r,o;(n=wr(o=t,"key"))&&(o.key=n),t.plain=!t.key&&!t.scopedSlots&&!t.attrsList.length,(o=wr(r=t,"ref"))&&(r.ref=o,r.refInFor=function(){for(var t=r;t;){if(void 0!==t.for)return!0;t=t.parent}return!1}()),function(t){"template"===t.tag?(a=xr(t,"scope"),t.slotScope=a||xr(t,"slot-scope")):(a=xr(t,"slot-scope"))&&(t.slotScope=a);var e,n,r,o,i,a=wr(t,"slot");a&&(t.slotTarget='""'===a?'"default"':a,t.slotTargetDynamic=!(!t.attrsMap[":slot"]&&!t.attrsMap["v-bind:slot"]),"template"===t.tag||t.slotScope||yr(t,"slot",a,(a="slot",t.rawAttrsMap[":"+a]||t.rawAttrsMap["v-bind:"+a]||t.rawAttrsMap[a]))),"template"===t.tag?(r=$r(t,xi))&&(n=(e=Ei(r)).name,o=e.dynamic,t.slotTarget=n,t.slotTargetDynamic=o,t.slotScope=r.value||Oi):(e=$r(t,xi))&&(n=t.scopedSlots||(t.scopedSlots={}),r=(o=Ei(e)).name,o=o.dynamic,(i=n[r]=Ai("template",[],t)).slotTarget=r,i.slotTargetDynamic=o,i.children=t.children.filter(function(t){if(!t.slotScope)return t.parent=i,!0}),i.slotScope=e.value||Oi,t.children=[],t.plain=!1)}(t),"slot"===t.tag&&(t.slotName=wr(t,"name")),(o=wr(n=t,"is"))&&(n.component=o),null!=xr(n,"inline-template")&&(n.inlineTemplate=!0);for(var i=0;i<Bo.length;i++)t=Bo[i](t,e)||t;return function(t){for(var e,n,r,o,i,a,s,c,l,u,f,p=t.attrsList,d=0,h=p.length;d<h;d++)e=s=p[d].name,n=p[d].value,hi.test(e)?(t.hasBindings=!0,(c=function(t){t=t.match(wi);if(t){var e={};return t.forEach(function(t){e[t.slice(1)]=!0}),e}}(e.replace(hi,"")))&&(e=e.replace(wi,"")),bi.test(e)?(e=e.replace(bi,""),n=dr(n),(f=gi.test(e))&&(e=e.slice(1,-1)),c&&(c.prop&&!f&&"innerHtml"===(e=m(e))&&(e="innerHTML"),c.camel&&!f&&(e=m(e)),c.sync&&(a=Or(n,"$event"),f?br(t,'"update:"+('+e+")",a,null,!1,0,p[d],!0):(br(t,"update:"+m(e),a,null,!1,0,p[d]),g(e)!==m(e)&&br(t,"update:"+g(e),a,null,!1,0,p[d])))),(c&&c.prop||!t.component&&Jo(t.tag,t.attrsMap.type,e)?mr:yr)(t,e,n,p[d],f)):di.test(e)?(e=e.replace(di,""),(f=gi.test(e))&&(e=e.slice(1,-1)),br(t,e,n,c,!1,0,p[d],f)):(f=!1,(u=(l=(e=e.replace(hi,"")).match(_i))&&l[1])&&(e=e.slice(0,-(u.length+1)),gi.test(u)&&(u=u.slice(1,-1),f=!0)),r=t,o=e,i=s,a=n,l=u,s=f,u=c,c=p[d],(r.directives||(r.directives=[])).push(kr({name:o,rawName:i,value:a,arg:l,isDynamicArg:s,modifiers:u},c)),r.plain=!1)):(yr(t,e,JSON.stringify(n),p[d]),!t.component&&"muted"===e&&Jo(t.tag,t.attrsMap.type,e)&&mr(t,e,"true",p[d]))}(t),t}function Ti(t){var r,e;!(r=xr(t,"v-for"))||(e=function(){var t=r.match(vi);if(t){var e={};e.for=t[2].trim();var n=t[1].trim().replace(yi,""),t=n.match(mi);return t?(e.alias=n.replace(mi,"").trim(),e.iterator1=t[1].trim(),t[2]&&(e.iterator2=t[2].trim())):e.alias=n,e}}())&&w(t,e)}function ji(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function Ei(t){var e=t.name.replace(xi,"");return e||"#"!==t.name[0]&&(e="default"),gi.test(e)?{name:e.slice(1,-1),dynamic:!0}:{name:'"'+e+'"',dynamic:!1}}var Mi=/^xmlns:NS\d+/,Pi=/^NS\d+:/;function Ii(t){return Ai(t.tag,t.attrsList.slice(),t.parent)}var Li,Ni,Gt=[ht,Gt,{preTransformNode:function(t,e){if("input"===t.tag){var n,r=t.attrsMap;if(r["v-model"]&&((r[":type"]||r["v-bind:type"])&&(n=wr(t,"type")),r.type||n||!r["v-bind"]||(n="("+r["v-bind"]+").type"),n)){var o=xr(t,"v-if",!0),i=o?"&&("+o+")":"",a=null!=xr(t,"v-else",!0),s=xr(t,"v-else-if",!0),c=Ii(t);Ti(c),gr(c,"type","checkbox"),Si(c,e),c.processed=!0,c.if="("+n+")==='checkbox'"+i,ji(c,{exp:c.if,block:c});r=Ii(t);xr(r,"v-for",!0),gr(r,"type","radio"),Si(r,e),ji(c,{exp:"("+n+")==='radio'"+i,block:r});t=Ii(t);return xr(t,"v-for",!0),gr(t,":type",n),Si(t,e),ji(c,{exp:o,block:t}),a?c.else=!0:s&&(c.elseif=s),c}}}}],Gt={expectHTML:!0,modules:Gt,directives:{model:function(t,e,n){var r,o,i,a,s,c=e.value,l=e.modifiers,u=t.tag,f=t.attrsMap.type;if(t.component)return Cr(t,c,l),!1;if("select"===u)br(t,"change",'var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(l&&l.number?"_n(val)":"val")+"});"+" "+Or(c,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),null,!0);else if("input"===u&&"checkbox"===f)r=t,o=c,i=l&&l.number,a=wr(r,"value")||"null",s=wr(r,"true-value")||"true",e=wr(r,"false-value")||"false",mr(r,"checked","Array.isArray("+o+")?_i("+o+","+a+")>-1"+("true"===s?":("+o+")":":_q("+o+","+s+")")),br(r,"change","var $$a="+o+",$$el=$event.target,$$c=$$el.checked?("+s+"):("+e+");if(Array.isArray($$a)){var $$v="+(i?"_n("+a+")":a)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Or(o,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Or(o,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Or(o,"$$c")+"}",null,!0);else if("input"===u&&"radio"===f)i=t,a=c,o=l&&l.number,f=wr(i,"value")||"null",mr(i,"checked","_q("+a+","+(f=o?"_n("+f+")":f)+")"),br(i,"change",Or(a,f),null,!0);else if("input"===u||"textarea"===u)!function(t,e){var n=t.attrsMap.type,r=l||{},o=r.lazy,i=r.number,a=r.trim,r=!o&&"range"!==n,o=o?"change":"range"===n?"__r":"input",n=a?"$event.target.value.trim()":"$event.target.value";i&&(n="_n("+n+")");n=Or(e,n);r&&(n="if($event.target.composing)return;"+n),mr(t,"value","("+e+")"),br(t,o,n,null,!0),(a||i)&&br(t,"blur","$forceUpdate()")}(t,c);else if(!M.isReservedTag(u))return Cr(t,c,l),!1;return!0},text:function(t,e){e.value&&mr(t,"textContent","_s("+e.value+")",e)},html:function(t,e){e.value&&mr(t,"innerHTML","_s("+e.value+")",e)}},isPreTag:function(t){return"pre"===t},isUnaryTag:Q,mustUseProp:An,canBeLeftOpenTag:q,isReservedTag:zn,getTagNamespace:Vn,staticKeys:Gt.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(",")},Di=t(function(t){return a("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(t?","+t:""))}),Fi=/^([\w$_]+|\([^)]*?\))\s*=>|^function\s*(?:[\w$]+)?\s*\(/,Ri=/\([^)]*?\);*$/,zi=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Hi={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ui={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Bi=function(t){return"if("+t+")return null;"},Vi={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Bi("$event.target !== $event.currentTarget"),ctrl:Bi("!$event.ctrlKey"),shift:Bi("!$event.shiftKey"),alt:Bi("!$event.altKey"),meta:Bi("!$event.metaKey"),left:Bi("'button' in $event && $event.button !== 0"),middle:Bi("'button' in $event && $event.button !== 1"),right:Bi("'button' in $event && $event.button !== 2")};function Wi(t,e){var n,e=e?"nativeOn:":"on:",r="",o="";for(n in t){var i=function e(t){if(!t)return"function(){}";if(Array.isArray(t))return"["+t.map(function(t){return e(t)}).join(",")+"]";var n=zi.test(t.value),r=Fi.test(t.value),o=zi.test(t.value.replace(Ri,""));if(t.modifiers){var i,a,s="",c="",l=[];for(i in t.modifiers)Vi[i]?(c+=Vi[i],Hi[i]&&l.push(i)):"exact"===i?(a=t.modifiers,c+=Bi(["ctrl","shift","alt","meta"].filter(function(t){return!a[t]}).map(function(t){return"$event."+t+"Key"}).join("||"))):l.push(i);return l.length&&(s+="if(!$event.type.indexOf('key')&&"+l.map(qi).join("&&")+")return null;"),c&&(s+=c),"function($event){"+s+(n?"return "+t.value+"($event)":r?"return ("+t.value+")($event)":o?"return "+t.value:t.value)+"}"}return n||r?t.value:"function($event){"+(o?"return "+t.value:t.value)+"}"}(t[n]);t[n]&&t[n].dynamic?o+=n+","+i+",":r+='"'+n+'":'+i+","}return r="{"+r.slice(0,-1)+"}",o?e+"_d("+r+",["+o.slice(0,-1)+"])":e+r}function qi(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=Hi[t],e=Ui[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(e)+")"}var Ji={on:function(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}},bind:function(e,n){e.wrapData=function(t){return"_b("+t+",'"+e.tag+"',"+n.value+","+(n.modifiers&&n.modifiers.prop?"true":"false")+(n.modifiers&&n.modifiers.sync?",true":"")+")"}},cloak:$},Gi=function(t){this.options=t,this.warn=t.warn||hr,this.transforms=vr(t.modules,"transformCode"),this.dataGenFns=vr(t.modules,"genData"),this.directives=w(w({},Ji),t.directives);var e=t.isReservedTag||k;this.maybeComponent=function(t){return!!t.component||!e(t.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Ki(t,e){e=new Gi(e);return{render:"with(this){return "+(t?Xi(t,e):'_c("div")')+"}",staticRenderFns:e.staticRenderFns}}function Xi(t,e){if(t.parent&&(t.pre=t.pre||t.parent.pre),t.staticRoot&&!t.staticProcessed)return Qi(t,e);if(t.once&&!t.onceProcessed)return Yi(t,e);if(t.for&&!t.forProcessed)return ta(t,e);if(t.if&&!t.ifProcessed)return Zi(t,e);if("template"!==t.tag||t.slotTarget||e.pre){if("slot"===t.tag)return s="_t("+((l=t).slotName||'"default"')+((a=oa(l,e))?","+a:""),c=l.attrs||l.dynamicAttrs?sa((l.attrs||[]).concat(l.dynamicAttrs||[]).map(function(t){return{name:m(t.name),value:t.value,dynamic:t.dynamic}})):null,l=l.attrsMap["v-bind"],!c&&!l||a||(s+=",null"),c&&(s+=","+c),l&&(s+=(c?"":",null")+","+l),s+")";var n,r;r=t.component?(c=t.component,l=e,i=(s=t).inlineTemplate?null:oa(s,l,!0),"_c("+c+","+ea(s,l)+(i?","+i:"")+")"):((!t.plain||t.pre&&e.maybeComponent(t))&&(n=ea(t,e)),i=t.inlineTemplate?null:oa(t,e,!0),"_c('"+t.tag+"'"+(n?","+n:"")+(i?","+i:"")+")");for(var o=0;o<e.transforms.length;o++)r=e.transforms[o](t,r);return r}var i,a,s,c,l;return oa(t,e)||"void 0"}function Qi(t,e){t.staticProcessed=!0;var n=e.pre;return t.pre&&(e.pre=t.pre),e.staticRenderFns.push("with(this){return "+Xi(t,e)+"}"),e.pre=n,"_m("+(e.staticRenderFns.length-1)+(t.staticInFor?",true":"")+")"}function Yi(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return Zi(t,e);if(t.staticInFor){for(var n="",r=t.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?"_o("+Xi(t,e)+","+e.onceId+++","+n+")":Xi(t,e)}return Qi(t,e)}function Zi(t,e,n,r){return t.ifProcessed=!0,function t(e,n,r,o){if(!e.length)return o||"_e()";var i=e.shift();return i.exp?"("+i.exp+")?"+a(i.block)+":"+t(e,n,r,o):""+a(i.block);function a(t){return(r||(t.once?Yi:Xi))(t,n)}}(t.ifConditions.slice(),e,n,r)}function ta(t,e,n,r){var o=t.for,i=t.alias,a=t.iterator1?","+t.iterator1:"",s=t.iterator2?","+t.iterator2:"";return t.forProcessed=!0,(r||"_l")+"(("+o+"),function("+i+a+s+"){return "+(n||Xi)(t,e)+"})"}function ea(e,n){var t="{",r=function(t,e){var n=t.directives;if(n){for(var r,o,i="directives:[",a=!1,s=0,c=n.length;s<c;s++){r=n[s],o=!0;var l=e.directives[r.name];l&&(o=!!l(t,r,e.warn)),o&&(a=!0,i+='{name:"'+r.name+'",rawName:"'+r.rawName+'"'+(r.value?",value:("+r.value+"),expression:"+JSON.stringify(r.value):"")+(r.arg?",arg:"+(r.isDynamicArg?r.arg:'"'+r.arg+'"'):"")+(r.modifiers?",modifiers:"+JSON.stringify(r.modifiers):"")+"},")}return a?i.slice(0,-1)+"]":void 0}}(e,n);r&&(t+=r+","),e.key&&(t+="key:"+e.key+","),e.ref&&(t+="ref:"+e.ref+","),e.refInFor&&(t+="refInFor:true,"),e.pre&&(t+="pre:true,"),e.component&&(t+='tag:"'+e.tag+'",');for(var o,i=0;i<n.dataGenFns.length;i++)t+=n.dataGenFns[i](e);return e.attrs&&(t+="attrs:"+sa(e.attrs)+","),e.props&&(t+="domProps:"+sa(e.props)+","),e.events&&(t+=Wi(e.events,!1)+","),e.nativeEvents&&(t+=Wi(e.nativeEvents,!0)+","),e.slotTarget&&!e.slotScope&&(t+="slot:"+e.slotTarget+","),e.scopedSlots&&(t+=function(t,e,n){var r=t.for||Object.keys(e).some(function(t){t=e[t];return t.slotTargetDynamic||t.if||t.for||na(t)}),o=!!t.if;if(!r)for(var i=t.parent;i;){if(i.slotScope&&i.slotScope!==Oi||i.for){r=!0;break}i.if&&(o=!0),i=i.parent}t=Object.keys(e).map(function(t){return ra(e[t],n)}).join(",");return"scopedSlots:_u(["+t+"]"+(r?",null,true":"")+(!r&&o?",null,false,"+function(t){for(var e=5381,n=t.length;n;)e=33*e^t.charCodeAt(--n);return e>>>0}(t):"")+")"}(e,e.scopedSlots,n)+","),e.model&&(t+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate&&(o=function(){var t=e.children[0];if(t&&1===t.type){t=Ki(t,n.options);return"inlineTemplate:{render:function(){"+t.render+"},staticRenderFns:["+t.staticRenderFns.map(function(t){return"function(){"+t+"}"}).join(",")+"]}"}}())&&(t+=o+","),t=t.replace(/,$/,"")+"}",e.dynamicAttrs&&(t="_b("+t+',"'+e.tag+'",'+sa(e.dynamicAttrs)+")"),e.wrapData&&(t=e.wrapData(t)),e.wrapListeners&&(t=e.wrapListeners(t)),t}function na(t){return 1===t.type&&("slot"===t.tag||t.children.some(na))}function ra(t,e){var n=t.attrsMap["slot-scope"];if(t.if&&!t.ifProcessed&&!n)return Zi(t,e,ra,"null");if(t.for&&!t.forProcessed)return ta(t,e,ra);var r=t.slotScope===Oi?"":String(t.slotScope),e="function("+r+"){return "+("template"===t.tag?t.if&&n?"("+t.if+")?"+(oa(t,e)||"undefined")+":undefined":oa(t,e)||"undefined":Xi(t,e))+"}",r=r?"":",proxy:true";return"{key:"+(t.slotTarget||'"default"')+",fn:"+e+r+"}"}function oa(t,e,n,r,o){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){t=n?e.maybeComponent(a)?",1":",0":"";return(r||Xi)(a,e)+t}var n=n?function(t,e){for(var n=0,r=0;r<t.length;r++){var o=t[r];if(1===o.type){if(ia(o)||o.ifConditions&&o.ifConditions.some(function(t){return ia(t.block)})){n=2;break}(e(o)||o.ifConditions&&o.ifConditions.some(function(t){return e(t.block)}))&&(n=1)}}return n}(i,e.maybeComponent):0,s=o||aa;return"["+i.map(function(t){return s(t,e)}).join(",")+"]"+(n?","+n:"")}}function ia(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}function aa(t,e){return 1===t.type?Xi(t,e):3===t.type&&t.isComment?"_e("+JSON.stringify(t.text)+")":"_v("+(2===t.type?t.expression:ca(JSON.stringify(t.text)))+")"}function sa(t){for(var e="",n="",r=0;r<t.length;r++){var o=t[r],i=ca(o.value);o.dynamic?n+=o.name+","+i+",":e+='"'+o.name+'":'+i+","}return e="{"+e.slice(0,-1)+"}",n?"_d("+e+",["+n.slice(0,-1)+"])":e}function ca(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function la(e,n){try{return new Function(e)}catch(t){return n.push({err:t,code:e}),$}}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b");var ua,fa,pa,da,ha,va=(ua=function(t,e){var n,r=function(t,l){Ho=l.warn||hr,qo=l.isPreTag||k,Jo=l.mustUseProp||k,Go=l.getTagNamespace||k,l.isReservedTag,Bo=vr(l.modules,"transformNode"),Vo=vr(l.modules,"preTransformNode"),Wo=vr(l.modules,"postTransformNode"),Uo=l.delimiters;var u,f,p=[],a=!1!==l.preserveWhitespace,s=l.whitespace,d=!1,h=!1;function v(t){var e,n;o(t),d||t.processed||(t=Si(t,l)),p.length||t===u||u.if&&(t.elseif||t.else)&&ji(u,{exp:t.elseif,block:t}),f&&!t.forbidden&&(t.elseif||t.else?(e=t,(n=function(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}(f.children))&&n.if&&ji(n,{exp:e.elseif,block:e})):(t.slotScope&&(e=t.slotTarget||'"default"',(f.scopedSlots||(f.scopedSlots={}))[e]=t),f.children.push(t),t.parent=f)),t.children=t.children.filter(function(t){return!t.slotScope}),o(t),t.pre&&(d=!1),qo(t.tag)&&(h=!1);for(var r=0;r<Wo.length;r++)Wo[r](t,l)}function o(t){if(!h)for(var e;(e=t.children[t.children.length-1])&&3===e.type&&" "===e.text;)t.children.pop()}return function(o,l){for(var t,u,f=[],p=l.expectHTML,d=l.isUnaryTag||k,h=l.canBeLeftOpenTag||k,a=0;o;){if(t=o,u&&si(u)){var r=0,i=u.toLowerCase(),e=ci[i]||(ci[i]=new RegExp("([\\s\\S]*?)(</"+i+"[^>]*>)","i")),e=o.replace(e,function(t,e,n){return r=n.length,si(i)||"noscript"===i||(e=e.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),Ro(i,e)&&(e=e.slice(1)),l.chars&&l.chars(e),""});a+=o.length-e.length,o=e,g(i,a-r,a)}else{var n=o.indexOf("<");if(0===n){if(ii.test(o)){e=o.indexOf("--\x3e");if(0<=e){l.shouldKeepComment&&l.comment(o.substring(4,e),a,a+e+3),y(e+3);continue}}if(ai.test(o)){var s=o.indexOf("]>");if(0<=s){y(s+2);continue}}s=o.match(oi);if(s){y(s[0].length);continue}s=o.match(ri);if(s){var c=a;y(s[0].length),g(s[1],c,a);continue}c=function(){var t=o.match(ei);if(t){var e,n,r={tagName:t[1],attrs:[],start:a};for(y(t[0].length);!(e=o.match(ni))&&(n=o.match(ti)||o.match(Zo));)n.start=a,y(n[0].length),n.end=a,r.attrs.push(n);if(e)return r.unarySlash=e[1],y(e[0].length),r.end=a,r}}();if(c){(function(t){var e=t.tagName,n=t.unarySlash;p&&("p"===u&&Yo(e)&&g(u),h(e)&&u===e&&g(e));for(var n=d(e)||!!n,r=t.attrs.length,o=new Array(r),i=0;i<r;i++){var a=t.attrs[i],s=a[3]||a[4]||a[5]||"",c="a"===e&&"href"===a[1]?l.shouldDecodeNewlinesForHref:l.shouldDecodeNewlines;o[i]={name:a[1],value:(c=c?fi:ui,s.replace(c,function(t){return li[t]}))}}n||(f.push({tag:e,lowerCasedTag:e.toLowerCase(),attrs:o,start:t.start,end:t.end}),u=e),l.start&&l.start(e,o,n,t.start,t.end)})(c),Ro(c.tagName,o)&&y(1);continue}}var c=void 0,v=void 0,m=void 0;if(0<=n){for(v=o.slice(n);!(ri.test(v)||ei.test(v)||ii.test(v)||ai.test(v)||(m=v.indexOf("<",1))<0);)n+=m,v=o.slice(n);c=o.substring(0,n)}n<0&&(c=o),c&&y(c.length),l.chars&&c&&l.chars(c,a-c.length,a)}if(o===t){l.chars&&l.chars(o);break}}function y(t){a+=t,o=o.substring(t)}function g(t,e,n){var r,o;if(null==e&&(e=a),null==n&&(n=a),t)for(o=t.toLowerCase(),r=f.length-1;0<=r&&f[r].lowerCasedTag!==o;r--);else r=0;if(0<=r){for(var i=f.length-1;r<=i;i--)l.end&&l.end(f[i].tag,e,n);f.length=r,u=r&&f[r-1].tag}else"br"===o?l.start&&l.start(t,[],!0,e,n):"p"===o&&(l.start&&l.start(t,[],!1,e,n),l.end&&l.end(t,e,n))}g()}(t,{warn:Ho,expectHTML:l.expectHTML,isUnaryTag:l.isUnaryTag,canBeLeftOpenTag:l.canBeLeftOpenTag,shouldDecodeNewlines:l.shouldDecodeNewlines,shouldDecodeNewlinesForHref:l.shouldDecodeNewlinesForHref,shouldKeepComment:l.comments,outputSourceRange:l.outputSourceRange,start:function(t,e,n,r,o){var i=f&&f.ns||Go(t);J&&"svg"===i&&(e=function(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];Mi.test(r.name)||(r.name=r.name.replace(Pi,""),e.push(r))}return e}(e));var a=Ai(t,e,f);i&&(a.ns=i),"style"!==a.tag&&("script"!==a.tag||a.attrsMap.type&&"text/javascript"!==a.attrsMap.type)||et()||(a.forbidden=!0);for(var s,c=0;c<Vo.length;c++)a=Vo[c](a,l)||a;d||(null!=xr(s=a,"v-pre")&&(s.pre=!0),a.pre&&(d=!0)),qo(a.tag)&&(h=!0),d?function(t){var e=t.attrsList,n=e.length;if(n)for(var r=t.attrs=new Array(n),o=0;o<n;o++)r[o]={name:e[o].name,value:JSON.stringify(e[o].value)},null!=e[o].start&&(r[o].start=e[o].start,r[o].end=e[o].end);else t.pre||(t.plain=!0)}(a):a.processed||(Ti(a),(s=xr(i=a,"v-if"))?(i.if=s,ji(i,{exp:s,block:i})):(null!=xr(i,"v-else")&&(i.else=!0),(s=xr(i,"v-else-if"))&&(i.elseif=s)),null!=xr(s=a,"v-once")&&(s.once=!0)),u=u||a,n?v(a):(f=a,p.push(a))},end:function(t,e,n){var r=p[p.length-1];--p.length,f=p[p.length-1],v(r)},chars:function(t,e,n){var r,o,i;!f||J&&"textarea"===f.tag&&f.attrsMap.placeholder===t||(i=f.children,(t=h||t.trim()?"script"===f.tag||"style"===f.tag?t:Ci(t):i.length?s?"condense"===s&&$i.test(t)?"":" ":a?" ":"":"")&&(h||"condense"!==s||(t=t.replace(ki," ")),!d&&" "!==t&&(r=function(t){var e=Uo?Qo(Uo):Ko;if(e.test(t)){for(var n,r,o,i=[],a=[],s=e.lastIndex=0;n=e.exec(t);){(r=n.index)>s&&(a.push(o=t.slice(s,r)),i.push(JSON.stringify(o)));var c=dr(n[1].trim());i.push("_s("+c+")"),a.push({"@binding":c}),s=r+n[0].length}return s<t.length&&(a.push(o=t.slice(s)),i.push(JSON.stringify(o))),{expression:i.join("+"),tokens:a}}}(t))?o={type:2,expression:r.expression,tokens:r.tokens,text:t}:" "===t&&i.length&&" "===i[i.length-1].text||(o={type:3,text:t}),o&&i.push(o)))},comment:function(t,e,n){f&&(t={type:3,text:t,isComment:!0},f.children.push(t))}}),u}(t.trim(),e);!1!==e.optimize&&(n=e,(t=r)&&(Li=Di(n.staticKeys||""),Ni=n.isReservedTag||k,function t(e){var n;if(e.static=2!==(n=e).type&&(3===n.type||!(!n.pre&&(n.hasBindings||n.if||n.for||u(n.tag)||!Ni(n.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return;if(t.for)return 1}}(n)||!Object.keys(n).every(Li)))),1===e.type&&(Ni(e.tag)||"slot"===e.tag||null!=e.attrsMap["inline-template"])){for(var r=0,o=e.children.length;r<o;r++){var i=e.children[r];t(i),i.static||(e.static=!1)}if(e.ifConditions)for(var a=1,s=e.ifConditions.length;a<s;a++){var c=e.ifConditions[a].block;t(c),c.static||(e.static=!1)}}}(t),function t(e,n){if(1===e.type){if((e.static||e.once)&&(e.staticInFor=n),e.static&&e.children.length&&(1!==e.children.length||3!==e.children[0].type))return e.staticRoot=!0,0;if(e.staticRoot=!1,e.children)for(var r=0,o=e.children.length;r<o;r++)t(e.children[r],n||!!e.for);if(e.ifConditions)for(var i=1,a=e.ifConditions.length;i<a;i++)t(e.ifConditions[i].block,n)}}(t,!1)));e=Ki(r,e);return{ast:r,render:e.render,staticRenderFns:e.staticRenderFns}},ha=Gt,pa=ma,da=Object.create(null),function(t,e,n){(e=w({},e)).warn,delete e.warn;var r=e.delimiters?String(e.delimiters)+t:t;if(da[r])return da[r];var t=pa(t,e),e={},o=[];return e.render=la(t.render,o),e.staticRenderFns=t.staticRenderFns.map(function(t){return la(t,o)}),da[r]=e});function ma(t,e){var n=Object.create(ha),r=[],o=[];if(e)for(var i in e.modules&&(n.modules=(ha.modules||[]).concat(e.modules)),e.directives&&(n.directives=w(Object.create(ha.directives||null),e.directives)),e)"modules"!==i&&"directives"!==i&&(n[i]=e[i]);n.warn=function(t,e,n){(n?o:r).push(t)};t=ua(t.trim(),n);return t.errors=r,t.tips=o,t}function ya(t){return(fa=fa||document.createElement("div")).innerHTML=t?'<a href="\n"/>':'<div a="\n"/>',0<fa.innerHTML.indexOf(" ")}var ga=!!B&&ya(!1),_a=!!B&&ya(!0),ba=t(function(t){t=Jn(t);return t&&t.innerHTML}),wa=_n.prototype.$mount;return _n.prototype.$mount=function(t,e){if((t=t&&Jn(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r,o=n.template;if(o)if("string"==typeof o)"#"===o.charAt(0)&&(o=ba(o));else{if(!o.nodeType)return this;o=o.innerHTML}else t&&(o=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));o&&(o=(r=va(o,{outputSourceRange:!1,shouldDecodeNewlines:ga,shouldDecodeNewlinesForHref:_a,delimiters:n.delimiters,comments:n.comments},this)).render,r=r.staticRenderFns,n.render=o,n.staticRenderFns=r)}return wa.call(this,t,e)},_n.compile=va,_n}),function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Vuex=e()}(this,function(){"use strict";var l="undefined"!=typeof window&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function s(e,n){Object.keys(e).forEach(function(t){return n(e[t],t)})}function u(t,e){if(!t)throw new Error("[vuex] "+e)}function i(t,e){this.runtime=e,this._children=Object.create(null),t=(this._rawModule=t).state,this.state=("function"==typeof t?t():t)||{}}var t={namespaced:{configurable:!0}};t.namespaced.get=function(){return!!this._rawModule.namespaced},i.prototype.addChild=function(t,e){this._children[t]=e},i.prototype.removeChild=function(t){delete this._children[t]},i.prototype.getChild=function(t){return this._children[t]},i.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},i.prototype.forEachChild=function(t){s(this._children,t)},i.prototype.forEachGetter=function(t){this._rawModule.getters&&s(this._rawModule.getters,t)},i.prototype.forEachAction=function(t){this._rawModule.actions&&s(this._rawModule.actions,t)},i.prototype.forEachMutation=function(t){this._rawModule.mutations&&s(this._rawModule.mutations,t)},Object.defineProperties(i.prototype,t);function f(t){this.register([],t,!1)}f.prototype.get=function(t){return t.reduce(function(t,e){return t.getChild(e)},this.root)},f.prototype.getNamespace=function(t){var n=this.root;return t.reduce(function(t,e){return t+((n=n.getChild(e)).namespaced?e+"/":"")},"")},f.prototype.update=function(t){!function t(e,n,r){c(e,r);n.update(r);if(r.modules)for(var o in r.modules){if(!n.getChild(o))return void console.warn("[vuex] trying to add a new module '"+o+"' on hot reloading, manual reload is needed");t(e.concat(o),n.getChild(o),r.modules[o])}}([],this.root,t)},f.prototype.register=function(n,t,r){var o=this;void 0===r&&(r=!0),c(n,t);var e=new i(t,r);0===n.length?this.root=e:this.get(n.slice(0,-1)).addChild(n[n.length-1],e),t.modules&&s(t.modules,function(t,e){o.register(n.concat(e),t,r)})},f.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),t=t[t.length-1];e.getChild(t).runtime&&e.removeChild(t)};var h,e={assert:function(t){return"function"==typeof t},expected:"function"},a={getters:e,mutations:e,actions:{assert:function(t){return"function"==typeof t||"object"==typeof t&&"function"==typeof t.handler},expected:'function or object with "handler" function'}};function c(o,t){Object.keys(a).forEach(function(n){var r;t[n]&&(r=a[n],s(t[n],function(t,e){u(r.assert(t),function(t,e,n,r,o){n=e+" should be "+o+' but "'+e+"."+n+'"';0<t.length&&(n+=' in module "'+t.join(".")+'"');return n+=" is "+JSON.stringify(r)+"."}(o,n,e,t,r.expected))}))})}t=function t(e){var n=this;void 0===e&&(e={}),!h&&"undefined"!=typeof window&&window.Vue&&d(window.Vue),u(h,"must call Vue.use(Vuex) before creating a store instance."),u("undefined"!=typeof Promise,"vuex requires a Promise polyfill in this browser."),u(this instanceof t,"store must be called with the new operator.");var r=e.plugins;void 0===r&&(r=[]);var o=e.strict;void 0===o&&(o=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new f(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new h;var i=this,a=this.dispatch,s=this.commit;this.dispatch=function(t,e){return a.call(i,t,e)},this.commit=function(t,e,n){return s.call(i,t,e,n)},this.strict=o;var c,o=this._modules.root.state;v(this,o,[],this._modules.root),p(this,o),r.forEach(function(t){return t(n)}),(void 0!==e.devtools?e:h.config).devtools&&(c=this,l&&((c._devtoolHook=l).emit("vuex:init",c),l.on("vuex:travel-to-state",function(t){c.replaceState(t)}),c.subscribe(function(t,e){l.emit("vuex:mutation",t,e)})))},e={state:{configurable:!0}};function n(e,n){return n.indexOf(e)<0&&n.push(e),function(){var t=n.indexOf(e);-1<t&&n.splice(t,1)}}function r(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;v(t,n,[],t._modules.root,!0),p(t,n,e)}function p(n,t,e){var r=n._vm;n.getters={};var o=n._wrappedGetters,i={};s(o,function(t,e){i[e]=function(){return t(n)},Object.defineProperty(n.getters,e,{get:function(){return n._vm[e]},enumerable:!0})});var a,o=h.config.silent;h.config.silent=!0,n._vm=new h({data:{$$state:t},computed:i}),h.config.silent=o,n.strict&&(a=n)._vm.$watch(function(){return this._data.$$state},function(){u(a._committing,"do not mutate vuex store state outside mutation handlers.")},{deep:!0,sync:!0}),r&&(e&&n._withCommit(function(){r._data.$$state=null}),h.nextTick(function(){return r.$destroy()}))}function v(i,n,r,t,o){var e,a,s=!r.length,c=i._modules.getNamespace(r);t.namespaced&&(i._modulesNamespaceMap[c]=t),s||o||(e=m(n,r.slice(0,-1)),a=r[r.length-1],i._withCommit(function(){h.set(e,a,t.state)}));var l,u,f,p,d=t.context=(l=i,f=r,s={dispatch:(p=""===(u=c))?l.dispatch:function(t,e,n){var r=y(t,e,n),t=r.payload,e=r.options,n=r.type;if(e&&e.root||(n=u+n,l._actions[n]))return l.dispatch(n,t);console.error("[vuex] unknown local action type: "+r.type+", global type: "+n)},commit:p?l.commit:function(t,e,n){var r=y(t,e,n),t=r.payload,e=r.options,n=r.type;e&&e.root||(n=u+n,l._mutations[n])?l.commit(n,t,e):console.error("[vuex] unknown local mutation type: "+r.type+", global type: "+n)}},Object.defineProperties(s,{getters:{get:p?function(){return l.getters}:function(){return n=l,o={},i=(r=u).length,Object.keys(n.getters).forEach(function(t){var e;t.slice(0,i)===r&&(e=t.slice(i),Object.defineProperty(o,e,{get:function(){return n.getters[t]},enumerable:!0}))}),o;var n,r,o,i}},state:{get:function(){return m(l.state,f)}}}),s);t.forEachMutation(function(t,e){var n,r,o;e=c+e,r=t,o=d,((n=i)._mutations[e]||(n._mutations[e]=[])).push(function(t){r.call(n,o.state,t)})}),t.forEachAction(function(t,e){var n,r,o,e=t.root?e:c+e,t=t.handler||t;e=e,r=t,o=d,((n=i)._actions[e]||(n._actions[e]=[])).push(function(t,e){t=r.call(n,{dispatch:o.dispatch,commit:o.commit,getters:o.getters,state:o.state,rootGetters:n.getters,rootState:n.state},t,e);return(e=t)&&"function"==typeof e.then||(t=Promise.resolve(t)),n._devtoolHook?t.catch(function(t){throw n._devtoolHook.emit("vuex:error",t),t}):t})}),t.forEachGetter(function(t,e){!function(t,e,n,r){if(t._wrappedGetters[e])return console.error("[vuex] duplicate getter key: "+e);t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)}}(i,c+e,t,d)}),t.forEachChild(function(t,e){v(i,n,r.concat(e),t,o)})}function m(t,e){return e.length?e.reduce(function(t,e){return t[e]},t):t}function y(t,e,n){var r;return null!==(r=t)&&"object"==typeof r&&t.type&&(n=e,t=(e=t).type),u("string"==typeof t,"expects string as the type, but found "+typeof t+"."),{type:t,payload:e,options:n}}function d(t){var e;function n(){var t=this.$options;t.store?this.$store="function"==typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}h&&t===h?console.error("[vuex] already installed. Vue.use(Vuex) should be called only once."):(t=h=t,2<=Number(t.version.split(".")[0])?t.mixin({beforeCreate:n}):(e=t.prototype._init,t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[n].concat(t.init):n,e.call(this,t)}))}e.state.get=function(){return this._vm._data.$$state},e.state.set=function(t){u(!1,"use store.replaceState() to explicit replace store state.")},t.prototype.commit=function(t,e,n){var r=this,e=y(t,e,n),n=e.type,o=e.payload,e=e.options,i={type:n,payload:o},a=this._mutations[n];a?(this._withCommit(function(){a.forEach(function(t){t(o)})}),this._subscribers.forEach(function(t){return t(i,r.state)}),e&&e.silent&&console.warn("[vuex] mutation type: "+n+". Silent option has been removed. Use the filter functionality in the vue-devtools")):console.error("[vuex] unknown mutation type: "+n)},t.prototype.dispatch=function(t,e){var n=this,t=y(t,e),e=t.type,r=t.payload,o={type:e,payload:r},t=this._actions[e];if(t){try{this._actionSubscribers.filter(function(t){return t.before}).forEach(function(t){return t.before(o,n.state)})}catch(t){console.warn("[vuex] error in before action subscribers: "),console.error(t)}return(1<t.length?Promise.all(t.map(function(t){return t(r)})):t[0](r)).then(function(t){try{n._actionSubscribers.filter(function(t){return t.after}).forEach(function(t){return t.after(o,n.state)})}catch(t){console.warn("[vuex] error in after action subscribers: "),console.error(t)}return t})}console.error("[vuex] unknown action type: "+e)},t.prototype.subscribe=function(t){return n(t,this._subscribers)},t.prototype.subscribeAction=function(t){return n("function"==typeof t?{before:t}:t,this._actionSubscribers)},t.prototype.watch=function(t,e,n){var r=this;return u("function"==typeof t,"store.watch only accepts a function."),this._watcherVM.$watch(function(){return t(r.state,r.getters)},e,n)},t.prototype.replaceState=function(t){var e=this;this._withCommit(function(){e._vm._data.$$state=t})},t.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"==typeof t&&(t=[t]),u(Array.isArray(t),"module path must be a string or an Array."),u(0<t.length,"cannot register the root module by using registerModule."),this._modules.register(t,e),v(this,this.state,t,this._modules.get(t),n.preserveState),p(this,this.state)},t.prototype.unregisterModule=function(e){var n=this;"string"==typeof e&&(e=[e]),u(Array.isArray(e),"module path must be a string or an Array."),this._modules.unregister(e),this._withCommit(function(){var t=m(n.state,e.slice(0,-1));h.delete(t,e[e.length-1])}),r(this)},t.prototype.hotUpdate=function(t){this._modules.update(t),r(this,!0)},t.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(t.prototype,e);var o=x(function(o,t){var n={};return w(t).forEach(function(t){var e=t.key,r=t.val;n[e]=function(){var t=this.$store.state,e=this.$store.getters;if(o){var n=$(this.$store,"mapState",o);if(!n)return;t=n.context.state,e=n.context.getters}return"function"==typeof r?r.call(this,t,e):t[r]},n[e].vuex=!0}),n}),g=x(function(i,t){var n={};return w(t).forEach(function(t){var e=t.key,o=t.val;n[e]=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var n=this.$store.commit;if(i){var r=$(this.$store,"mapMutations",i);if(!r)return;n=r.context.commit}return"function"==typeof o?o.apply(this,[n].concat(t)):n.apply(this.$store,[o].concat(t))}}),n}),_=x(function(r,t){var o={};return w(t).forEach(function(t){var e=t.key,n=t.val,n=r+n;o[e]=function(){if(!r||$(this.$store,"mapGetters",r)){if(n in this.$store.getters)return this.$store.getters[n];console.error("[vuex] unknown getter: "+n)}},o[e].vuex=!0}),o}),b=x(function(i,t){var n={};return w(t).forEach(function(t){var e=t.key,o=t.val;n[e]=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var n=this.$store.dispatch;if(i){var r=$(this.$store,"mapActions",i);if(!r)return;n=r.context.dispatch}return"function"==typeof o?o.apply(this,[n].concat(t)):n.apply(this.$store,[o].concat(t))}}),n});function w(e){return Array.isArray(e)?e.map(function(t){return{key:t,val:t}}):Object.keys(e).map(function(t){return{key:t,val:e[t]}})}function x(n){return function(t,e){return"string"!=typeof t?(e=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),n(t,e)}}function $(t,e,n){t=t._modulesNamespaceMap[n];return t||console.error("[vuex] module namespace not found in "+e+"(): "+n),t}return{Store:t,install:d,version:"3.1.0",mapState:o,mapMutations:g,mapGetters:_,mapActions:b,createNamespacedHelpers:function(t){return{mapState:o.bind(null,t),mapGetters:_.bind(null,t),mapMutations:g.bind(null,t),mapActions:b.bind(null,t)}}}}),function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.VueResource=e()}(this,function(){"use strict";function a(t){this.state=2,this.value=void 0,this.deferred=[];var e=this;try{t(function(t){e.resolve(t)},function(t){e.reject(t)})}catch(t){e.reject(t)}}a.reject=function(n){return new a(function(t,e){e(n)})},a.resolve=function(n){return new a(function(t,e){t(n)})},a.all=function(i){return new a(function(n,t){var r=0,o=[];0===i.length&&n(o);for(var e=0;e<i.length;e+=1)a.resolve(i[e]).then(function(e){return function(t){o[e]=t,(r+=1)===i.length&&n(o)}}(e),t)})},a.race=function(r){return new a(function(t,e){for(var n=0;n<r.length;n+=1)a.resolve(r[n]).then(t,e)})};var t=a.prototype;function u(t,e){t instanceof Promise?this.promise=t:this.promise=new Promise(t.bind(e)),this.context=e}t.resolve=function(t){var e=this;if(2===e.state){if(t===e)throw new TypeError("Promise settled with itself.");var n=!1;try{var r=t&&t.then;if(null!==t&&"object"==typeof t&&"function"==typeof r)return void r.call(t,function(t){n||e.resolve(t),n=!0},function(t){n||e.reject(t),n=!0})}catch(t){return void(n||e.reject(t))}e.state=0,e.value=t,e.notify()}},t.reject=function(t){var e=this;if(2===e.state){if(t===e)throw new TypeError("Promise settled with itself.");e.state=1,e.value=t,e.notify()}},t.notify=function(){var i=this;n(function(){if(2!==i.state)for(;i.deferred.length;){var t=i.deferred.shift(),e=t[0],n=t[1],r=t[2],o=t[3];try{0===i.state?r("function"==typeof e?e.call(void 0,i.value):i.value):1===i.state&&("function"==typeof n?r(n.call(void 0,i.value)):o(i.value))}catch(t){o(t)}}},void 0)},t.then=function(n,r){var o=this;return new a(function(t,e){o.deferred.push([n,r,t,e]),o.notify()})},t.catch=function(t){return this.then(void 0,t)},"undefined"==typeof Promise&&(window.Promise=a),u.all=function(t,e){return new u(Promise.all(t),e)},u.resolve=function(t,e){return new u(Promise.resolve(t),e)},u.reject=function(t,e){return new u(Promise.reject(t),e)},u.race=function(t,e){return new u(Promise.race(t),e)};t=u.prototype;t.bind=function(t){return this.context=t,this},t.then=function(t,e){return t&&t.bind&&this.context&&(t=t.bind(this.context)),e&&e.bind&&this.context&&(e=e.bind(this.context)),new u(this.promise.then(t,e),this.context)},t.catch=function(t){return t&&t.bind&&this.context&&(t=t.bind(this.context)),new u(this.promise.catch(t),this.context)},t.finally=function(e){return this.then(function(t){return e.call(this),t},function(t){return e.call(this),Promise.reject(t)})};var n,o={}.hasOwnProperty,r=[].slice,f=!1,i="undefined"!=typeof window,e=function(t){var e=t.config,t=t.nextTick;n=t,f=e.debug||!e.silent};function c(t){return t?t.replace(/^\s*|\s*$/g,""):""}function s(t){return t?t.toLowerCase():""}var l=Array.isArray;function p(t){return"string"==typeof t}function d(t){return"function"==typeof t}function h(t){return null!==t&&"object"==typeof t}function v(t){return h(t)&&Object.getPrototypeOf(t)==Object.prototype}function m(t,e,n){t=u.resolve(t);return arguments.length<2?t:t.then(e,n)}function y(t,e,n){return d(n=n||{})&&(n=n.call(e)),b(t.bind({$vm:e,$options:n}),t,{$options:n})}function g(t,e){var n,r;if(l(t))for(n=0;n<t.length;n++)e.call(t[n],t[n],n);else if(h(t))for(r in t)o.call(t,r)&&e.call(t[r],t[r],r);return t}var _=Object.assign||function(e){return r.call(arguments,1).forEach(function(t){w(e,t)}),e};function b(e){return r.call(arguments,1).forEach(function(t){w(e,t,!0)}),e}function w(t,e,n){for(var r in e)n&&(v(e[r])||l(e[r]))?(v(e[r])&&!v(t[r])&&(t[r]={}),l(e[r])&&!l(t[r])&&(t[r]=[]),w(t[r],e[r],n)):void 0!==e[r]&&(t[r]=e[r])}function x(t,e,n){var r,a,s,t=(r=t,a=["+","#",".","/",";","?","&"],{vars:s=[],expand:function(i){return r.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(t,e,n){if(e){var r=null,o=[];if(-1!==a.indexOf(e.charAt(0))&&(r=e.charAt(0),e=e.substr(1)),e.split(/,/g).forEach(function(t){t=/([^:\*]*)(?::(\d+)|(\*))?/.exec(t);o.push.apply(o,function(t,e,n,r){var o=t[n],i=[];{var a;$(o)&&""!==o?"string"==typeof o||"number"==typeof o||"boolean"==typeof o?(o=o.toString(),r&&"*"!==r&&(o=o.substring(0,parseInt(r,10))),i.push(C(e,o,k(e)?n:null))):"*"===r?Array.isArray(o)?o.filter($).forEach(function(t){i.push(C(e,t,k(e)?n:null))}):Object.keys(o).forEach(function(t){$(o[t])&&i.push(C(e,o[t],t))}):(a=[],Array.isArray(o)?o.filter($).forEach(function(t){a.push(C(e,t))}):Object.keys(o).forEach(function(t){$(o[t])&&(a.push(encodeURIComponent(t)),a.push(C(e,o[t].toString())))}),k(e)?i.push(encodeURIComponent(n)+"="+a.join(",")):0!==a.length&&i.push(a.join(","))):";"===e?i.push(encodeURIComponent(n)):""!==o||"&"!==e&&"?"!==e?""===o&&i.push(""):i.push(encodeURIComponent(n)+"=")}return i}(i,r,t[1],t[2]||t[3])),s.push(t[1])}),r&&"+"!==r){e=",";return"?"===r?e="&":"#"!==r&&(e=r),(0!==o.length?r:"")+o.join(e)}return o.join(",")}return O(n)})}}),e=t.expand(e);return n&&n.push.apply(n,t.vars),e}function $(t){return null!=t}function k(t){return";"===t||"&"===t||"?"===t}function C(t,e,n){return e=("+"===t||"#"===t?O:encodeURIComponent)(e),n?encodeURIComponent(n)+"="+e:e}function O(t){return t.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t)),t}).join("")}function A(t,e){var o,i=this||{},n=t;return p(t)&&(n={url:t,params:e}),n=b({},A.options,i.$options,n),A.transforms.forEach(function(t){var e,n,r;p(t)&&(t=A.transform[t]),d(t)&&(e=t,n=o,r=i.$vm,o=function(t){return e.call(r,t,n)})}),o(n)}A.options={url:"",root:null,params:{}},A.transform={template:function(e){var t=[],n=x(e.url,e.params,t);return t.forEach(function(t){delete e.params[t]}),n},query:function(t,e){var n=Object.keys(A.options.params),r={},e=e(t);return g(t.params,function(t,e){-1===n.indexOf(e)&&(r[e]=t)}),(r=A.params(r))&&(e+=(-1==e.indexOf("?")?"?":"&")+r),e},root:function(t,e){var n=e(t);return p(t.root)&&!/^(https?:)?\//.test(n)&&(e=t.root,t="/",n=(e&&void 0===t?e.replace(/\s+$/,""):e&&t?e.replace(new RegExp("["+t+"]+$"),""):e)+"/"+n),n}},A.transforms=["template","query","root"],A.params=function(t){var e=[],n=encodeURIComponent;return e.add=function(t,e){d(e)&&(e=e()),null===e&&(e=""),this.push(n(t)+"="+n(e))},function n(r,t,o){var i,a=l(t),s=v(t);g(t,function(t,e){i=h(t)||l(t),o&&(e=o+"["+(s||i?e:"")+"]"),!o&&a?r.add(t.name,t.value):i?n(r,t,e):r.add(e,t)})}(e,t),e.join("&").replace(/%20/g,"+")},A.parse=function(t){var e=document.createElement("a");return document.documentMode&&(e.href=t,t=e.href),e.href=t,{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",port:e.port,host:e.host,hostname:e.hostname,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):""}};function S(o){return new u(function(n){function t(t){var e=t.type,t=0;"load"===e?t=200:"error"===e&&(t=500),n(o.respondWith(r.responseText,{status:t}))}var r=new XDomainRequest;o.abort=function(){return r.abort()},r.open(o.method,o.getUrl()),o.timeout&&(r.timeout=o.timeout),r.onload=t,r.onabort=t,r.onerror=t,r.ontimeout=t,r.onprogress=function(){},r.send(o.getBody())})}var T=i&&"withCredentials"in new XMLHttpRequest;function j(a){return new u(function(n){var r,t=a.jsonp||"callback",o=a.jsonpCallback||"_jsonp"+Math.random().toString(36).substr(2),i=null,e=function(t){var e=t.type,t=0;"load"===e&&null!==i?t=200:"error"===e&&(t=500),t&&window[o]&&(delete window[o],document.body.removeChild(r)),n(a.respondWith(i,{status:t}))};window[o]=function(t){i=JSON.stringify(t)},a.abort=function(){e({type:"abort"})},a.params[t]=o,a.timeout&&setTimeout(a.abort,a.timeout),(r=document.createElement("script")).src=a.getUrl(),r.type="text/javascript",r.async=!0,r.onload=e,r.onerror=e,document.body.appendChild(r)})}function E(o){return new u(function(n){function t(t){var e=o.respondWith("response"in r?r.response:r.responseText,{status:1223===r.status?204:r.status,statusText:1223===r.status?"No Content":c(r.statusText)});g(c(r.getAllResponseHeaders()).split("\n"),function(t){e.headers.append(t.slice(0,t.indexOf(":")),t.slice(t.indexOf(":")+1))}),n(e)}var r=new XMLHttpRequest;o.abort=function(){return r.abort()},o.progress&&("GET"===o.method?r.addEventListener("progress",o.progress):/^(POST|PUT)$/i.test(o.method)&&r.upload.addEventListener("progress",o.progress)),r.open(o.method,o.getUrl(),!0),o.timeout&&(r.timeout=o.timeout),o.responseType&&"responseType"in r&&(r.responseType=o.responseType),(o.withCredentials||o.credentials)&&(r.withCredentials=!0),o.crossOrigin||o.headers.set("X-Requested-With","XMLHttpRequest"),o.headers.forEach(function(t,e){r.setRequestHeader(e,t)}),r.onload=t,r.onabort=t,r.onerror=t,r.ontimeout=t,r.send(o.getBody())})}function M(a){var s=require("got");return new u(function(e){var n,t=a.getUrl(),r=a.getBody(),o=a.method,i={};a.headers.forEach(function(t,e){i[e]=t}),s(t,{body:r,method:o,headers:i}).then(n=function(t){var n=a.respondWith(t.body,{status:t.statusCode,statusText:c(t.statusMessage)});g(t.headers,function(t,e){n.headers.set(e,t)}),e(n)},function(t){return n(t.response)})})}var P=function(a){var s,c=[I],l=[];function t(i){return new u(function(e,n){function r(){var t;d(s=c.pop())?s.call(a,i,o):(t="Invalid interceptor of type "+typeof s+", must be a function","undefined"!=typeof console&&f&&console.warn("[VueResource warn]: "+t),o())}function o(t){if(d(t))l.unshift(t);else if(h(t))return l.forEach(function(e){t=m(t,function(t){return e.call(a,t)||t},n)}),void m(t,e,n);r()}r()},a)}return h(a)||(a=null),t.use=function(t){c.push(t)},t};function I(t,e){e((t.client||(i?E:M))(t))}function L(t){var n=this;this.map={},g(t,function(t,e){return n.append(e,t)})}function N(t,n){return Object.keys(t).reduce(function(t,e){return s(n)===s(e)?e:t},null)}L.prototype.has=function(t){return null!==N(this.map,t)},L.prototype.get=function(t){t=this.map[N(this.map,t)];return t?t.join():null},L.prototype.getAll=function(t){return this.map[N(this.map,t)]||[]},L.prototype.set=function(t,e){this.map[function(t){if(/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return c(t)}(N(this.map,t)||t)]=[c(e)]},L.prototype.append=function(t,e){var n=this.map[N(this.map,t)];n?n.push(c(e)):this.set(t,e)},L.prototype.delete=function(t){delete this.map[N(this.map,t)]},L.prototype.deleteAll=function(){this.map={}},L.prototype.forEach=function(n,r){var o=this;g(this.map,function(t,e){g(t,function(t){return n.call(r,t,e,o)})})};function D(t,e){var n,r=e.url,o=e.headers,i=e.status,e=e.statusText;this.url=r,this.ok=200<=i&&i<300,this.status=i||0,this.statusText=e||"",this.headers=new L(o),p(this.body=t)?this.bodyText=t:(o=t,"undefined"!=typeof Blob&&o instanceof Blob&&(this.bodyBlob=t,0!==(o=t).type.indexOf("text")&&-1===o.type.indexOf("json")||(this.bodyText=(n=t,new u(function(t){var e=new FileReader;e.readAsText(n),e.onload=function(){t(e.result)}})))))}D.prototype.blob=function(){return m(this.bodyBlob)},D.prototype.text=function(){return m(this.bodyText)},D.prototype.json=function(){return m(this.text(),function(t){return JSON.parse(t)})},Object.defineProperty(D.prototype,"data",{get:function(){return this.body},set:function(t){this.body=t}});var F=function(t){this.body=null,this.params={},_(this,t,{method:(t=t.method||"GET")?t.toUpperCase():""}),this.headers instanceof L||(this.headers=new L(this.headers))};F.prototype.getUrl=function(){return A(this)},F.prototype.getBody=function(){return this.body},F.prototype.respondWith=function(t,e){return new D(t,_(e||{},{url:this.getUrl()}))};t={"Content-Type":"application/json;charset=utf-8"};function R(t){var e=this||{},n=P(e.$vm);return function(n){r.call(arguments,1).forEach(function(t){for(var e in t)void 0===n[e]&&(n[e]=t[e])})}(t||{},e.$options,R.options),R.interceptors.forEach(function(t){p(t)&&(t=R.interceptor[t]),d(t)&&n.use(t)}),n(new F(t)).then(function(t){return t.ok?t:u.reject(t)},function(t){var e;return t instanceof Error&&(e=t,"undefined"!=typeof console&&console.error(e)),u.reject(t)})}function z(n,r,t,o){var i=this||{},a={};return g(t=_({},z.actions,t),function(t,e){t=b({url:n,params:_({},r)},o,t),a[e]=function(){return(i.$http||R)(function(t,e){var n,r=_({},t),t={};switch(e.length){case 2:t=e[0],n=e[1];break;case 1:/^(POST|PUT|PATCH)$/i.test(r.method)?n=e[0]:t=e[0];break;case 0:break;default:throw"Expected up to 2 arguments [params, body], got "+e.length+" arguments"}return r.body=n,r.params=_({},r.params,t),r}(t,arguments))}}),a}function H(n){H.installed||(e(n),n.url=A,n.http=R,n.resource=z,n.Promise=u,Object.defineProperties(n.prototype,{$url:{get:function(){return y(n.url,this,this.$options.url)}},$http:{get:function(){return y(n.http,this,this.$options.http)}},$resource:{get:function(){return n.resource.bind(this)}},$promise:{get:function(){var e=this;return function(t){return new n.Promise(t,e)}}}}))}return R.options={},R.headers={put:t,post:t,patch:t,delete:t,common:{Accept:"application/json, text/plain, */*"},custom:{}},R.interceptor={before:function(t,e){d(t.before)&&t.before.call(this,t),e()},method:function(t,e){t.emulateHTTP&&/^(PUT|PATCH|DELETE)$/i.test(t.method)&&(t.headers.set("X-HTTP-Method-Override",t.method),t.method="POST"),e()},jsonp:function(t,e){"JSONP"==t.method&&(t.client=j),e()},json:function(t,e){var o=t.headers.get("Content-Type")||"";h(t.body)&&0===o.indexOf("application/json")&&(t.body=JSON.stringify(t.body)),e(function(r){return r.bodyText?m(r.text(),function(t){if(0===(o=r.headers.get("Content-Type")||"").indexOf("application/json")||(n=(e=t).match(/^\[|^\{(?!\{)/))&&{"[":/]$/,"{":/}$/}[n[0]].test(e))try{r.body=JSON.parse(t)}catch(t){r.body=null}else r.body=t;var e,n;return r}):r})},form:function(t,e){var n;n=t.body,"undefined"!=typeof FormData&&n instanceof FormData?t.headers.delete("Content-Type"):h(t.body)&&t.emulateJSON&&(t.body=A.params(t.body),t.headers.set("Content-Type","application/x-www-form-urlencoded")),e()},header:function(n,t){g(_({},R.headers.common,n.crossOrigin?{}:R.headers.custom,R.headers[s(n.method)]),function(t,e){n.headers.has(e)||n.headers.set(e,t)}),t()},cors:function(t,e){var n,r;i&&(n=A.parse(location.href),(r=A.parse(t.getUrl())).protocol===n.protocol&&r.host===n.host||(t.crossOrigin=!0,t.emulateHTTP=!1,T||(t.client=S))),e()}},R.interceptors=["before","method","jsonp","json","form","header","cors"],["get","delete","head","jsonp"].forEach(function(n){R[n]=function(t,e){return this(_(e||{},{url:t,method:n}))}}),["post","put","patch"].forEach(function(r){R[r]=function(t,e,n){return this(_(n||{},{url:t,method:r,body:e}))}}),z.actions={get:{method:"GET"},save:{method:"POST"},query:{method:"GET"},update:{method:"PUT"},remove:{method:"DELETE"},delete:{method:"DELETE"}},"undefined"!=typeof window&&window.Vue&&window.Vue.use(H),H}),Object.prototype.watchChange||(isFunction=function(t){return t&&"[object Function]"==={}.toString.call(t)},Object.defineProperty(Object.prototype,"watchChange",{enumerable:!1,configurable:!0,writable:!1,value:function(t,e){var i=this;function n(e,n){var r=i[e],o=r;delete i[e]&&Object.defineProperty(i,e,{get:function(){return o},set:function(t){return o=n.call(i,e,r,t)},enumerable:!0,configurable:!0})}if(isFunction(t))for(var r in this)n(r,t);else n(t,e)}})),Object.prototype.unwatchChange||Object.defineProperty(Object.prototype,"unwatchChange",{enumerable:!1,configurable:!0,writable:!1,value:function(t){var e=this[t];delete this[t],this[t]=e}}),function(a){a.alerts={verticalOffset:-75,horizontalOffset:0,repositionOnResize:!0,overlayOpacity:.01,overlayColor:"#FFF",draggable:!0,okButton:" OK ",cancelButton:" Cancel ",dialogClass:null,alert:function(t,e,n){null==e&&(e="Alert"),a.alerts._show(e,t,null,"alert",function(t){n&&n(t)})},confirm:function(t,e,n){null==e&&(e="Confirm"),a.alerts._show(e,t,null,"confirm",function(t){n&&n(t)})},prompt:function(t,e,n,r){null==n&&(n="Prompt"),a.alerts._show(n,t,e,"prompt",function(t){r&&r(t)})},_show:function(t,e,n,r,o){a.alerts._hide(),a.alerts._overlay("show"),a("BODY").append('<div id="popup_container"><h1 id="popup_title"></h1><div id="popup_content"><div id="popup_message"></div></div></div>'),a.alerts.dialogClass&&a("#popup_container").addClass(a.alerts.dialogClass);var i=a.browser.msie&&parseInt(a.browser.version)<=6?"absolute":"fixed";switch(a("#popup_container").css({position:i,zIndex:99999,padding:0,margin:0}),a("#popup_title").text(t),a("#popup_content").addClass(r),a("#popup_message").text(e),a("#popup_message").html(a("#popup_message").text().replace(/\n/g,"<br />")),a("#popup_container").css({minWidth:a("#popup_container").outerWidth(),maxWidth:a("#popup_container").outerWidth()}),a.alerts._reposition(),a.alerts._maintainPosition(!0),r){case"alert":a("#popup_message").after('<div id="popup_panel"><input type="button" value="'+a.alerts.okButton+'" id="popup_ok" /></div>'),a("#popup_ok").click(function(){a.alerts._hide(),o(!0)}),a("#popup_ok").focus().keypress(function(t){13!=t.keyCode&&27!=t.keyCode||a("#popup_ok").trigger("click")});break;case"confirm":a("#popup_message").after('<div id="popup_panel"><input type="button" value="'+a.alerts.okButton+'" id="popup_ok" /> <input type="button" value="'+a.alerts.cancelButton+'" id="popup_cancel" /></div>'),a("#popup_ok").click(function(){a.alerts._hide(),o&&o(!0)}),a("#popup_cancel").click(function(){a.alerts._hide(),o&&o(!1)}),a("#popup_ok").focus(),a("#popup_ok, #popup_cancel").keypress(function(t){13==t.keyCode&&a("#popup_ok").trigger("click"),27==t.keyCode&&a("#popup_cancel").trigger("click")});break;case"prompt":a("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="'+a.alerts.okButton+'" id="popup_ok" /> <input type="button" value="'+a.alerts.cancelButton+'" id="popup_cancel" /></div>'),a("#popup_prompt").width(a("#popup_message").width()),a("#popup_ok").click(function(){var t=a("#popup_prompt").val();a.alerts._hide(),o&&o(t)}),a("#popup_cancel").click(function(){a.alerts._hide(),o&&o(null)}),a("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(t){13==t.keyCode&&a("#popup_ok").trigger("click"),27==t.keyCode&&a("#popup_cancel").trigger("click")}),n&&a("#popup_prompt").val(n),a("#popup_prompt").focus().select()}if(a.alerts.draggable)try{a("#popup_container").draggable({handle:a("#popup_title")}),a("#popup_title").css({cursor:"move"})}catch(t){}},_hide:function(){a("#popup_container").remove(),a.alerts._overlay("hide"),a.alerts._maintainPosition(!1)},_overlay:function(t){switch(t){case"show":a.alerts._overlay("hide"),a("BODY").append('<div id="popup_overlay"></div>'),a("#popup_overlay").css({position:"absolute",zIndex:99998,top:"0px",left:"0px",width:"100%",height:a(document).height(),background:a.alerts.overlayColor,opacity:a.alerts.overlayOpacity});break;case"hide":a("#popup_overlay").remove()}},_reposition:function(){var t=a(window).height()/2-a("#popup_container").outerHeight()/2+a.alerts.verticalOffset,e=a(window).width()/2-a("#popup_container").outerWidth()/2+a.alerts.horizontalOffset;t<0&&(t=0),e<0&&(e=0),a.browser.msie&&parseInt(a.browser.version)<=6&&(t+=a(window).scrollTop()),a("#popup_container").css({top:t+"px",left:e+"px"}),a("#popup_overlay").height(a(document).height())},_maintainPosition:function(t){if(a.alerts.repositionOnResize)switch(t){case!0:a(window).bind("resize",a.alerts._reposition);break;case!1:a(window).unbind("resize",a.alerts._reposition)}}},window.jAlert=function(t,e,n){a.alerts.alert(t,e,n)},window.jConfirm=function(t,e,n){a.alerts.confirm(t,e,n)},window.jPrompt=function(t,e,n,r){a.alerts.prompt(t,e,n,r)}}(jQuery),function(i){var r,o=[],a=!1,s=!1,c={interval:250,force_process:!1},l=i(window);function u(){s=!1;for(var t=0;t<o.length;t++){var e,n=i(o[t]).filter(function(){return i(this).is(":appeared")});n.trigger("appear",[n]),r&&(e=r.not(n)).trigger("disappear",[e]),r=n}}i.expr[":"].appeared=function(t){var e=i(t);if(!e.is(":visible"))return!1;var n=l.scrollLeft(),r=l.scrollTop(),o=e.offset(),t=o.left,o=o.top;return o+e.height()>=r&&o-(e.data("appear-top-offset")||0)<=r+l.height()&&t+e.width()>=n&&t-(e.data("appear-left-offset")||0)<=n+l.width()},i.fn.extend({appear:function(t){var e=i.extend({},c,t||{}),n=this.selector||this;return a||(t=function(){s||(s=!0,setTimeout(u,e.interval))},i(window).scroll(t).resize(t),a=!0),e.force_process&&setTimeout(u,e.interval),o.push(n),i(n)}}),i.extend({force_appear:function(){return!!a&&(u(),!0)}})}(jQuery),function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(o){"use strict";var y=o.scrollTo=function(t,e,n){return o(window).scrollTo(t,e,n)};function i(t){return!t.nodeName||-1!==o.inArray(t.nodeName.toLowerCase(),["iframe","#document","html","body"])}function e(t){return o.isFunction(t)||o.isPlainObject(t)?t:{top:t,left:t}}return y.defaults={axis:"xy",duration:0,limit:!0},o.fn.scrollTo=function(t,n,v){"object"==typeof n&&(v=n,n=0),"function"==typeof v&&(v={onAfter:v}),"max"===t&&(t=9e9),v=o.extend({},y.defaults,v),n=n||v.duration;var m=v.queue&&1<v.axis.length;return m&&(n/=2),v.offset=e(v.offset),v.over=e(v.over),this.each(function(){if(null!==t){var s,c=i(this),l=c?this.contentWindow||window:this,u=o(l),f=t,p={};switch(typeof f){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(f)){f=e(f);break}f=c?o(f):o(f,l);case"object":if(0===f.length)return;(f.is||f.style)&&(s=(f=o(f)).offset())}var d=o.isFunction(v.offset)&&v.offset(l,f)||v.offset;o.each(v.axis.split(""),function(t,e){var n="x"===e?"Left":"Top",r=n.toLowerCase(),o="scroll"+n,i=u[o](),a=y.max(l,e);s?(p[o]=s[r]+(c?0:i-u.offset()[r]),v.margin&&(p[o]-=parseInt(f.css("margin"+n),10)||0,p[o]-=parseInt(f.css("border"+n+"Width"),10)||0),p[o]+=d[r]||0,v.over[r]&&(p[o]+=f["x"===e?"width":"height"]()*v.over[r])):(r=f[r],p[o]=r.slice&&"%"===r.slice(-1)?parseFloat(r)/100*a:r),v.limit&&/^\d+$/.test(p[o])&&(p[o]=p[o]<=0?0:Math.min(p[o],a)),!t&&1<v.axis.length&&(i===p[o]?p={}:m&&(h(v.onAfterFirst),p={}))}),h(v.onAfter)}function h(t){var e=o.extend({},v,{queue:!0,duration:n,complete:t&&function(){t.call(l,f,v)}});u.animate(p,e)}})},y.max=function(t,e){var n="x"===e?"Width":"Height",r="scroll"+n;if(!i(t))return t[r]-o(t)[n.toLowerCase()]();e="client"+n,n=t.ownerDocument||t.document,t=n.documentElement,n=n.body;return Math.max(t[r],n[r])-Math.min(t[e],n[e])},o.Tween.propHooks.scrollLeft=o.Tween.propHooks.scrollTop={get:function(t){return o(t.elem)[t.prop]()},set:function(t){var e=this.get(t);if(t.options.interrupt&&t._last&&t._last!==e)return o(t.elem).stop();var n=Math.round(t.now);e!==n&&(o(t.elem)[t.prop](n),t._last=this.get(t))}},y}),function(r){r.backward_timer=function(t){var e={seconds:5,step:1,format:"h%:m%:s%",value_setter:void 0,on_exhausted:function(t){},on_tick:function(t){}},n=this;n.seconds_left=0,n.target=r(t),n.timeout=void 0,n.settings={},n.methods={init:function(t){n.settings=r.extend({},e,t),null==n.settings.value_setter&&(n.target.is("input")?n.settings.value_setter="val":n.settings.value_setter="text"),n.methods.reset()},start:function(){var t;null==n.timeout&&(t=n.seconds_left==n.settings.seconds?0:1e3*n.settings.step,setTimeout(n.methods._on_tick,t,t))},cancel:function(){null!=n.timeout&&(clearTimeout(n.timeout),n.timeout=void 0)},reset:function(){n.seconds_left=n.settings.seconds,n.methods._render_seconds()},_on_tick:function(t){0!=t&&n.settings.on_tick(n),n.methods._render_seconds(),0<n.seconds_left?(t=n.seconds_left<n.settings.step?n.seconds_left:n.settings.step,n.seconds_left-=t,t=1e3*t,n.timeout=setTimeout(n.methods._on_tick,t,t)):(n.timeout=void 0,n.settings.on_exhausted(n))},_render_seconds:function(){var t=n.methods._seconds_to_dhms(n.seconds_left),e=n.settings.format;e=(e=-1!==e.indexOf("d%")?e.replace("d%",t.d).replace("h%",n.methods._check_leading_zero(t.h)):e.replace("h%",24*t.d+t.h)).replace("m%",n.methods._check_leading_zero(t.m)).replace("s%",n.methods._check_leading_zero(t.s)),n.target[n.settings.value_setter](e)},_seconds_to_dhms:function(t){var e=Math.floor(t/86400),t=t-24*e*3600,n=Math.floor(t/3600),t=t-3600*n,r=Math.floor(t/60);return{d:e,h:n,m:r,s:Math.floor(t-60*r)}},_check_leading_zero:function(t){return t<10?"0"+t:""+t}}},r.fn.backward_timer=function(e){var n=arguments;return this.each(function(){var t=r(this).data("backward_timer");return null==t&&(t=new r.backward_timer(this),r(this).data("backward_timer",t)),t.methods[e]?t.methods[e].apply(this,Array.prototype.slice.call(n,1)):"object"!=typeof e&&e?void r.error("Method "+e+" does not exist on jQuery.backward_timer"):t.methods.init.apply(this,n)})}}(jQuery),function(t,e){"function"==typeof define&&define.amd?define(["jquery"],e):e(t.jQuery)}(this,function(y){"use strict";var l={data:{index:0,name:"scrollbar"},macosx:/mac/i.test(navigator.platform),mobile:/android|webos|iphone|ipad|ipod|blackberry/i.test(navigator.userAgent),overlay:null,scroll:null,scrolls:[],webkit:/webkit/i.test(navigator.userAgent)&&!/edge\/\d+/i.test(navigator.userAgent)};l.scrolls.add=function(t){this.remove(t).push(t)};function t(t){var e;l.scroll||(l.overlay=!((e=i(!0)).height||e.width),l.scroll=i(),u(),y(window).resize(function(){var t,e=!1;l.scroll&&(l.scroll.height||l.scroll.width)&&((t=i()).height===l.scroll.height&&t.width===l.scroll.width||(l.scroll=t,e=!0)),u(e)})),this.container=t,this.namespace=".scrollbar_"+l.data.index++,this.options=y.extend({},n,window.jQueryScrollbarOptions||{}),this.scrollTo=null,this.scrollx={},this.scrolly={},t.data(l.data.name,this),l.scrolls.add(this)}var n={autoScrollSize:!0,autoUpdate:!0,debug:!(l.scrolls.remove=function(t){for(;0<=y.inArray(t,this);)this.splice(y.inArray(t,this),1);return this}),disableBodyScroll:!1,duration:200,ignoreMobile:!1,ignoreOverlay:!1,scrollStep:30,showArrows:!1,stepScrolling:!0,scrollx:null,scrolly:null,onDestroy:null,onInit:null,onScroll:null,onUpdate:null};t.prototype={destroy:function(){var t,e;this.wrapper&&(this.container.removeData(l.data.name),l.scrolls.remove(this),t=this.container.scrollLeft(),e=this.container.scrollTop(),this.container.insertBefore(this.wrapper).css({height:"",margin:"","max-height":""}).removeClass("scroll-content scroll-scrollx_visible scroll-scrolly_visible").off(this.namespace).scrollLeft(t).scrollTop(e),this.scrollx.scroll.removeClass("scroll-scrollx_visible").find("div").andSelf().off(this.namespace),this.scrolly.scroll.removeClass("scroll-scrolly_visible").find("div").andSelf().off(this.namespace),this.wrapper.remove(),y(document).add("body").off(this.namespace),y.isFunction(this.options.onDestroy)&&this.options.onDestroy.apply(this,[this.container]))},init:function(t){var p=this,d=this.container,r=this.containerWrapper||d,h=this.namespace,v=y.extend(this.options,t||{}),m={x:this.scrollx,y:this.scrolly},n=this.wrapper,e={scrollLeft:d.scrollLeft(),scrollTop:d.scrollTop()};l.mobile&&v.ignoreMobile||l.overlay&&v.ignoreOverlay||l.macosx&&l.webkit,n?r.css({height:"auto","margin-bottom":-1*l.scroll.height+"px","margin-right":-1*l.scroll.width+"px","max-height":""}):(this.wrapper=n=y("<div>").addClass("scroll-wrapper").addClass(d.attr("class")).css("position","absolute"==d.css("position")?"absolute":"relative").insertBefore(d).append(d),d.is("textarea")&&(this.containerWrapper=r=y("<div>").insertBefore(d).append(d),n.addClass("scroll-textarea")),r.addClass("scroll-content").css({height:"auto","margin-bottom":-1*l.scroll.height+"px","margin-right":-1*l.scroll.width+"px","max-height":""}),d.on("scroll"+h,function(t){y.isFunction(v.onScroll)&&v.onScroll.call(p,{maxScroll:m.y.maxScrollOffset,scroll:d.scrollTop(),size:m.y.size,visible:m.y.visible},{maxScroll:m.x.maxScrollOffset,scroll:d.scrollLeft(),size:m.x.size,visible:m.x.visible}),m.x.isVisible&&m.x.scroll.bar.css("left",d.scrollLeft()*m.x.kx+"px"),m.y.isVisible&&m.y.scroll.bar.css("top",d.scrollTop()*m.y.kx+"px")}),n.on("scroll"+h,function(){n.scrollTop(0).scrollLeft(0)}),v.disableBodyScroll&&(t=function(t){g(t)?m.y.isVisible&&m.y.mousewheel(t):m.x.isVisible&&m.x.mousewheel(t)},n.on("MozMousePixelScroll"+h,t),n.on("mousewheel"+h,t),l.mobile&&n.on("touchstart"+h,function(t){var t=t.originalEvent.touches&&t.originalEvent.touches[0]||t,n=t.pageX,r=t.pageY,o=d.scrollLeft(),i=d.scrollTop();y(document).on("touchmove"+h,function(t){var e=t.originalEvent.targetTouches&&t.originalEvent.targetTouches[0]||t;d.scrollLeft(o+n-e.pageX),d.scrollTop(i+r-e.pageY),t.preventDefault()}),y(document).on("touchend"+h,function(){y(document).off(h)})})),y.isFunction(v.onInit)&&v.onInit.apply(this,[d])),y.each(m,function(o,i){function a(){var t=d[l]();d[l](t+u),1==c&&f<=t+u&&(t=d[l]()),-1==c&&t+u<=f&&(t=d[l]()),d[l]()==t&&s&&s()}var s=null,c=1,l="x"===o?"scrollLeft":"scrollTop",u=v.scrollStep,f=0;i.scroll||(i.scroll=p._getScroll(v["scroll"+o]).addClass("scroll-"+o),v.showArrows&&i.scroll.addClass("scroll-element_arrows_visible"),i.mousewheel=function(t){if(!i.isVisible||"x"===o&&g(t))return!0;if("y"===o&&!g(t))return m.x.mousewheel(t),!0;var e=-1*t.originalEvent.wheelDelta||t.originalEvent.detail,n=i.size-i.visible-i.offset;return(0<e&&f<n||e<0&&0<f)&&((f+=e)<0&&(f=0),n<f&&(f=n),p.scrollTo=p.scrollTo||{},p.scrollTo[l]=f,setTimeout(function(){p.scrollTo&&(d.stop().animate(p.scrollTo,240,"linear",function(){f=d[l]()}),p.scrollTo=null)},1)),t.preventDefault(),!1},i.scroll.on("MozMousePixelScroll"+h,i.mousewheel).on("mousewheel"+h,i.mousewheel).on("mouseenter"+h,function(){f=d[l]()}),i.scroll.find(".scroll-arrow, .scroll-element_track").on("mousedown"+h,function(t){if(1!=t.which)return!0;c=1;var e={eventOffset:t["x"===o?"pageX":"pageY"],maxScrollValue:i.size-i.visible-i.offset,scrollbarOffset:i.scroll.bar.offset()["x"===o?"left":"top"],scrollbarSize:i.scroll.bar["x"===o?"outerWidth":"outerHeight"]()},n=0,r=0;return f=y(this).hasClass("scroll-arrow")?(c=y(this).hasClass("scroll-arrow_more")?1:-1,u=v.scrollStep*c,0<c?e.maxScrollValue:0):(c=e.scrollbarOffset+e.scrollbarSize<e.eventOffset?1:e.eventOffset<e.scrollbarOffset?-1:0,u=Math.round(.75*i.visible)*c,f=e.eventOffset-e.scrollbarOffset-(v.stepScrolling?1==c?e.scrollbarSize:0:Math.round(e.scrollbarSize/2)),d[l]()+f/i.kx),p.scrollTo=p.scrollTo||{},p.scrollTo[l]=v.stepScrolling?d[l]()+u:f,v.stepScrolling&&(s=function(){f=d[l](),clearInterval(r),clearTimeout(n),r=n=0},n=setTimeout(function(){r=setInterval(a,40)},v.duration+100)),setTimeout(function(){p.scrollTo&&(d.animate(p.scrollTo,v.duration),p.scrollTo=null)},1),p._handleMouseDown(s,t)}),i.scroll.bar.on("mousedown"+h,function(t){if(1!=t.which)return!0;var e=t["x"===o?"pageX":"pageY"],n=d[l]();return i.scroll.addClass("scroll-draggable"),y(document).on("mousemove"+h,function(t){t=parseInt((t["x"===o?"pageX":"pageY"]-e)/i.kx,10);d[l](n+t)}),p._handleMouseDown(function(){i.scroll.removeClass("scroll-draggable"),f=d[l]()},t)}))}),y.each(m,function(t,e){var n="scroll-scroll"+t+"_visible",t="x"==t?m.y:m.x;e.scroll.removeClass(n),t.scroll.removeClass(n),r.removeClass(n)}),y.each(m,function(t,e){y.extend(e,"x"==t?{offset:parseInt(d.css("left"),10)||0,size:d.prop("scrollWidth"),visible:n.width()}:{offset:parseInt(d.css("top"),10)||0,size:d.prop("scrollHeight"),visible:n.height()})}),this._updateScroll("x",this.scrollx),this._updateScroll("y",this.scrolly),y.isFunction(v.onUpdate)&&v.onUpdate.apply(this,[d]),y.each(m,function(t,e){var n="x"===t?"left":"top",r="x"===t?"outerWidth":"outerHeight",o="x"===t?"width":"height",i=parseInt(d.css(n),10)||0,t=e.size,i=e.visible+i,n=e.scroll.size[r]()+(parseInt(e.scroll.size.css(n),10)||0);v.autoScrollSize&&(e.scrollbarSize=parseInt(n*i/t,10),e.scroll.bar.css(o,e.scrollbarSize+"px")),e.scrollbarSize=e.scroll.bar[r](),e.kx=(n-e.scrollbarSize)/(t-i)||1,e.maxScrollOffset=t-i}),d.scrollLeft(e.scrollLeft).scrollTop(e.scrollTop).trigger("scroll")},_getScroll:function(t){var e={advanced:['<div class="scroll-element">','<div class="scroll-element_corner"></div>','<div class="scroll-arrow scroll-arrow_less"></div>','<div class="scroll-arrow scroll-arrow_more"></div>','<div class="scroll-element_outer">','<div class="scroll-element_size"></div>','<div class="scroll-element_inner-wrapper">','<div class="scroll-element_inner scroll-element_track">','<div class="scroll-element_inner-bottom"></div>',"</div>","</div>",'<div class="scroll-bar">','<div class="scroll-bar_body">','<div class="scroll-bar_body-inner"></div>',"</div>",'<div class="scroll-bar_bottom"></div>','<div class="scroll-bar_center"></div>',"</div>","</div>","</div>"].join(""),simple:['<div class="scroll-element">','<div class="scroll-element_outer">','<div class="scroll-element_size"></div>','<div class="scroll-element_track"></div>','<div class="scroll-bar"></div>',"</div>","</div>"].join("")};return e[t]&&(t=e[t]),t="string"==typeof(t=t||e.simple)?y(t).appendTo(this.wrapper):y(t),y.extend(t,{bar:t.find(".scroll-bar"),size:t.find(".scroll-element_size"),track:t.find(".scroll-element_track")}),t},_handleMouseDown:function(t,e){var n=this.namespace;return y(document).on("blur"+n,function(){y(document).add("body").off(n),t&&t()}),y(document).on("dragstart"+n,function(t){return t.preventDefault(),!1}),y(document).on("mouseup"+n,function(){y(document).add("body").off(n),t&&t()}),y("body").on("selectstart"+n,function(t){return t.preventDefault(),!1}),e&&e.preventDefault(),!1},_updateScroll:function(t,e){var n=this.container,r=this.containerWrapper||n,o="scroll-scroll"+t+"_visible",i="x"===t?this.scrolly:this.scrollx,a=parseInt(this.container.css("x"===t?"left":"top"),10)||0,s=this.wrapper,c=e.size,a=e.visible+a;e.isVisible=1<c-a,e.isVisible?(e.scroll.addClass(o),i.scroll.addClass(o),r.addClass(o)):(e.scroll.removeClass(o),i.scroll.removeClass(o),r.removeClass(o)),"y"===t&&(n.is("textarea")||c<a?r.css({height:a+l.scroll.height+"px","max-height":"none"}):r.css({"max-height":a+l.scroll.height+"px"})),e.size==n.prop("scrollWidth")&&i.size==n.prop("scrollHeight")&&e.visible==s.width()&&i.visible==s.height()&&e.offset==(parseInt(n.css("left"),10)||0)&&i.offset==(parseInt(n.css("top"),10)||0)||(y.extend(this.scrollx,{offset:parseInt(n.css("left"),10)||0,size:n.prop("scrollWidth"),visible:s.width()}),y.extend(this.scrolly,{offset:parseInt(n.css("top"),10)||0,size:this.container.prop("scrollHeight"),visible:s.height()}),this._updateScroll("x"===t?"y":"x",i))}};var o=t;y.fn.scrollbar=function(n,r){return"string"!=typeof n&&(r=n,n="init"),void 0===r&&(r=[]),y.isArray(r)||(r=[r]),this.not("body, .scroll-wrapper").each(function(){var t=y(this),e=t.data(l.data.name);(e||"init"===n)&&(e=e||new o(t))[n]&&e[n].apply(e,r)}),this},y.fn.scrollbar.options=n;var c,r,u=(c=0,function(t){for(var e,n,r,o,i,a,s=0;s<l.scrolls.length;s++)e=(r=l.scrolls[s]).container,n=r.options,o=r.wrapper,i=r.scrollx,a=r.scrolly,(t||n.autoUpdate&&o&&o.is(":visible")&&(e.prop("scrollWidth")!=i.size||e.prop("scrollHeight")!=a.size||o.width()!=i.visible||o.height()!=a.visible))&&(r.init(),n.debug&&(window.console&&console.log({scrollHeight:e.prop("scrollHeight")+":"+r.scrolly.size,scrollWidth:e.prop("scrollWidth")+":"+r.scrollx.size,visibleHeight:o.height()+":"+r.scrolly.visible,visibleWidth:o.width()+":"+r.scrollx.visible},!0),0));clearTimeout(c),c=setTimeout(u,300)});function i(t){return l.webkit&&!t?{height:0,width:0}:(l.data.outer||(t={border:"none","box-sizing":"content-box",height:"200px",margin:"0",padding:"0",width:"200px"},l.data.inner=y("<div>").css(y.extend({},t)),l.data.outer=y("<div>").css(y.extend({left:"-1000px",overflow:"scroll",position:"absolute",top:"-1000px"},t)).append(l.data.inner).appendTo("body")),l.data.outer.scrollLeft(1e3).scrollTop(1e3),{height:Math.ceil(l.data.outer.offset().top-l.data.inner.offset().top||0),width:Math.ceil(l.data.outer.offset().left-l.data.inner.offset().left||0)})}function g(t){t=t.originalEvent;return(!t.axis||t.axis!==t.HORIZONTAL_AXIS)&&!t.wheelDeltaX}window.angular&&(r=window.angular).module("jQueryScrollbar",[]).provider("jQueryScrollbar",function(){var e=n;return{setOptions:function(t){r.extend(e,t)},$get:function(){return{options:r.copy(e)}}}}).directive("jqueryScrollbar",["jQueryScrollbar","$parse",function(r,o){return{restrict:"AC",link:function(t,e,n){t=o(n.jqueryScrollbar)(t);e.scrollbar(t||r.options).on("$destroy",function(){e.scrollbar("destroy")})}}}])});
|
assets/src/js/plugins.all.min.js
ADDED
@@ -0,0 +1,5626 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var isFunction;
|
2 |
+
!(function (t, e) {
|
3 |
+
"object" == typeof exports && "undefined" != typeof module ? (module.exports = e()) : "function" == typeof define && define.amd ? define(e) : ((t = t || self).Vue = e());
|
4 |
+
})(this, function () {
|
5 |
+
"use strict";
|
6 |
+
var d = Object.freeze({});
|
7 |
+
function P(t) {
|
8 |
+
return null == t;
|
9 |
+
}
|
10 |
+
function I(t) {
|
11 |
+
return null != t;
|
12 |
+
}
|
13 |
+
function O(t) {
|
14 |
+
return !0 === t;
|
15 |
+
}
|
16 |
+
function l(t) {
|
17 |
+
return "string" == typeof t || "number" == typeof t || "symbol" == typeof t || "boolean" == typeof t;
|
18 |
+
}
|
19 |
+
function L(t) {
|
20 |
+
return null !== t && "object" == typeof t;
|
21 |
+
}
|
22 |
+
var n = Object.prototype.toString;
|
23 |
+
function c(t) {
|
24 |
+
return "[object Object]" === n.call(t);
|
25 |
+
}
|
26 |
+
function o(t) {
|
27 |
+
var e = parseFloat(String(t));
|
28 |
+
return 0 <= e && Math.floor(e) === e && isFinite(t);
|
29 |
+
}
|
30 |
+
function h(t) {
|
31 |
+
return I(t) && "function" == typeof t.then && "function" == typeof t.catch;
|
32 |
+
}
|
33 |
+
function e(t) {
|
34 |
+
return null == t ? "" : Array.isArray(t) || (c(t) && t.toString === n) ? JSON.stringify(t, null, 2) : String(t);
|
35 |
+
}
|
36 |
+
function N(t) {
|
37 |
+
var e = parseFloat(t);
|
38 |
+
return isNaN(e) ? t : e;
|
39 |
+
}
|
40 |
+
function a(t, e) {
|
41 |
+
for (var n = Object.create(null), r = t.split(","), o = 0; o < r.length; o++) n[r[o]] = !0;
|
42 |
+
return e
|
43 |
+
? function (t) {
|
44 |
+
return n[t.toLowerCase()];
|
45 |
+
}
|
46 |
+
: function (t) {
|
47 |
+
return n[t];
|
48 |
+
};
|
49 |
+
}
|
50 |
+
var u = a("slot,component", !0),
|
51 |
+
f = a("key,ref,slot,slot-scope,is");
|
52 |
+
function v(t, e) {
|
53 |
+
if (t.length) {
|
54 |
+
e = t.indexOf(e);
|
55 |
+
if (-1 < e) return t.splice(e, 1);
|
56 |
+
}
|
57 |
+
}
|
58 |
+
var r = Object.prototype.hasOwnProperty;
|
59 |
+
function p(t, e) {
|
60 |
+
return r.call(t, e);
|
61 |
+
}
|
62 |
+
function t(e) {
|
63 |
+
var n = Object.create(null);
|
64 |
+
return function (t) {
|
65 |
+
return n[t] || (n[t] = e(t));
|
66 |
+
};
|
67 |
+
}
|
68 |
+
var i = /-(\w)/g,
|
69 |
+
m = t(function (t) {
|
70 |
+
return t.replace(i, function (t, e) {
|
71 |
+
return e ? e.toUpperCase() : "";
|
72 |
+
});
|
73 |
+
}),
|
74 |
+
s = t(function (t) {
|
75 |
+
return t.charAt(0).toUpperCase() + t.slice(1);
|
76 |
+
}),
|
77 |
+
y = /\B([A-Z])/g,
|
78 |
+
g = t(function (t) {
|
79 |
+
return t.replace(y, "-$1").toLowerCase();
|
80 |
+
}),
|
81 |
+
_ = Function.prototype.bind
|
82 |
+
? function (t, e) {
|
83 |
+
return t.bind(e);
|
84 |
+
}
|
85 |
+
: function (n, r) {
|
86 |
+
function t(t) {
|
87 |
+
var e = arguments.length;
|
88 |
+
return e ? (1 < e ? n.apply(r, arguments) : n.call(r, t)) : n.call(r);
|
89 |
+
}
|
90 |
+
return (t._length = n.length), t;
|
91 |
+
};
|
92 |
+
function b(t, e) {
|
93 |
+
e = e || 0;
|
94 |
+
for (var n = t.length - e, r = new Array(n); n--; ) r[n] = t[n + e];
|
95 |
+
return r;
|
96 |
+
}
|
97 |
+
function w(t, e) {
|
98 |
+
for (var n in e) t[n] = e[n];
|
99 |
+
return t;
|
100 |
+
}
|
101 |
+
function x(t) {
|
102 |
+
for (var e = {}, n = 0; n < t.length; n++) t[n] && w(e, t[n]);
|
103 |
+
return e;
|
104 |
+
}
|
105 |
+
function $(t, e, n) {}
|
106 |
+
function k(t, e, n) {
|
107 |
+
return !1;
|
108 |
+
}
|
109 |
+
var C = function (t) {
|
110 |
+
return t;
|
111 |
+
};
|
112 |
+
function A(e, n) {
|
113 |
+
if (e === n) return !0;
|
114 |
+
var t = L(e),
|
115 |
+
r = L(n);
|
116 |
+
if (!t || !r) return !t && !r && String(e) === String(n);
|
117 |
+
try {
|
118 |
+
var o = Array.isArray(e),
|
119 |
+
i = Array.isArray(n);
|
120 |
+
if (o && i)
|
121 |
+
return (
|
122 |
+
e.length === n.length &&
|
123 |
+
e.every(function (t, e) {
|
124 |
+
return A(t, n[e]);
|
125 |
+
})
|
126 |
+
);
|
127 |
+
if (e instanceof Date && n instanceof Date) return e.getTime() === n.getTime();
|
128 |
+
if (o || i) return !1;
|
129 |
+
(o = Object.keys(e)), (i = Object.keys(n));
|
130 |
+
return (
|
131 |
+
o.length === i.length &&
|
132 |
+
o.every(function (t) {
|
133 |
+
return A(e[t], n[t]);
|
134 |
+
})
|
135 |
+
);
|
136 |
+
} catch (e) {
|
137 |
+
return !1;
|
138 |
+
}
|
139 |
+
}
|
140 |
+
function S(t, e) {
|
141 |
+
for (var n = 0; n < t.length; n++) if (A(t[n], e)) return n;
|
142 |
+
return -1;
|
143 |
+
}
|
144 |
+
function D(t) {
|
145 |
+
var e = !1;
|
146 |
+
return function () {
|
147 |
+
e || ((e = !0), t.apply(this, arguments));
|
148 |
+
};
|
149 |
+
}
|
150 |
+
var T = "data-server-rendered",
|
151 |
+
j = ["component", "directive", "filter"],
|
152 |
+
E = ["beforeCreate", "created", "beforeMount", "mounted", "beforeUpdate", "updated", "beforeDestroy", "destroyed", "activated", "deactivated", "errorCaptured", "serverPrefetch"],
|
153 |
+
M = {
|
154 |
+
optionMergeStrategies: Object.create(null),
|
155 |
+
silent: !1,
|
156 |
+
productionTip: !1,
|
157 |
+
devtools: !1,
|
158 |
+
performance: !1,
|
159 |
+
errorHandler: null,
|
160 |
+
warnHandler: null,
|
161 |
+
ignoredElements: [],
|
162 |
+
keyCodes: Object.create(null),
|
163 |
+
isReservedTag: k,
|
164 |
+
isReservedAttr: k,
|
165 |
+
isUnknownElement: k,
|
166 |
+
getTagNamespace: $,
|
167 |
+
parsePlatformTagName: C,
|
168 |
+
mustUseProp: k,
|
169 |
+
async: !0,
|
170 |
+
_lifecycleHooks: E,
|
171 |
+
},
|
172 |
+
F = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;
|
173 |
+
function R(t, e, n, r) {
|
174 |
+
Object.defineProperty(t, e, { value: n, enumerable: !!r, writable: !0, configurable: !0 });
|
175 |
+
}
|
176 |
+
var z,
|
177 |
+
H = new RegExp("[^" + F.source + ".$_\\d]"),
|
178 |
+
U = "__proto__" in {},
|
179 |
+
B = "undefined" != typeof window,
|
180 |
+
V = "undefined" != typeof WXEnvironment && !!WXEnvironment.platform,
|
181 |
+
W = V && WXEnvironment.platform.toLowerCase(),
|
182 |
+
q = B && window.navigator.userAgent.toLowerCase(),
|
183 |
+
J = q && /msie|trident/.test(q),
|
184 |
+
G = q && 0 < q.indexOf("msie 9.0"),
|
185 |
+
K = q && 0 < q.indexOf("edge/"),
|
186 |
+
X = (q && q.indexOf("android"), (q && /iphone|ipad|ipod|ios/.test(q)) || "ios" === W),
|
187 |
+
Q = (q && /chrome\/\d+/.test(q), q && /phantomjs/.test(q), q && q.match(/firefox\/(\d+)/)),
|
188 |
+
Y = {}.watch,
|
189 |
+
Z = !1;
|
190 |
+
if (B)
|
191 |
+
try {
|
192 |
+
var tt = {};
|
193 |
+
Object.defineProperty(tt, "passive", {
|
194 |
+
get: function () {
|
195 |
+
Z = !0;
|
196 |
+
},
|
197 |
+
}),
|
198 |
+
window.addEventListener("test-passive", null, tt);
|
199 |
+
} catch (d) {}
|
200 |
+
var et = function () {
|
201 |
+
return void 0 === z && (z = !B && !V && "undefined" != typeof global && global.process && "server" === global.process.env.VUE_ENV), z;
|
202 |
+
},
|
203 |
+
nt = B && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
|
204 |
+
function rt(t) {
|
205 |
+
return "function" == typeof t && /native code/.test(t.toString());
|
206 |
+
}
|
207 |
+
var ot,
|
208 |
+
it = "undefined" != typeof Symbol && rt(Symbol) && "undefined" != typeof Reflect && rt(Reflect.ownKeys);
|
209 |
+
function at() {
|
210 |
+
this.set = Object.create(null);
|
211 |
+
}
|
212 |
+
ot =
|
213 |
+
"undefined" != typeof Set && rt(Set)
|
214 |
+
? Set
|
215 |
+
: ((at.prototype.has = function (t) {
|
216 |
+
return !0 === this.set[t];
|
217 |
+
}),
|
218 |
+
(at.prototype.add = function (t) {
|
219 |
+
this.set[t] = !0;
|
220 |
+
}),
|
221 |
+
(at.prototype.clear = function () {
|
222 |
+
this.set = Object.create(null);
|
223 |
+
}),
|
224 |
+
at);
|
225 |
+
var st = $,
|
226 |
+
ct = 0,
|
227 |
+
lt = function () {
|
228 |
+
(this.id = ct++), (this.subs = []);
|
229 |
+
};
|
230 |
+
(lt.prototype.addSub = function (t) {
|
231 |
+
this.subs.push(t);
|
232 |
+
}),
|
233 |
+
(lt.prototype.removeSub = function (t) {
|
234 |
+
v(this.subs, t);
|
235 |
+
}),
|
236 |
+
(lt.prototype.depend = function () {
|
237 |
+
lt.target && lt.target.addDep(this);
|
238 |
+
}),
|
239 |
+
(lt.prototype.notify = function () {
|
240 |
+
for (var t = this.subs.slice(), e = 0, n = t.length; e < n; e++) t[e].update();
|
241 |
+
}),
|
242 |
+
(lt.target = null);
|
243 |
+
var ut = [];
|
244 |
+
function ft(t) {
|
245 |
+
ut.push(t), (lt.target = t);
|
246 |
+
}
|
247 |
+
function pt() {
|
248 |
+
ut.pop(), (lt.target = ut[ut.length - 1]);
|
249 |
+
}
|
250 |
+
var dt = function (t, e, n, r, o, i, a, s) {
|
251 |
+
(this.tag = t),
|
252 |
+
(this.data = e),
|
253 |
+
(this.children = n),
|
254 |
+
(this.text = r),
|
255 |
+
(this.elm = o),
|
256 |
+
(this.ns = void 0),
|
257 |
+
(this.context = i),
|
258 |
+
(this.fnContext = void 0),
|
259 |
+
(this.fnOptions = void 0),
|
260 |
+
(this.fnScopeId = void 0),
|
261 |
+
(this.key = e && e.key),
|
262 |
+
(this.componentOptions = a),
|
263 |
+
(this.componentInstance = void 0),
|
264 |
+
(this.parent = void 0),
|
265 |
+
(this.raw = !1),
|
266 |
+
(this.isStatic = !1),
|
267 |
+
(this.isRootInsert = !0),
|
268 |
+
(this.isComment = !1),
|
269 |
+
(this.isCloned = !1),
|
270 |
+
(this.isOnce = !1),
|
271 |
+
(this.asyncFactory = s),
|
272 |
+
(this.asyncMeta = void 0),
|
273 |
+
(this.isAsyncPlaceholder = !1);
|
274 |
+
},
|
275 |
+
ht = { child: { configurable: !0 } };
|
276 |
+
(ht.child.get = function () {
|
277 |
+
return this.componentInstance;
|
278 |
+
}),
|
279 |
+
Object.defineProperties(dt.prototype, ht);
|
280 |
+
var vt = function (t) {
|
281 |
+
void 0 === t && (t = "");
|
282 |
+
var e = new dt();
|
283 |
+
return (e.text = t), (e.isComment = !0), e;
|
284 |
+
};
|
285 |
+
function mt(t) {
|
286 |
+
return new dt(void 0, void 0, void 0, String(t));
|
287 |
+
}
|
288 |
+
function yt(t) {
|
289 |
+
var e = new dt(t.tag, t.data, t.children && t.children.slice(), t.text, t.elm, t.context, t.componentOptions, t.asyncFactory);
|
290 |
+
return (e.ns = t.ns), (e.isStatic = t.isStatic), (e.key = t.key), (e.isComment = t.isComment), (e.fnContext = t.fnContext), (e.fnOptions = t.fnOptions), (e.fnScopeId = t.fnScopeId), (e.asyncMeta = t.asyncMeta), (e.isCloned = !0), e;
|
291 |
+
}
|
292 |
+
var gt = Array.prototype,
|
293 |
+
_t = Object.create(gt);
|
294 |
+
["push", "pop", "shift", "unshift", "splice", "sort", "reverse"].forEach(function (i) {
|
295 |
+
var a = gt[i];
|
296 |
+
R(_t, i, function () {
|
297 |
+
for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e];
|
298 |
+
var n,
|
299 |
+
r = a.apply(this, t),
|
300 |
+
o = this.__ob__;
|
301 |
+
switch (i) {
|
302 |
+
case "push":
|
303 |
+
case "unshift":
|
304 |
+
n = t;
|
305 |
+
break;
|
306 |
+
case "splice":
|
307 |
+
n = t.slice(2);
|
308 |
+
}
|
309 |
+
return n && o.observeArray(n), o.dep.notify(), r;
|
310 |
+
});
|
311 |
+
});
|
312 |
+
var bt = Object.getOwnPropertyNames(_t),
|
313 |
+
wt = !0;
|
314 |
+
function xt(t) {
|
315 |
+
wt = t;
|
316 |
+
}
|
317 |
+
var $t = function (t) {
|
318 |
+
(this.value = t),
|
319 |
+
(this.dep = new lt()),
|
320 |
+
(this.vmCount = 0),
|
321 |
+
R(t, "__ob__", this),
|
322 |
+
Array.isArray(t)
|
323 |
+
? (U
|
324 |
+
? (t.__proto__ = _t)
|
325 |
+
: (function (t, e, n) {
|
326 |
+
for (var r = 0, o = n.length; r < o; r++) {
|
327 |
+
var i = n[r];
|
328 |
+
R(t, i, e[i]);
|
329 |
+
}
|
330 |
+
})(t, _t, bt),
|
331 |
+
this.observeArray(t))
|
332 |
+
: this.walk(t);
|
333 |
+
};
|
334 |
+
function kt(t, e) {
|
335 |
+
var n;
|
336 |
+
if (L(t) && !(t instanceof dt)) return p(t, "__ob__") && t.__ob__ instanceof $t ? (n = t.__ob__) : wt && !et() && (Array.isArray(t) || c(t)) && Object.isExtensible(t) && !t._isVue && (n = new $t(t)), e && n && n.vmCount++, n;
|
337 |
+
}
|
338 |
+
function Ct(n, t, r, e, o) {
|
339 |
+
var i,
|
340 |
+
a,
|
341 |
+
s,
|
342 |
+
c = new lt(),
|
343 |
+
l = Object.getOwnPropertyDescriptor(n, t);
|
344 |
+
(l && !1 === l.configurable) ||
|
345 |
+
((i = l && l.get),
|
346 |
+
(a = l && l.set),
|
347 |
+
(i && !a) || 2 !== arguments.length || (r = n[t]),
|
348 |
+
(s = !o && kt(r)),
|
349 |
+
Object.defineProperty(n, t, {
|
350 |
+
enumerable: !0,
|
351 |
+
configurable: !0,
|
352 |
+
get: function () {
|
353 |
+
var t = i ? i.call(n) : r;
|
354 |
+
return (
|
355 |
+
lt.target &&
|
356 |
+
(c.depend(),
|
357 |
+
s &&
|
358 |
+
(s.dep.depend(),
|
359 |
+
Array.isArray(t) &&
|
360 |
+
(function t(e) {
|
361 |
+
for (var n = void 0, r = 0, o = e.length; r < o; r++) (n = e[r]) && n.__ob__ && n.__ob__.dep.depend(), Array.isArray(n) && t(n);
|
362 |
+
})(t))),
|
363 |
+
t
|
364 |
+
);
|
365 |
+
},
|
366 |
+
set: function (t) {
|
367 |
+
var e = i ? i.call(n) : r;
|
368 |
+
t === e || (t != t && e != e) || (i && !a) || (a ? a.call(n, t) : (r = t), (s = !o && kt(t)), c.notify());
|
369 |
+
},
|
370 |
+
}));
|
371 |
+
}
|
372 |
+
function Ot(t, e, n) {
|
373 |
+
if (Array.isArray(t) && o(e)) return (t.length = Math.max(t.length, e)), t.splice(e, 1, n), n;
|
374 |
+
if (e in t && !(e in Object.prototype)) return (t[e] = n);
|
375 |
+
var r = t.__ob__;
|
376 |
+
return t._isVue || (r && r.vmCount) || (r ? (Ct(r.value, e, n), r.dep.notify()) : (t[e] = n)), n;
|
377 |
+
}
|
378 |
+
function At(t, e) {
|
379 |
+
var n;
|
380 |
+
Array.isArray(t) && o(e) ? t.splice(e, 1) : ((n = t.__ob__), t._isVue || (n && n.vmCount) || (p(t, e) && (delete t[e], n && n.dep.notify())));
|
381 |
+
}
|
382 |
+
($t.prototype.walk = function (t) {
|
383 |
+
for (var e = Object.keys(t), n = 0; n < e.length; n++) Ct(t, e[n]);
|
384 |
+
}),
|
385 |
+
($t.prototype.observeArray = function (t) {
|
386 |
+
for (var e = 0, n = t.length; e < n; e++) kt(t[e]);
|
387 |
+
});
|
388 |
+
var St = M.optionMergeStrategies;
|
389 |
+
function Tt(t, e) {
|
390 |
+
if (!e) return t;
|
391 |
+
for (var n, r, o, i = it ? Reflect.ownKeys(e) : Object.keys(e), a = 0; a < i.length; a++) "__ob__" !== (n = i[a]) && ((r = t[n]), (o = e[n]), p(t, n) ? r !== o && c(r) && c(o) && Tt(r, o) : Ot(t, n, o));
|
392 |
+
return t;
|
393 |
+
}
|
394 |
+
function jt(n, r, o) {
|
395 |
+
return o
|
396 |
+
? function () {
|
397 |
+
var t = "function" == typeof r ? r.call(o, o) : r,
|
398 |
+
e = "function" == typeof n ? n.call(o, o) : n;
|
399 |
+
return t ? Tt(t, e) : e;
|
400 |
+
}
|
401 |
+
: r
|
402 |
+
? n
|
403 |
+
? function () {
|
404 |
+
return Tt("function" == typeof r ? r.call(this, this) : r, "function" == typeof n ? n.call(this, this) : n);
|
405 |
+
}
|
406 |
+
: r
|
407 |
+
: n;
|
408 |
+
}
|
409 |
+
function Et(t, e) {
|
410 |
+
t = e ? (t ? t.concat(e) : Array.isArray(e) ? e : [e]) : t;
|
411 |
+
return (
|
412 |
+
t &&
|
413 |
+
(function (t) {
|
414 |
+
for (var e = [], n = 0; n < t.length; n++) -1 === e.indexOf(t[n]) && e.push(t[n]);
|
415 |
+
return e;
|
416 |
+
})(t)
|
417 |
+
);
|
418 |
+
}
|
419 |
+
function Mt(t, e, n, r) {
|
420 |
+
t = Object.create(t || null);
|
421 |
+
return e ? w(t, e) : t;
|
422 |
+
}
|
423 |
+
(St.data = function (t, e, n) {
|
424 |
+
return n ? jt(t, e, n) : e && "function" != typeof e ? t : jt(t, e);
|
425 |
+
}),
|
426 |
+
E.forEach(function (t) {
|
427 |
+
St[t] = Et;
|
428 |
+
}),
|
429 |
+
j.forEach(function (t) {
|
430 |
+
St[t + "s"] = Mt;
|
431 |
+
}),
|
432 |
+
(St.watch = function (t, e, n, r) {
|
433 |
+
if ((t === Y && (t = void 0), e === Y && (e = void 0), !e)) return Object.create(t || null);
|
434 |
+
if (!t) return e;
|
435 |
+
var o,
|
436 |
+
i = {};
|
437 |
+
for (o in (w(i, t), e)) {
|
438 |
+
var a = i[o],
|
439 |
+
s = e[o];
|
440 |
+
a && !Array.isArray(a) && (a = [a]), (i[o] = a ? a.concat(s) : Array.isArray(s) ? s : [s]);
|
441 |
+
}
|
442 |
+
return i;
|
443 |
+
}),
|
444 |
+
(St.props = St.methods = St.inject = St.computed = function (t, e, n, r) {
|
445 |
+
if (!t) return e;
|
446 |
+
var o = Object.create(null);
|
447 |
+
return w(o, t), e && w(o, e), o;
|
448 |
+
}),
|
449 |
+
(St.provide = jt);
|
450 |
+
var Pt = function (t, e) {
|
451 |
+
return void 0 === e ? t : e;
|
452 |
+
};
|
453 |
+
function It(n, i, r) {
|
454 |
+
if (
|
455 |
+
("function" == typeof i && (i = i.options),
|
456 |
+
(function (t) {
|
457 |
+
var e = t.props;
|
458 |
+
if (e) {
|
459 |
+
var n,
|
460 |
+
r,
|
461 |
+
o = {};
|
462 |
+
if (Array.isArray(e)) for (n = e.length; n--; ) "string" == typeof (r = e[n]) && (o[m(r)] = { type: null });
|
463 |
+
else if (c(e)) for (var i in e) (r = e[i]), (o[m(i)] = c(r) ? r : { type: r });
|
464 |
+
t.props = o;
|
465 |
+
}
|
466 |
+
})(i),
|
467 |
+
(function () {
|
468 |
+
var t = i.inject;
|
469 |
+
if (t) {
|
470 |
+
var e = (i.inject = {});
|
471 |
+
if (Array.isArray(t)) for (var n = 0; n < t.length; n++) e[t[n]] = { from: t[n] };
|
472 |
+
else if (c(t))
|
473 |
+
for (var r in t) {
|
474 |
+
var o = t[r];
|
475 |
+
e[r] = c(o) ? w({ from: r }, o) : { from: o };
|
476 |
+
}
|
477 |
+
}
|
478 |
+
})(),
|
479 |
+
(function () {
|
480 |
+
var t = i.directives;
|
481 |
+
if (t)
|
482 |
+
for (var e in t) {
|
483 |
+
var n = t[e];
|
484 |
+
"function" == typeof n && (t[e] = { bind: n, update: n });
|
485 |
+
}
|
486 |
+
})(),
|
487 |
+
!i._base && (i.extends && (n = It(n, i.extends, r)), i.mixins))
|
488 |
+
)
|
489 |
+
for (var t = 0, e = i.mixins.length; t < e; t++) n = It(n, i.mixins[t], r);
|
490 |
+
var o,
|
491 |
+
a = {};
|
492 |
+
for (o in n) s(o);
|
493 |
+
for (o in i) p(n, o) || s(o);
|
494 |
+
function s(t) {
|
495 |
+
var e = St[t] || Pt;
|
496 |
+
a[t] = e(n[t], i[t], r, t);
|
497 |
+
}
|
498 |
+
return a;
|
499 |
+
}
|
500 |
+
function Lt(t, e, n) {
|
501 |
+
if ("string" == typeof n) {
|
502 |
+
var r = t[e];
|
503 |
+
if (p(r, n)) return r[n];
|
504 |
+
t = m(n);
|
505 |
+
if (p(r, t)) return r[t];
|
506 |
+
e = s(t);
|
507 |
+
return (!p(r, e) && (r[n] || r[t])) || r[e];
|
508 |
+
}
|
509 |
+
}
|
510 |
+
function Nt(t, e, n, r) {
|
511 |
+
var o = e[t],
|
512 |
+
i = !p(n, t),
|
513 |
+
e = n[t],
|
514 |
+
n = Rt(Boolean, o.type);
|
515 |
+
return (
|
516 |
+
-1 < n && (i && !p(o, "default") ? (e = !1) : ("" !== e && e !== g(t)) || (((i = Rt(String, o.type)) < 0 || n < i) && (e = !0))),
|
517 |
+
void 0 === e &&
|
518 |
+
((e = (function (t, e, n) {
|
519 |
+
if (p(e, "default")) {
|
520 |
+
var r = e.default;
|
521 |
+
return t && t.$options.propsData && void 0 === t.$options.propsData[n] && void 0 !== t._props[n] ? t._props[n] : "function" == typeof r && "Function" !== Dt(e.type) ? r.call(t) : r;
|
522 |
+
}
|
523 |
+
})(r, o, t)),
|
524 |
+
(t = wt),
|
525 |
+
xt(!0),
|
526 |
+
kt(e),
|
527 |
+
xt(t)),
|
528 |
+
e
|
529 |
+
);
|
530 |
+
}
|
531 |
+
function Dt(t) {
|
532 |
+
t = t && t.toString().match(/^\s*function (\w+)/);
|
533 |
+
return t ? t[1] : "";
|
534 |
+
}
|
535 |
+
function Ft(t, e) {
|
536 |
+
return Dt(t) === Dt(e);
|
537 |
+
}
|
538 |
+
function Rt(t, e) {
|
539 |
+
if (!Array.isArray(e)) return Ft(e, t) ? 0 : -1;
|
540 |
+
for (var n = 0, r = e.length; n < r; n++) if (Ft(e[n], t)) return n;
|
541 |
+
return -1;
|
542 |
+
}
|
543 |
+
function zt(t, e, n) {
|
544 |
+
ft();
|
545 |
+
try {
|
546 |
+
if (e)
|
547 |
+
for (var r = e; (r = r.$parent); ) {
|
548 |
+
var o = r.$options.errorCaptured;
|
549 |
+
if (o)
|
550 |
+
for (var i = 0; i < o.length; i++)
|
551 |
+
try {
|
552 |
+
if (!1 === o[i].call(r, t, e, n)) return;
|
553 |
+
} catch (t) {
|
554 |
+
Ut(t, r, "errorCaptured hook");
|
555 |
+
}
|
556 |
+
}
|
557 |
+
Ut(t, e, n);
|
558 |
+
} finally {
|
559 |
+
pt();
|
560 |
+
}
|
561 |
+
}
|
562 |
+
function Ht(t, e, n, r, o) {
|
563 |
+
var i;
|
564 |
+
try {
|
565 |
+
(i = n ? t.apply(e, n) : t.call(e)) &&
|
566 |
+
!i._isVue &&
|
567 |
+
h(i) &&
|
568 |
+
!i._handled &&
|
569 |
+
(i.catch(function (t) {
|
570 |
+
return zt(t, r, o + " (Promise/async)");
|
571 |
+
}),
|
572 |
+
(i._handled = !0));
|
573 |
+
} catch (t) {
|
574 |
+
zt(t, r, o);
|
575 |
+
}
|
576 |
+
return i;
|
577 |
+
}
|
578 |
+
function Ut(t, e, n) {
|
579 |
+
if (M.errorHandler)
|
580 |
+
try {
|
581 |
+
return M.errorHandler.call(null, t, e, n);
|
582 |
+
} catch (e) {
|
583 |
+
e !== t && Bt(e);
|
584 |
+
}
|
585 |
+
Bt(t);
|
586 |
+
}
|
587 |
+
function Bt(t) {
|
588 |
+
if ((!B && !V) || "undefined" == typeof console) throw t;
|
589 |
+
console.error(t);
|
590 |
+
}
|
591 |
+
var Vt,
|
592 |
+
Wt,
|
593 |
+
qt,
|
594 |
+
Jt,
|
595 |
+
Gt = !1,
|
596 |
+
Kt = [],
|
597 |
+
Xt = !1;
|
598 |
+
function Qt() {
|
599 |
+
Xt = !1;
|
600 |
+
for (var t = Kt.slice(0), e = (Kt.length = 0); e < t.length; e++) t[e]();
|
601 |
+
}
|
602 |
+
function Yt(t, e) {
|
603 |
+
var n;
|
604 |
+
if (
|
605 |
+
(Kt.push(function () {
|
606 |
+
if (t)
|
607 |
+
try {
|
608 |
+
t.call(e);
|
609 |
+
} catch (t) {
|
610 |
+
zt(t, e, "nextTick");
|
611 |
+
}
|
612 |
+
else n && n(e);
|
613 |
+
}),
|
614 |
+
Xt || ((Xt = !0), Wt()),
|
615 |
+
!t && "undefined" != typeof Promise)
|
616 |
+
)
|
617 |
+
return new Promise(function (t) {
|
618 |
+
n = t;
|
619 |
+
});
|
620 |
+
}
|
621 |
+
"undefined" != typeof Promise && rt(Promise)
|
622 |
+
? ((Vt = Promise.resolve()),
|
623 |
+
(Wt = function () {
|
624 |
+
Vt.then(Qt), X && setTimeout($);
|
625 |
+
}),
|
626 |
+
(Gt = !0))
|
627 |
+
: J || "undefined" == typeof MutationObserver || (!rt(MutationObserver) && "[object MutationObserverConstructor]" !== MutationObserver.toString())
|
628 |
+
? (Wt =
|
629 |
+
"undefined" != typeof setImmediate && rt(setImmediate)
|
630 |
+
? function () {
|
631 |
+
setImmediate(Qt);
|
632 |
+
}
|
633 |
+
: function () {
|
634 |
+
setTimeout(Qt, 0);
|
635 |
+
})
|
636 |
+
: ((qt = 1),
|
637 |
+
(On = new MutationObserver(Qt)),
|
638 |
+
(Jt = document.createTextNode(String(qt))),
|
639 |
+
On.observe(Jt, { characterData: !0 }),
|
640 |
+
(Wt = function () {
|
641 |
+
(qt = (qt + 1) % 2), (Jt.data = String(qt));
|
642 |
+
}),
|
643 |
+
(Gt = !0));
|
644 |
+
var Zt = new ot();
|
645 |
+
function te(t) {
|
646 |
+
!(function t(e, n) {
|
647 |
+
var r,
|
648 |
+
o,
|
649 |
+
i = Array.isArray(e);
|
650 |
+
if (!((!i && !L(e)) || Object.isFrozen(e) || e instanceof dt)) {
|
651 |
+
if (e.__ob__) {
|
652 |
+
var a = e.__ob__.dep.id;
|
653 |
+
if (n.has(a)) return;
|
654 |
+
n.add(a);
|
655 |
+
}
|
656 |
+
if (i) for (r = e.length; r--; ) t(e[r], n);
|
657 |
+
else for (r = (o = Object.keys(e)).length; r--; ) t(e[o[r]], n);
|
658 |
+
}
|
659 |
+
})(t, Zt),
|
660 |
+
Zt.clear();
|
661 |
+
}
|
662 |
+
var ee = t(function (t) {
|
663 |
+
var e = "&" === t.charAt(0),
|
664 |
+
n = "~" === (t = e ? t.slice(1) : t).charAt(0),
|
665 |
+
r = "!" === (t = n ? t.slice(1) : t).charAt(0);
|
666 |
+
return { name: (t = r ? t.slice(1) : t), once: n, capture: r, passive: e };
|
667 |
+
});
|
668 |
+
function ne(t, o) {
|
669 |
+
function i() {
|
670 |
+
var t = arguments,
|
671 |
+
e = i.fns;
|
672 |
+
if (!Array.isArray(e)) return Ht(e, null, arguments, o, "v-on handler");
|
673 |
+
for (var n = e.slice(), r = 0; r < n.length; r++) Ht(n[r], null, t, o, "v-on handler");
|
674 |
+
}
|
675 |
+
return (i.fns = t), i;
|
676 |
+
}
|
677 |
+
function re(t, e, n, r, o, i) {
|
678 |
+
var a, s, c, l;
|
679 |
+
for (a in t)
|
680 |
+
(s = t[a]), (c = e[a]), (l = ee(a)), P(s) || (P(c) ? (P(s.fns) && (s = t[a] = ne(s, i)), O(l.once) && (s = t[a] = o(l.name, s, l.capture)), n(l.name, s, l.capture, l.passive, l.params)) : s !== c && ((c.fns = s), (t[a] = c)));
|
681 |
+
for (a in e) P(t[a]) && r((l = ee(a)).name, e[a], l.capture);
|
682 |
+
}
|
683 |
+
function oe(t, e, n) {
|
684 |
+
var r;
|
685 |
+
t instanceof dt && (t = t.data.hook || (t.data.hook = {}));
|
686 |
+
var o = t[e];
|
687 |
+
function i() {
|
688 |
+
n.apply(this, arguments), v(r.fns, i);
|
689 |
+
}
|
690 |
+
P(o) ? (r = ne([i])) : I(o.fns) && O(o.merged) ? (r = o).fns.push(i) : (r = ne([o, i])), (r.merged = !0), (t[e] = r);
|
691 |
+
}
|
692 |
+
function ie(t, e, n, r, o) {
|
693 |
+
if (I(e)) {
|
694 |
+
if (p(e, n)) return (t[n] = e[n]), o || delete e[n], 1;
|
695 |
+
if (p(e, r)) return (t[n] = e[r]), o || delete e[r], 1;
|
696 |
+
}
|
697 |
+
}
|
698 |
+
function ae(t) {
|
699 |
+
return l(t)
|
700 |
+
? [mt(t)]
|
701 |
+
: Array.isArray(t)
|
702 |
+
? (function t(e, n) {
|
703 |
+
for (var r, o, i, a = [], s = 0; s < e.length; s++)
|
704 |
+
P((r = e[s])) ||
|
705 |
+
"boolean" == typeof r ||
|
706 |
+
((i = a[(o = a.length - 1)]),
|
707 |
+
Array.isArray(r)
|
708 |
+
? 0 < r.length && (se((r = t(r, (n || "") + "_" + s))[0]) && se(i) && ((a[o] = mt(i.text + r[0].text)), r.shift()), a.push.apply(a, r))
|
709 |
+
: l(r)
|
710 |
+
? se(i)
|
711 |
+
? (a[o] = mt(i.text + r))
|
712 |
+
: "" !== r && a.push(mt(r))
|
713 |
+
: se(r) && se(i)
|
714 |
+
? (a[o] = mt(i.text + r.text))
|
715 |
+
: (O(e._isVList) && I(r.tag) && P(r.key) && I(n) && (r.key = "__vlist" + n + "_" + s + "__"), a.push(r)));
|
716 |
+
return a;
|
717 |
+
})(t)
|
718 |
+
: void 0;
|
719 |
+
}
|
720 |
+
function se(t) {
|
721 |
+
return I(t) && I(t.text) && !1 === t.isComment;
|
722 |
+
}
|
723 |
+
function ce(t, e) {
|
724 |
+
if (t) {
|
725 |
+
for (var n = Object.create(null), r = it ? Reflect.ownKeys(t) : Object.keys(t), o = 0; o < r.length; o++) {
|
726 |
+
var i = r[o];
|
727 |
+
if ("__ob__" !== i) {
|
728 |
+
for (var a, s = t[i].from, c = e; c; ) {
|
729 |
+
if (c._provided && p(c._provided, s)) {
|
730 |
+
n[i] = c._provided[s];
|
731 |
+
break;
|
732 |
+
}
|
733 |
+
c = c.$parent;
|
734 |
+
}
|
735 |
+
!c && "default" in t[i] && ((a = t[i].default), (n[i] = "function" == typeof a ? a.call(e) : a));
|
736 |
+
}
|
737 |
+
}
|
738 |
+
return n;
|
739 |
+
}
|
740 |
+
}
|
741 |
+
function le(t, e) {
|
742 |
+
if (!t || !t.length) return {};
|
743 |
+
for (var n, r = {}, o = 0, i = t.length; o < i; o++) {
|
744 |
+
var a = t[o],
|
745 |
+
s = a.data;
|
746 |
+
s && s.attrs && s.attrs.slot && delete s.attrs.slot,
|
747 |
+
(a.context !== e && a.fnContext !== e) || !s || null == s.slot ? (r.default || (r.default = [])).push(a) : ((s = r[(s = s.slot)] || (r[s] = [])), "template" === a.tag ? s.push.apply(s, a.children || []) : s.push(a));
|
748 |
+
}
|
749 |
+
for (n in r) r[n].every(ue) && delete r[n];
|
750 |
+
return r;
|
751 |
+
}
|
752 |
+
function ue(t) {
|
753 |
+
return (t.isComment && !t.asyncFactory) || " " === t.text;
|
754 |
+
}
|
755 |
+
function fe(t, e, n) {
|
756 |
+
var r,
|
757 |
+
o,
|
758 |
+
i = 0 < Object.keys(e).length,
|
759 |
+
a = t ? !!t.$stable : !i,
|
760 |
+
s = t && t.$key;
|
761 |
+
if (t) {
|
762 |
+
if (t._normalized) return t._normalized;
|
763 |
+
if (a && n && n !== d && s === n.$key && !i && !n.$hasNormal) return n;
|
764 |
+
for (var c in ((r = {}), t))
|
765 |
+
t[c] &&
|
766 |
+
"$" !== c[0] &&
|
767 |
+
(r[c] = (function (t, e, n) {
|
768 |
+
function r() {
|
769 |
+
var t = arguments.length ? n.apply(null, arguments) : n({});
|
770 |
+
return (t = t && "object" == typeof t && !Array.isArray(t) ? [t] : ae(t)) && (0 === t.length || (1 === t.length && t[0].isComment)) ? void 0 : t;
|
771 |
+
}
|
772 |
+
return n.proxy && Object.defineProperty(t, e, { get: r, enumerable: !0, configurable: !0 }), r;
|
773 |
+
})(e, c, t[c]));
|
774 |
+
} else r = {};
|
775 |
+
for (o in e)
|
776 |
+
o in r ||
|
777 |
+
(r[o] = (function (t, e) {
|
778 |
+
return function () {
|
779 |
+
return t[e];
|
780 |
+
};
|
781 |
+
})(e, o));
|
782 |
+
return t && Object.isExtensible(t) && (t._normalized = r), R(r, "$stable", a), R(r, "$key", s), R(r, "$hasNormal", i), r;
|
783 |
+
}
|
784 |
+
function pe(t, e) {
|
785 |
+
var n, r, o, i, a;
|
786 |
+
if (Array.isArray(t) || "string" == typeof t) for (n = new Array(t.length), r = 0, o = t.length; r < o; r++) n[r] = e(t[r], r);
|
787 |
+
else if ("number" == typeof t) for (n = new Array(t), r = 0; r < t; r++) n[r] = e(r + 1, r);
|
788 |
+
else if (L(t))
|
789 |
+
if (it && t[Symbol.iterator]) {
|
790 |
+
n = [];
|
791 |
+
for (var s = t[Symbol.iterator](), c = s.next(); !c.done; ) n.push(e(c.value, n.length)), (c = s.next());
|
792 |
+
} else for (i = Object.keys(t), n = new Array(i.length), r = 0, o = i.length; r < o; r++) (a = i[r]), (n[r] = e(t[a], a, r));
|
793 |
+
return I(n) || (n = []), (n._isVList = !0), n;
|
794 |
+
}
|
795 |
+
function de(t, e, n, r) {
|
796 |
+
var o = this.$scopedSlots[t],
|
797 |
+
e = o ? ((n = n || {}), r && (n = w(w({}, r), n)), o(n) || e) : this.$slots[t] || e,
|
798 |
+
n = n && n.slot;
|
799 |
+
return n ? this.$createElement("template", { slot: n }, e) : e;
|
800 |
+
}
|
801 |
+
function he(t) {
|
802 |
+
return Lt(this.$options, "filters", t) || C;
|
803 |
+
}
|
804 |
+
function ve(t, e) {
|
805 |
+
return Array.isArray(t) ? -1 === t.indexOf(e) : t !== e;
|
806 |
+
}
|
807 |
+
function me(t, e, n, r, o) {
|
808 |
+
n = M.keyCodes[e] || n;
|
809 |
+
return o && r && !M.keyCodes[e] ? ve(o, r) : n ? ve(n, t) : r ? g(r) !== e : void 0;
|
810 |
+
}
|
811 |
+
function ye(r, o, i, a, s) {
|
812 |
+
if (i && L(i)) {
|
813 |
+
var c;
|
814 |
+
Array.isArray(i) && (i = x(i));
|
815 |
+
for (var t in i)
|
816 |
+
!(function (e) {
|
817 |
+
c = "class" === e || "style" === e || f(e) ? r : ((n = r.attrs && r.attrs.type), a || M.mustUseProp(o, n, e) ? r.domProps || (r.domProps = {}) : r.attrs || (r.attrs = {}));
|
818 |
+
var t = m(e),
|
819 |
+
n = g(e);
|
820 |
+
t in c ||
|
821 |
+
n in c ||
|
822 |
+
((c[e] = i[e]),
|
823 |
+
s &&
|
824 |
+
((r.on || (r.on = {}))["update:" + e] = function (t) {
|
825 |
+
i[e] = t;
|
826 |
+
}));
|
827 |
+
})(t);
|
828 |
+
}
|
829 |
+
return r;
|
830 |
+
}
|
831 |
+
function ge(t, e) {
|
832 |
+
var n = this._staticTrees || (this._staticTrees = []),
|
833 |
+
r = n[t];
|
834 |
+
return (r && !e) || be((r = n[t] = this.$options.staticRenderFns[t].call(this._renderProxy, null, this)), "__static__" + t, !1), r;
|
835 |
+
}
|
836 |
+
function _e(t, e, n) {
|
837 |
+
return be(t, "__once__" + e + (n ? "_" + n : ""), !0), t;
|
838 |
+
}
|
839 |
+
function be(t, e, n) {
|
840 |
+
if (Array.isArray(t)) for (var r = 0; r < t.length; r++) t[r] && "string" != typeof t[r] && we(t[r], e + "_" + r, n);
|
841 |
+
else we(t, e, n);
|
842 |
+
}
|
843 |
+
function we(t, e, n) {
|
844 |
+
(t.isStatic = !0), (t.key = e), (t.isOnce = n);
|
845 |
+
}
|
846 |
+
function xe(t, e) {
|
847 |
+
if (e && c(e)) {
|
848 |
+
var n,
|
849 |
+
r = (t.on = t.on ? w({}, t.on) : {});
|
850 |
+
for (n in e) {
|
851 |
+
var o = r[n],
|
852 |
+
i = e[n];
|
853 |
+
r[n] = o ? [].concat(o, i) : i;
|
854 |
+
}
|
855 |
+
}
|
856 |
+
return t;
|
857 |
+
}
|
858 |
+
function $e(t, e, n, r) {
|
859 |
+
e = e || { $stable: !n };
|
860 |
+
for (var o = 0; o < t.length; o++) {
|
861 |
+
var i = t[o];
|
862 |
+
Array.isArray(i) ? $e(i, e, n) : i && (i.proxy && (i.fn.proxy = !0), (e[i.key] = i.fn));
|
863 |
+
}
|
864 |
+
return r && (e.$key = r), e;
|
865 |
+
}
|
866 |
+
function ke(t, e) {
|
867 |
+
for (var n = 0; n < e.length; n += 2) {
|
868 |
+
var r = e[n];
|
869 |
+
"string" == typeof r && r && (t[e[n]] = e[n + 1]);
|
870 |
+
}
|
871 |
+
return t;
|
872 |
+
}
|
873 |
+
function Ce(t, e) {
|
874 |
+
return "string" == typeof t ? e + t : t;
|
875 |
+
}
|
876 |
+
function Oe(t) {
|
877 |
+
(t._o = _e), (t._n = N), (t._s = e), (t._l = pe), (t._t = de), (t._q = A), (t._i = S), (t._m = ge), (t._f = he), (t._k = me), (t._b = ye), (t._v = mt), (t._e = vt), (t._u = $e), (t._g = xe), (t._d = ke), (t._p = Ce);
|
878 |
+
}
|
879 |
+
function Ae(t, e, n, o, r) {
|
880 |
+
var i,
|
881 |
+
a = this,
|
882 |
+
s = r.options;
|
883 |
+
p(o, "_uid") ? ((i = Object.create(o))._original = o) : (o = (i = o)._original);
|
884 |
+
var r = O(s._compiled),
|
885 |
+
c = !r;
|
886 |
+
(this.data = t),
|
887 |
+
(this.props = e),
|
888 |
+
(this.children = n),
|
889 |
+
(this.parent = o),
|
890 |
+
(this.listeners = t.on || d),
|
891 |
+
(this.injections = ce(s.inject, o)),
|
892 |
+
(this.slots = function () {
|
893 |
+
return a.$slots || fe(t.scopedSlots, (a.$slots = le(n, o))), a.$slots;
|
894 |
+
}),
|
895 |
+
Object.defineProperty(this, "scopedSlots", {
|
896 |
+
enumerable: !0,
|
897 |
+
get: function () {
|
898 |
+
return fe(t.scopedSlots, this.slots());
|
899 |
+
},
|
900 |
+
}),
|
901 |
+
r && ((this.$options = s), (this.$slots = this.slots()), (this.$scopedSlots = fe(t.scopedSlots, this.$slots))),
|
902 |
+
s._scopeId
|
903 |
+
? (this._c = function (t, e, n, r) {
|
904 |
+
r = Le(i, t, e, n, r, c);
|
905 |
+
return r && !Array.isArray(r) && ((r.fnScopeId = s._scopeId), (r.fnContext = o)), r;
|
906 |
+
})
|
907 |
+
: (this._c = function (t, e, n, r) {
|
908 |
+
return Le(i, t, e, n, r, c);
|
909 |
+
});
|
910 |
+
}
|
911 |
+
function Se(t, e, n, r) {
|
912 |
+
t = yt(t);
|
913 |
+
return (t.fnContext = n), (t.fnOptions = r), e.slot && ((t.data || (t.data = {})).slot = e.slot), t;
|
914 |
+
}
|
915 |
+
function Te(t, e) {
|
916 |
+
for (var n in e) t[m(n)] = e[n];
|
917 |
+
}
|
918 |
+
Oe(Ae.prototype);
|
919 |
+
var je = {
|
920 |
+
init: function (t, e) {
|
921 |
+
var n, r, o;
|
922 |
+
t.componentInstance && !t.componentInstance._isDestroyed && t.data.keepAlive
|
923 |
+
? je.prepatch(t, t)
|
924 |
+
: (t.componentInstance =
|
925 |
+
((r = { _isComponent: !0, _parentVnode: (n = t), parent: We }), I((o = n.data.inlineTemplate)) && ((r.render = o.render), (r.staticRenderFns = o.staticRenderFns)), new n.componentOptions.Ctor(r))).$mount(
|
926 |
+
e ? t.elm : void 0,
|
927 |
+
e
|
928 |
+
);
|
929 |
+
},
|
930 |
+
prepatch: function (t, e) {
|
931 |
+
var n = e.componentOptions;
|
932 |
+
!(function (t, e, n, r, o) {
|
933 |
+
var i = r.data.scopedSlots,
|
934 |
+
a = t.$scopedSlots,
|
935 |
+
a = !!((i && !i.$stable) || (a !== d && !a.$stable) || (i && t.$scopedSlots.$key !== i.$key)),
|
936 |
+
i = !!(o || t.$options._renderChildren || a);
|
937 |
+
if (((t.$options._parentVnode = r), (t.$vnode = r), t._vnode && (t._vnode.parent = r), (t.$options._renderChildren = o), (t.$attrs = r.data.attrs || d), (t.$listeners = n || d), e && t.$options.props)) {
|
938 |
+
xt(!1);
|
939 |
+
for (var s = t._props, c = t.$options._propKeys || [], l = 0; l < c.length; l++) {
|
940 |
+
var u = c[l],
|
941 |
+
f = t.$options.props;
|
942 |
+
s[u] = Nt(u, f, e, t);
|
943 |
+
}
|
944 |
+
xt(!0), (t.$options.propsData = e);
|
945 |
+
}
|
946 |
+
n = n || d;
|
947 |
+
a = t.$options._parentListeners;
|
948 |
+
(t.$options._parentListeners = n), Ve(t, n, a), i && ((t.$slots = le(o, r.context)), t.$forceUpdate());
|
949 |
+
})((e.componentInstance = t.componentInstance), n.propsData, n.listeners, e, n.children);
|
950 |
+
},
|
951 |
+
insert: function (t) {
|
952 |
+
var e = t.context,
|
953 |
+
n = t.componentInstance;
|
954 |
+
n._isMounted || ((n._isMounted = !0), Ke(n, "mounted")), t.data.keepAlive && (e._isMounted ? ((n._inactive = !1), Ye.push(n)) : Ge(n, !0));
|
955 |
+
},
|
956 |
+
destroy: function (t) {
|
957 |
+
var e = t.componentInstance;
|
958 |
+
e._isDestroyed ||
|
959 |
+
(t.data.keepAlive
|
960 |
+
? (function t(e, n) {
|
961 |
+
if (!((n && ((e._directInactive = !0), Je(e))) || e._inactive)) {
|
962 |
+
e._inactive = !0;
|
963 |
+
for (var r = 0; r < e.$children.length; r++) t(e.$children[r]);
|
964 |
+
Ke(e, "deactivated");
|
965 |
+
}
|
966 |
+
})(e, !0)
|
967 |
+
: e.$destroy());
|
968 |
+
},
|
969 |
+
},
|
970 |
+
Ee = Object.keys(je);
|
971 |
+
function Me(a, s, t, e, n) {
|
972 |
+
if (!P(a)) {
|
973 |
+
var r,
|
974 |
+
o = t.$options._base;
|
975 |
+
if ((L(a) && (a = o.extend(a)), "function" == typeof a)) {
|
976 |
+
if (
|
977 |
+
P(a.cid) &&
|
978 |
+
void 0 ===
|
979 |
+
(a = (function (e, n) {
|
980 |
+
if (O(e.error) && I(e.errorComp)) return e.errorComp;
|
981 |
+
if (I(e.resolved)) return e.resolved;
|
982 |
+
var t = De;
|
983 |
+
if ((t && I(e.owners) && -1 === e.owners.indexOf(t) && e.owners.push(t), O(e.loading) && I(e.loadingComp))) return e.loadingComp;
|
984 |
+
if (t && !I(e.owners)) {
|
985 |
+
var r = (e.owners = [t]),
|
986 |
+
o = !0,
|
987 |
+
i = null,
|
988 |
+
a = null;
|
989 |
+
t.$on("hook:destroyed", function () {
|
990 |
+
return v(r, t);
|
991 |
+
});
|
992 |
+
var s = function (t) {
|
993 |
+
for (var e = 0, n = r.length; e < n; e++) r[e].$forceUpdate();
|
994 |
+
t && ((r.length = 0), null !== i && (clearTimeout(i), (i = null)), null !== a && (clearTimeout(a), (a = null)));
|
995 |
+
},
|
996 |
+
c = D(function (t) {
|
997 |
+
(e.resolved = Fe(t, n)), o ? (r.length = 0) : s(!0);
|
998 |
+
}),
|
999 |
+
l = D(function (t) {
|
1000 |
+
I(e.errorComp) && ((e.error = !0), s(!0));
|
1001 |
+
}),
|
1002 |
+
u = e(c, l);
|
1003 |
+
return (
|
1004 |
+
L(u) &&
|
1005 |
+
(h(u)
|
1006 |
+
? P(e.resolved) && u.then(c, l)
|
1007 |
+
: h(u.component) &&
|
1008 |
+
(u.component.then(c, l),
|
1009 |
+
I(u.error) && (e.errorComp = Fe(u.error, n)),
|
1010 |
+
I(u.loading) &&
|
1011 |
+
((e.loadingComp = Fe(u.loading, n)),
|
1012 |
+
0 === u.delay
|
1013 |
+
? (e.loading = !0)
|
1014 |
+
: (i = setTimeout(function () {
|
1015 |
+
(i = null), P(e.resolved) && P(e.error) && ((e.loading = !0), s(!1));
|
1016 |
+
}, u.delay || 200))),
|
1017 |
+
I(u.timeout) &&
|
1018 |
+
(a = setTimeout(function () {
|
1019 |
+
(a = null), P(e.resolved) && l(null);
|
1020 |
+
}, u.timeout)))),
|
1021 |
+
(o = !1),
|
1022 |
+
e.loading ? e.loadingComp : e.resolved
|
1023 |
+
);
|
1024 |
+
}
|
1025 |
+
})((r = a), o))
|
1026 |
+
)
|
1027 |
+
return (c = r), (l = s), (u = t), (o = e), (f = n), ((p = vt()).asyncFactory = c), (p.asyncMeta = { data: l, context: u, children: o, tag: f }), p;
|
1028 |
+
(s = s || {}),
|
1029 |
+
gn(a),
|
1030 |
+
I(s.model) &&
|
1031 |
+
(function (t, e) {
|
1032 |
+
var n = (t.model && t.model.prop) || "value",
|
1033 |
+
r = (t.model && t.model.event) || "input";
|
1034 |
+
(e.attrs || (e.attrs = {}))[n] = e.model.value;
|
1035 |
+
(t = e.on || (e.on = {})), (n = t[r]), (e = e.model.callback);
|
1036 |
+
I(n) ? (Array.isArray(n) ? -1 === n.indexOf(e) : n !== e) && (t[r] = [e].concat(n)) : (t[r] = e);
|
1037 |
+
})(a.options, s);
|
1038 |
+
f = (function () {
|
1039 |
+
var t = a.options.props;
|
1040 |
+
if (!P(t)) {
|
1041 |
+
var e = {},
|
1042 |
+
n = s.attrs,
|
1043 |
+
r = s.props;
|
1044 |
+
if (I(n) || I(r))
|
1045 |
+
for (var o in t) {
|
1046 |
+
var i = g(o);
|
1047 |
+
ie(e, r, o, i, !0) || ie(e, n, o, i, !1);
|
1048 |
+
}
|
1049 |
+
return e;
|
1050 |
+
}
|
1051 |
+
})();
|
1052 |
+
if (O(a.options.functional))
|
1053 |
+
return (function (t, e, n, r, o) {
|
1054 |
+
var i = t.options,
|
1055 |
+
a = {},
|
1056 |
+
s = i.props;
|
1057 |
+
if (I(s)) for (var c in s) a[c] = Nt(c, s, e || d);
|
1058 |
+
else I(n.attrs) && Te(a, n.attrs), I(n.props) && Te(a, n.props);
|
1059 |
+
var l = new Ae(n, a, o, r, t),
|
1060 |
+
t = i.render.call(null, l._c, l);
|
1061 |
+
if (t instanceof dt) return Se(t, n, l.parent, i);
|
1062 |
+
if (Array.isArray(t)) {
|
1063 |
+
for (var u = ae(t) || [], f = new Array(u.length), p = 0; p < u.length; p++) f[p] = Se(u[p], n, l.parent, i);
|
1064 |
+
return f;
|
1065 |
+
}
|
1066 |
+
})(a, f, s, t, e);
|
1067 |
+
p = s.on;
|
1068 |
+
(s.on = s.nativeOn),
|
1069 |
+
O(a.options.abstract) && ((i = s.slot), (s = {}), i && (s.slot = i)),
|
1070 |
+
(function () {
|
1071 |
+
for (var t = s.hook || (s.hook = {}), e = 0; e < Ee.length; e++) {
|
1072 |
+
var n = Ee[e],
|
1073 |
+
r = t[n],
|
1074 |
+
o = je[n];
|
1075 |
+
r === o ||
|
1076 |
+
(r && r._merged) ||
|
1077 |
+
(t[n] = r
|
1078 |
+
? (function (n, r) {
|
1079 |
+
function t(t, e) {
|
1080 |
+
n(t, e), r(t, e);
|
1081 |
+
}
|
1082 |
+
return (t._merged = !0), t;
|
1083 |
+
})(o, r)
|
1084 |
+
: o);
|
1085 |
+
}
|
1086 |
+
})();
|
1087 |
+
var i = a.options.name || n;
|
1088 |
+
return new dt("vue-component-" + a.cid + (i ? "-" + i : ""), s, void 0, void 0, void 0, t, { Ctor: a, propsData: f, listeners: p, tag: n, children: e }, r);
|
1089 |
+
}
|
1090 |
+
}
|
1091 |
+
var c, l, u, f, p;
|
1092 |
+
}
|
1093 |
+
var Pe = 1,
|
1094 |
+
Ie = 2;
|
1095 |
+
function Le(t, e, n, r, o, i) {
|
1096 |
+
return (
|
1097 |
+
(Array.isArray(n) || l(n)) && ((o = r), (r = n), (n = void 0)),
|
1098 |
+
O(i) && (o = Ie),
|
1099 |
+
(t = t),
|
1100 |
+
(e = e),
|
1101 |
+
(r = r),
|
1102 |
+
(o = o),
|
1103 |
+
I((n = n)) && I(n.__ob__)
|
1104 |
+
? vt()
|
1105 |
+
: (I(n) && I(n.is) && (e = n.is),
|
1106 |
+
e
|
1107 |
+
? (Array.isArray(r) && "function" == typeof r[0] && (((n = n || {}).scopedSlots = { default: r[0] }), (r.length = 0)),
|
1108 |
+
o === Ie
|
1109 |
+
? (r = ae(r))
|
1110 |
+
: o === Pe &&
|
1111 |
+
(r = (function (t) {
|
1112 |
+
for (var e = 0; e < t.length; e++) if (Array.isArray(t[e])) return Array.prototype.concat.apply([], t);
|
1113 |
+
return t;
|
1114 |
+
})(r)),
|
1115 |
+
(r =
|
1116 |
+
"string" == typeof e
|
1117 |
+
? ((a = (t.$vnode && t.$vnode.ns) || M.getTagNamespace(e)),
|
1118 |
+
M.isReservedTag(e) ? new dt(M.parsePlatformTagName(e), n, r, void 0, void 0, t) : (n && n.pre) || !I((s = Lt(t.$options, "components", e))) ? new dt(e, n, r, void 0, void 0, t) : Me(s, n, t, r, e))
|
1119 |
+
: Me(e, n, t, r)),
|
1120 |
+
Array.isArray(r)
|
1121 |
+
? r
|
1122 |
+
: I(r)
|
1123 |
+
? (I(a) &&
|
1124 |
+
(function t(e, n, r) {
|
1125 |
+
if (((e.ns = n), "foreignObject" === e.tag && (r = !(n = void 0)), I(e.children)))
|
1126 |
+
for (var o = 0, i = e.children.length; o < i; o++) {
|
1127 |
+
var a = e.children[o];
|
1128 |
+
I(a.tag) && (P(a.ns) || (O(r) && "svg" !== a.tag)) && t(a, n, r);
|
1129 |
+
}
|
1130 |
+
})(r, a),
|
1131 |
+
I(n) && (L((n = n).style) && te(n.style), L(n.class) && te(n.class)),
|
1132 |
+
r)
|
1133 |
+
: vt())
|
1134 |
+
: vt())
|
1135 |
+
);
|
1136 |
+
var a, s;
|
1137 |
+
}
|
1138 |
+
var Ne,
|
1139 |
+
De = null;
|
1140 |
+
function Fe(t, e) {
|
1141 |
+
return (t.__esModule || (it && "Module" === t[Symbol.toStringTag])) && (t = t.default), L(t) ? e.extend(t) : t;
|
1142 |
+
}
|
1143 |
+
function Re(t) {
|
1144 |
+
return t.isComment && t.asyncFactory;
|
1145 |
+
}
|
1146 |
+
function ze(t) {
|
1147 |
+
if (Array.isArray(t))
|
1148 |
+
for (var e = 0; e < t.length; e++) {
|
1149 |
+
var n = t[e];
|
1150 |
+
if (I(n) && (I(n.componentOptions) || Re(n))) return n;
|
1151 |
+
}
|
1152 |
+
}
|
1153 |
+
function He(t, e) {
|
1154 |
+
Ne.$on(t, e);
|
1155 |
+
}
|
1156 |
+
function Ue(t, e) {
|
1157 |
+
Ne.$off(t, e);
|
1158 |
+
}
|
1159 |
+
function Be(e, n) {
|
1160 |
+
var r = Ne;
|
1161 |
+
return function t() {
|
1162 |
+
null !== n.apply(null, arguments) && r.$off(e, t);
|
1163 |
+
};
|
1164 |
+
}
|
1165 |
+
function Ve(t, e, n) {
|
1166 |
+
re(e, n || {}, He, Ue, Be, (Ne = t)), (Ne = void 0);
|
1167 |
+
}
|
1168 |
+
var We = null;
|
1169 |
+
function qe(t) {
|
1170 |
+
var e = We;
|
1171 |
+
return (
|
1172 |
+
(We = t),
|
1173 |
+
function () {
|
1174 |
+
We = e;
|
1175 |
+
}
|
1176 |
+
);
|
1177 |
+
}
|
1178 |
+
function Je(t) {
|
1179 |
+
for (; (t = t && t.$parent); ) if (t._inactive) return 1;
|
1180 |
+
}
|
1181 |
+
function Ge(t, e) {
|
1182 |
+
if (e) {
|
1183 |
+
if (((t._directInactive = !1), Je(t))) return;
|
1184 |
+
} else if (t._directInactive) return;
|
1185 |
+
if (t._inactive || null === t._inactive) {
|
1186 |
+
t._inactive = !1;
|
1187 |
+
for (var n = 0; n < t.$children.length; n++) Ge(t.$children[n]);
|
1188 |
+
Ke(t, "activated");
|
1189 |
+
}
|
1190 |
+
}
|
1191 |
+
function Ke(t, e) {
|
1192 |
+
ft();
|
1193 |
+
var n = t.$options[e],
|
1194 |
+
r = e + " hook";
|
1195 |
+
if (n) for (var o = 0, i = n.length; o < i; o++) Ht(n[o], t, null, t, r);
|
1196 |
+
t._hasHookEvent && t.$emit("hook:" + e), pt();
|
1197 |
+
}
|
1198 |
+
var Xe,
|
1199 |
+
Qe = [],
|
1200 |
+
Ye = [],
|
1201 |
+
Ze = {},
|
1202 |
+
tn = !1,
|
1203 |
+
en = !1,
|
1204 |
+
nn = 0,
|
1205 |
+
rn = 0,
|
1206 |
+
on = Date.now;
|
1207 |
+
function an() {
|
1208 |
+
var t, e;
|
1209 |
+
for (
|
1210 |
+
rn = on(),
|
1211 |
+
en = !0,
|
1212 |
+
Qe.sort(function (t, e) {
|
1213 |
+
return t.id - e.id;
|
1214 |
+
}),
|
1215 |
+
nn = 0;
|
1216 |
+
nn < Qe.length;
|
1217 |
+
nn++
|
1218 |
+
)
|
1219 |
+
(t = Qe[nn]).before && t.before(), (e = t.id), (Ze[e] = null), t.run();
|
1220 |
+
var n = Ye.slice(),
|
1221 |
+
r = Qe.slice();
|
1222 |
+
(nn = Qe.length = Ye.length = 0),
|
1223 |
+
(tn = en = !(Ze = {})),
|
1224 |
+
(function (t) {
|
1225 |
+
for (var e = 0; e < t.length; e++) (t[e]._inactive = !0), Ge(t[e], !0);
|
1226 |
+
})(n),
|
1227 |
+
(function (t) {
|
1228 |
+
for (var e = t.length; e--; ) {
|
1229 |
+
var n = t[e],
|
1230 |
+
r = n.vm;
|
1231 |
+
r._watcher === n && r._isMounted && !r._isDestroyed && Ke(r, "updated");
|
1232 |
+
}
|
1233 |
+
})(r),
|
1234 |
+
nt && M.devtools && nt.emit("flush");
|
1235 |
+
}
|
1236 |
+
function sn(t, e, n, r, o) {
|
1237 |
+
(this.vm = t),
|
1238 |
+
o && (t._watcher = this),
|
1239 |
+
t._watchers.push(this),
|
1240 |
+
r ? ((this.deep = !!r.deep), (this.user = !!r.user), (this.lazy = !!r.lazy), (this.sync = !!r.sync), (this.before = r.before)) : (this.deep = this.user = this.lazy = this.sync = !1),
|
1241 |
+
(this.cb = n),
|
1242 |
+
(this.id = ++cn),
|
1243 |
+
(this.active = !0),
|
1244 |
+
(this.dirty = this.lazy),
|
1245 |
+
(this.deps = []),
|
1246 |
+
(this.newDeps = []),
|
1247 |
+
(this.depIds = new ot()),
|
1248 |
+
(this.newDepIds = new ot()),
|
1249 |
+
(this.expression = ""),
|
1250 |
+
"function" == typeof e
|
1251 |
+
? (this.getter = e)
|
1252 |
+
: ((this.getter = (function (t) {
|
1253 |
+
if (!H.test(t)) {
|
1254 |
+
var n = t.split(".");
|
1255 |
+
return function (t) {
|
1256 |
+
for (var e = 0; e < n.length; e++) {
|
1257 |
+
if (!t) return;
|
1258 |
+
t = t[n[e]];
|
1259 |
+
}
|
1260 |
+
return t;
|
1261 |
+
};
|
1262 |
+
}
|
1263 |
+
})(e)),
|
1264 |
+
this.getter || (this.getter = $)),
|
1265 |
+
(this.value = this.lazy ? void 0 : this.get());
|
1266 |
+
}
|
1267 |
+
!B ||
|
1268 |
+
J ||
|
1269 |
+
((Xe = window.performance) &&
|
1270 |
+
"function" == typeof Xe.now &&
|
1271 |
+
on() > document.createEvent("Event").timeStamp &&
|
1272 |
+
(on = function () {
|
1273 |
+
return Xe.now();
|
1274 |
+
}));
|
1275 |
+
var cn = 0;
|
1276 |
+
(sn.prototype.get = function () {
|
1277 |
+
var t;
|
1278 |
+
ft(this);
|
1279 |
+
var e = this.vm;
|
1280 |
+
try {
|
1281 |
+
t = this.getter.call(e, e);
|
1282 |
+
} catch (t) {
|
1283 |
+
if (!this.user) throw t;
|
1284 |
+
zt(t, e, 'getter for watcher "' + this.expression + '"');
|
1285 |
+
} finally {
|
1286 |
+
this.deep && te(t), pt(), this.cleanupDeps();
|
1287 |
+
}
|
1288 |
+
return t;
|
1289 |
+
}),
|
1290 |
+
(sn.prototype.addDep = function (t) {
|
1291 |
+
var e = t.id;
|
1292 |
+
this.newDepIds.has(e) || (this.newDepIds.add(e), this.newDeps.push(t), this.depIds.has(e) || t.addSub(this));
|
1293 |
+
}),
|
1294 |
+
(sn.prototype.cleanupDeps = function () {
|
1295 |
+
for (var t = this.deps.length; t--; ) {
|
1296 |
+
var e = this.deps[t];
|
1297 |
+
this.newDepIds.has(e.id) || e.removeSub(this);
|
1298 |
+
}
|
1299 |
+
var n = this.depIds;
|
1300 |
+
(this.depIds = this.newDepIds), (this.newDepIds = n), this.newDepIds.clear(), (n = this.deps), (this.deps = this.newDeps), (this.newDeps = n), (this.newDeps.length = 0);
|
1301 |
+
}),
|
1302 |
+
(sn.prototype.update = function () {
|
1303 |
+
this.lazy
|
1304 |
+
? (this.dirty = !0)
|
1305 |
+
: this.sync
|
1306 |
+
? this.run()
|
1307 |
+
: (function (t) {
|
1308 |
+
var e = t.id;
|
1309 |
+
if (null == Ze[e]) {
|
1310 |
+
if (((Ze[e] = !0), en)) {
|
1311 |
+
for (var n = Qe.length - 1; nn < n && Qe[n].id > t.id; ) n--;
|
1312 |
+
Qe.splice(n + 1, 0, t);
|
1313 |
+
} else Qe.push(t);
|
1314 |
+
tn || ((tn = !0), Yt(an));
|
1315 |
+
}
|
1316 |
+
})(this);
|
1317 |
+
}),
|
1318 |
+
(sn.prototype.run = function () {
|
1319 |
+
if (this.active) {
|
1320 |
+
var t = this.get();
|
1321 |
+
if (t !== this.value || L(t) || this.deep) {
|
1322 |
+
var e = this.value;
|
1323 |
+
if (((this.value = t), this.user))
|
1324 |
+
try {
|
1325 |
+
this.cb.call(this.vm, t, e);
|
1326 |
+
} catch (t) {
|
1327 |
+
zt(t, this.vm, 'callback for watcher "' + this.expression + '"');
|
1328 |
+
}
|
1329 |
+
else this.cb.call(this.vm, t, e);
|
1330 |
+
}
|
1331 |
+
}
|
1332 |
+
}),
|
1333 |
+
(sn.prototype.evaluate = function () {
|
1334 |
+
(this.value = this.get()), (this.dirty = !1);
|
1335 |
+
}),
|
1336 |
+
(sn.prototype.depend = function () {
|
1337 |
+
for (var t = this.deps.length; t--; ) this.deps[t].depend();
|
1338 |
+
}),
|
1339 |
+
(sn.prototype.teardown = function () {
|
1340 |
+
if (this.active) {
|
1341 |
+
this.vm._isBeingDestroyed || v(this.vm._watchers, this);
|
1342 |
+
for (var t = this.deps.length; t--; ) this.deps[t].removeSub(this);
|
1343 |
+
this.active = !1;
|
1344 |
+
}
|
1345 |
+
});
|
1346 |
+
var ln = { enumerable: !0, configurable: !0, get: $, set: $ };
|
1347 |
+
function un(t, e, n) {
|
1348 |
+
(ln.get = function () {
|
1349 |
+
return this[e][n];
|
1350 |
+
}),
|
1351 |
+
(ln.set = function (t) {
|
1352 |
+
this[e][n] = t;
|
1353 |
+
}),
|
1354 |
+
Object.defineProperty(t, n, ln);
|
1355 |
+
}
|
1356 |
+
var fn = { lazy: !0 };
|
1357 |
+
function pn(t, e, n) {
|
1358 |
+
var r = !et();
|
1359 |
+
"function" == typeof n ? ((ln.get = r ? dn(e) : hn(n)), (ln.set = $)) : ((ln.get = n.get ? (r && !1 !== n.cache ? dn(e) : hn(n.get)) : $), (ln.set = n.set || $)), Object.defineProperty(t, e, ln);
|
1360 |
+
}
|
1361 |
+
function dn(e) {
|
1362 |
+
return function () {
|
1363 |
+
var t = this._computedWatchers && this._computedWatchers[e];
|
1364 |
+
if (t) return t.dirty && t.evaluate(), lt.target && t.depend(), t.value;
|
1365 |
+
};
|
1366 |
+
}
|
1367 |
+
function hn(t) {
|
1368 |
+
return function () {
|
1369 |
+
return t.call(this, this);
|
1370 |
+
};
|
1371 |
+
}
|
1372 |
+
function vn(t, e, n, r) {
|
1373 |
+
return c(n) && (n = (r = n).handler), "string" == typeof n && (n = t[n]), t.$watch(e, n, r);
|
1374 |
+
}
|
1375 |
+
var mn,
|
1376 |
+
yn = 0;
|
1377 |
+
function gn(o) {
|
1378 |
+
var t,
|
1379 |
+
e,
|
1380 |
+
n = o.options;
|
1381 |
+
return (
|
1382 |
+
!o.super ||
|
1383 |
+
((t = gn(o.super)) !== o.superOptions &&
|
1384 |
+
((o.superOptions = t),
|
1385 |
+
(e = (function () {
|
1386 |
+
var t,
|
1387 |
+
e,
|
1388 |
+
n = o.options,
|
1389 |
+
r = o.sealedOptions;
|
1390 |
+
for (e in n) n[e] !== r[e] && ((t = t || {})[e] = n[e]);
|
1391 |
+
return t;
|
1392 |
+
})()) && w(o.extendOptions, e),
|
1393 |
+
(n = o.options = It(t, o.extendOptions)).name && (n.components[n.name] = o))),
|
1394 |
+
n
|
1395 |
+
);
|
1396 |
+
}
|
1397 |
+
function _n(t) {
|
1398 |
+
this._init(t);
|
1399 |
+
}
|
1400 |
+
function bn(t) {
|
1401 |
+
return t && (t.Ctor.options.name || t.tag);
|
1402 |
+
}
|
1403 |
+
function wn(t, e) {
|
1404 |
+
return Array.isArray(t) ? -1 < t.indexOf(e) : "string" == typeof t ? -1 < t.split(",").indexOf(e) : "[object RegExp]" === n.call(t) && t.test(e);
|
1405 |
+
}
|
1406 |
+
function xn(t, e) {
|
1407 |
+
var n,
|
1408 |
+
r = t.cache,
|
1409 |
+
o = t.keys,
|
1410 |
+
i = t._vnode;
|
1411 |
+
for (n in r) {
|
1412 |
+
var a = r[n];
|
1413 |
+
!a || ((a = bn(a.componentOptions)) && !e(a) && $n(r, n, o, i));
|
1414 |
+
}
|
1415 |
+
}
|
1416 |
+
function $n(t, e, n, r) {
|
1417 |
+
var o = t[e];
|
1418 |
+
!o || (r && o.tag === r.tag) || o.componentInstance.$destroy(), (t[e] = null), v(n, e);
|
1419 |
+
}
|
1420 |
+
(_n.prototype._init = function (t) {
|
1421 |
+
var e,
|
1422 |
+
n,
|
1423 |
+
r = this;
|
1424 |
+
(r._uid = yn++),
|
1425 |
+
(r._isVue = !0),
|
1426 |
+
t && t._isComponent
|
1427 |
+
? (function (t) {
|
1428 |
+
var e = (r.$options = Object.create(r.constructor.options)),
|
1429 |
+
n = t._parentVnode;
|
1430 |
+
e.parent = t.parent;
|
1431 |
+
n = (e._parentVnode = n).componentOptions;
|
1432 |
+
(e.propsData = n.propsData), (e._parentListeners = n.listeners), (e._renderChildren = n.children), (e._componentTag = n.tag), t.render && ((e.render = t.render), (e.staticRenderFns = t.staticRenderFns));
|
1433 |
+
})(t)
|
1434 |
+
: (r.$options = It(gn(r.constructor), t || {}, r)),
|
1435 |
+
(function (t) {
|
1436 |
+
var e = t.$options,
|
1437 |
+
n = e.parent;
|
1438 |
+
if (n && !e.abstract) {
|
1439 |
+
for (; n.$options.abstract && n.$parent; ) n = n.$parent;
|
1440 |
+
n.$children.push(t);
|
1441 |
+
}
|
1442 |
+
(t.$parent = n), (t.$root = n ? n.$root : t), (t.$children = []), (t.$refs = {}), (t._watcher = null), (t._inactive = null), (t._directInactive = !1), (t._isMounted = !1), (t._isDestroyed = !1), (t._isBeingDestroyed = !1);
|
1443 |
+
})(((r._renderProxy = r)._self = r)),
|
1444 |
+
(function (t) {
|
1445 |
+
(t._events = Object.create(null)), (t._hasHookEvent = !1);
|
1446 |
+
var e = t.$options._parentListeners;
|
1447 |
+
e && Ve(t, e);
|
1448 |
+
})(r),
|
1449 |
+
(function (o) {
|
1450 |
+
(o._vnode = null), (o._staticTrees = null);
|
1451 |
+
var t = o.$options,
|
1452 |
+
e = (o.$vnode = t._parentVnode),
|
1453 |
+
n = e && e.context;
|
1454 |
+
(o.$slots = le(t._renderChildren, n)),
|
1455 |
+
(o.$scopedSlots = d),
|
1456 |
+
(o._c = function (t, e, n, r) {
|
1457 |
+
return Le(o, t, e, n, r, !1);
|
1458 |
+
}),
|
1459 |
+
(o.$createElement = function (t, e, n, r) {
|
1460 |
+
return Le(o, t, e, n, r, !0);
|
1461 |
+
});
|
1462 |
+
e = e && e.data;
|
1463 |
+
Ct(o, "$attrs", (e && e.attrs) || d, null, !0), Ct(o, "$listeners", t._parentListeners || d, null, !0);
|
1464 |
+
})(r),
|
1465 |
+
Ke(r, "beforeCreate"),
|
1466 |
+
(n = ce((e = r).$options.inject, e)) &&
|
1467 |
+
(xt(!1),
|
1468 |
+
Object.keys(n).forEach(function (t) {
|
1469 |
+
Ct(e, t, n[t]);
|
1470 |
+
}),
|
1471 |
+
xt(!0)),
|
1472 |
+
(function (t) {
|
1473 |
+
t._watchers = [];
|
1474 |
+
var e = t.$options;
|
1475 |
+
e.props &&
|
1476 |
+
(function (n, r) {
|
1477 |
+
var t,
|
1478 |
+
o = n.$options.propsData || {},
|
1479 |
+
i = (n._props = {}),
|
1480 |
+
a = (n.$options._propKeys = []);
|
1481 |
+
for (t in (n.$parent && xt(!1), r))
|
1482 |
+
!(function (t) {
|
1483 |
+
a.push(t);
|
1484 |
+
var e = Nt(t, r, o, n);
|
1485 |
+
Ct(i, t, e), t in n || un(n, "_props", t);
|
1486 |
+
})(t);
|
1487 |
+
xt(!0);
|
1488 |
+
})(t, e.props),
|
1489 |
+
e.methods &&
|
1490 |
+
(function (t, e) {
|
1491 |
+
for (var n in (t.$options.props, e)) t[n] = "function" != typeof e[n] ? $ : _(e[n], t);
|
1492 |
+
})(t, e.methods),
|
1493 |
+
e.data
|
1494 |
+
? (function (t) {
|
1495 |
+
var e = t.$options.data;
|
1496 |
+
c(
|
1497 |
+
(e = t._data =
|
1498 |
+
"function" == typeof e
|
1499 |
+
? (function (t, e) {
|
1500 |
+
ft();
|
1501 |
+
try {
|
1502 |
+
return t.call(e, e);
|
1503 |
+
} catch (t) {
|
1504 |
+
return zt(t, e, "data()"), {};
|
1505 |
+
} finally {
|
1506 |
+
pt();
|
1507 |
+
}
|
1508 |
+
})(e, t)
|
1509 |
+
: e || {})
|
1510 |
+
) || (e = {});
|
1511 |
+
for (var n, r = Object.keys(e), o = t.$options.props, i = (t.$options.methods, r.length); i--; ) {
|
1512 |
+
var a = r[i];
|
1513 |
+
(o && p(o, a)) || (36 !== (n = (a + "").charCodeAt(0)) && 95 !== n && un(t, "_data", a));
|
1514 |
+
}
|
1515 |
+
kt(e, !0);
|
1516 |
+
})(t)
|
1517 |
+
: kt((t._data = {}), !0),
|
1518 |
+
e.computed &&
|
1519 |
+
(function (t, e) {
|
1520 |
+
var n,
|
1521 |
+
r = (t._computedWatchers = Object.create(null)),
|
1522 |
+
o = et();
|
1523 |
+
for (n in e) {
|
1524 |
+
var i = e[n],
|
1525 |
+
a = "function" == typeof i ? i : i.get;
|
1526 |
+
o || (r[n] = new sn(t, a || $, $, fn)), n in t || pn(t, n, i);
|
1527 |
+
}
|
1528 |
+
})(t, e.computed),
|
1529 |
+
e.watch &&
|
1530 |
+
e.watch !== Y &&
|
1531 |
+
(function (t, e) {
|
1532 |
+
for (var n in e) {
|
1533 |
+
var r = e[n];
|
1534 |
+
if (Array.isArray(r)) for (var o = 0; o < r.length; o++) vn(t, n, r[o]);
|
1535 |
+
else vn(t, n, r);
|
1536 |
+
}
|
1537 |
+
})(t, e.watch);
|
1538 |
+
})(r),
|
1539 |
+
(t = r.$options.provide) && (r._provided = "function" == typeof t ? t.call(r) : t),
|
1540 |
+
Ke(r, "created"),
|
1541 |
+
r.$options.el && r.$mount(r.$options.el);
|
1542 |
+
}),
|
1543 |
+
(W = _n),
|
1544 |
+
Object.defineProperty(W.prototype, "$data", {
|
1545 |
+
get: function () {
|
1546 |
+
return this._data;
|
1547 |
+
},
|
1548 |
+
}),
|
1549 |
+
Object.defineProperty(W.prototype, "$props", {
|
1550 |
+
get: function () {
|
1551 |
+
return this._props;
|
1552 |
+
},
|
1553 |
+
}),
|
1554 |
+
(W.prototype.$set = Ot),
|
1555 |
+
(W.prototype.$delete = At),
|
1556 |
+
(W.prototype.$watch = function (t, e, n) {
|
1557 |
+
if (c(e)) return vn(this, t, e, n);
|
1558 |
+
(n = n || {}).user = !0;
|
1559 |
+
var r = new sn(this, t, e, n);
|
1560 |
+
if (n.immediate)
|
1561 |
+
try {
|
1562 |
+
e.call(this, r.value);
|
1563 |
+
} catch (t) {
|
1564 |
+
zt(t, this, 'callback for immediate watcher "' + r.expression + '"');
|
1565 |
+
}
|
1566 |
+
return function () {
|
1567 |
+
r.teardown();
|
1568 |
+
};
|
1569 |
+
}),
|
1570 |
+
(mn = /^hook:/),
|
1571 |
+
((q = _n).prototype.$on = function (t, e) {
|
1572 |
+
var n = this;
|
1573 |
+
if (Array.isArray(t)) for (var r = 0, o = t.length; r < o; r++) n.$on(t[r], e);
|
1574 |
+
else (n._events[t] || (n._events[t] = [])).push(e), mn.test(t) && (n._hasHookEvent = !0);
|
1575 |
+
return n;
|
1576 |
+
}),
|
1577 |
+
(q.prototype.$once = function (t, e) {
|
1578 |
+
var n = this;
|
1579 |
+
function r() {
|
1580 |
+
n.$off(t, r), e.apply(n, arguments);
|
1581 |
+
}
|
1582 |
+
return (r.fn = e), n.$on(t, r), n;
|
1583 |
+
}),
|
1584 |
+
(q.prototype.$off = function (t, e) {
|
1585 |
+
var n = this;
|
1586 |
+
if (!arguments.length) return (n._events = Object.create(null)), n;
|
1587 |
+
if (Array.isArray(t)) {
|
1588 |
+
for (var r = 0, o = t.length; r < o; r++) n.$off(t[r], e);
|
1589 |
+
return n;
|
1590 |
+
}
|
1591 |
+
var i,
|
1592 |
+
a = n._events[t];
|
1593 |
+
if (!a) return n;
|
1594 |
+
if (!e) return (n._events[t] = null), n;
|
1595 |
+
for (var s = a.length; s--; )
|
1596 |
+
if ((i = a[s]) === e || i.fn === e) {
|
1597 |
+
a.splice(s, 1);
|
1598 |
+
break;
|
1599 |
+
}
|
1600 |
+
return n;
|
1601 |
+
}),
|
1602 |
+
(q.prototype.$emit = function (t) {
|
1603 |
+
var e = this._events[t];
|
1604 |
+
if (e) {
|
1605 |
+
e = 1 < e.length ? b(e) : e;
|
1606 |
+
for (var n = b(arguments, 1), r = 'event handler for "' + t + '"', o = 0, i = e.length; o < i; o++) Ht(e[o], this, n, this, r);
|
1607 |
+
}
|
1608 |
+
return this;
|
1609 |
+
}),
|
1610 |
+
((ht = _n).prototype._update = function (t, e) {
|
1611 |
+
var n = this,
|
1612 |
+
r = n.$el,
|
1613 |
+
o = n._vnode,
|
1614 |
+
i = qe(n);
|
1615 |
+
(n._vnode = t), (n.$el = o ? n.__patch__(o, t) : n.__patch__(n.$el, t, e, !1)), i(), r && (r.__vue__ = null), n.$el && (n.$el.__vue__ = n), n.$vnode && n.$parent && n.$vnode === n.$parent._vnode && (n.$parent.$el = n.$el);
|
1616 |
+
}),
|
1617 |
+
(ht.prototype.$forceUpdate = function () {
|
1618 |
+
this._watcher && this._watcher.update();
|
1619 |
+
}),
|
1620 |
+
(ht.prototype.$destroy = function () {
|
1621 |
+
var t = this;
|
1622 |
+
if (!t._isBeingDestroyed) {
|
1623 |
+
Ke(t, "beforeDestroy"), (t._isBeingDestroyed = !0);
|
1624 |
+
var e = t.$parent;
|
1625 |
+
!e || e._isBeingDestroyed || t.$options.abstract || v(e.$children, t), t._watcher && t._watcher.teardown();
|
1626 |
+
for (var n = t._watchers.length; n--; ) t._watchers[n].teardown();
|
1627 |
+
t._data.__ob__ && t._data.__ob__.vmCount--, (t._isDestroyed = !0), t.__patch__(t._vnode, null), Ke(t, "destroyed"), t.$off(), t.$el && (t.$el.__vue__ = null), t.$vnode && (t.$vnode.parent = null);
|
1628 |
+
}
|
1629 |
+
}),
|
1630 |
+
Oe((E = _n).prototype),
|
1631 |
+
(E.prototype.$nextTick = function (t) {
|
1632 |
+
return Yt(t, this);
|
1633 |
+
}),
|
1634 |
+
(E.prototype._render = function () {
|
1635 |
+
var t,
|
1636 |
+
e = this,
|
1637 |
+
n = e.$options,
|
1638 |
+
r = n.render,
|
1639 |
+
o = n._parentVnode;
|
1640 |
+
o && (e.$scopedSlots = fe(o.data.scopedSlots, e.$slots, e.$scopedSlots)), (e.$vnode = o);
|
1641 |
+
try {
|
1642 |
+
(De = e), (t = r.call(e._renderProxy, e.$createElement));
|
1643 |
+
} catch (n) {
|
1644 |
+
zt(n, e, "render"), (t = e._vnode);
|
1645 |
+
} finally {
|
1646 |
+
De = null;
|
1647 |
+
}
|
1648 |
+
return Array.isArray(t) && 1 === t.length && (t = t[0]), t instanceof dt || (t = vt()), (t.parent = o), t;
|
1649 |
+
});
|
1650 |
+
var kn,
|
1651 |
+
Cn,
|
1652 |
+
On = [String, RegExp, Array],
|
1653 |
+
W = {
|
1654 |
+
KeepAlive: {
|
1655 |
+
name: "keep-alive",
|
1656 |
+
abstract: !0,
|
1657 |
+
props: { include: On, exclude: On, max: [String, Number] },
|
1658 |
+
created: function () {
|
1659 |
+
(this.cache = Object.create(null)), (this.keys = []);
|
1660 |
+
},
|
1661 |
+
destroyed: function () {
|
1662 |
+
for (var t in this.cache) $n(this.cache, t, this.keys);
|
1663 |
+
},
|
1664 |
+
mounted: function () {
|
1665 |
+
var t = this;
|
1666 |
+
this.$watch("include", function (e) {
|
1667 |
+
xn(t, function (t) {
|
1668 |
+
return wn(e, t);
|
1669 |
+
});
|
1670 |
+
}),
|
1671 |
+
this.$watch("exclude", function (e) {
|
1672 |
+
xn(t, function (t) {
|
1673 |
+
return !wn(e, t);
|
1674 |
+
});
|
1675 |
+
});
|
1676 |
+
},
|
1677 |
+
render: function () {
|
1678 |
+
var t = this.$slots.default,
|
1679 |
+
e = ze(t),
|
1680 |
+
n = e && e.componentOptions;
|
1681 |
+
if (n) {
|
1682 |
+
var r = bn(n),
|
1683 |
+
o = this.include,
|
1684 |
+
i = this.exclude;
|
1685 |
+
if ((o && (!r || !wn(o, r))) || (i && r && wn(i, r))) return e;
|
1686 |
+
(i = this.cache), (r = this.keys), (n = null == e.key ? n.Ctor.cid + (n.tag ? "::" + n.tag : "") : e.key);
|
1687 |
+
i[n] ? ((e.componentInstance = i[n].componentInstance), v(r, n), r.push(n)) : ((i[n] = e), r.push(n), this.max && r.length > parseInt(this.max) && $n(i, r[0], r, this._vnode)), (e.data.keepAlive = !0);
|
1688 |
+
}
|
1689 |
+
return e || (t && t[0]);
|
1690 |
+
},
|
1691 |
+
},
|
1692 |
+
};
|
1693 |
+
function An(t, e, n) {
|
1694 |
+
return ("value" === n && Sn(t) && "button" !== e) || ("selected" === n && "option" === t) || ("checked" === n && "input" === t) || ("muted" === n && "video" === t);
|
1695 |
+
}
|
1696 |
+
(kn = _n),
|
1697 |
+
(q = {
|
1698 |
+
get: function () {
|
1699 |
+
return M;
|
1700 |
+
},
|
1701 |
+
}),
|
1702 |
+
Object.defineProperty(kn, "config", q),
|
1703 |
+
(kn.util = { warn: st, extend: w, mergeOptions: It, defineReactive: Ct }),
|
1704 |
+
(kn.set = Ot),
|
1705 |
+
(kn.delete = At),
|
1706 |
+
(kn.nextTick = Yt),
|
1707 |
+
(kn.observable = function (t) {
|
1708 |
+
return kt(t), t;
|
1709 |
+
}),
|
1710 |
+
(kn.options = Object.create(null)),
|
1711 |
+
j.forEach(function (t) {
|
1712 |
+
kn.options[t + "s"] = Object.create(null);
|
1713 |
+
}),
|
1714 |
+
w((kn.options._base = kn).options.components, W),
|
1715 |
+
(kn.use = function (t) {
|
1716 |
+
var e = this._installedPlugins || (this._installedPlugins = []);
|
1717 |
+
if (-1 < e.indexOf(t)) return this;
|
1718 |
+
var n = b(arguments, 1);
|
1719 |
+
return n.unshift(this), "function" == typeof t.install ? t.install.apply(t, n) : "function" == typeof t && t.apply(null, n), e.push(t), this;
|
1720 |
+
}),
|
1721 |
+
(kn.mixin = function (t) {
|
1722 |
+
return (this.options = It(this.options, t)), this;
|
1723 |
+
}),
|
1724 |
+
(function (t) {
|
1725 |
+
t.cid = 0;
|
1726 |
+
var a = 1;
|
1727 |
+
t.extend = function (t) {
|
1728 |
+
t = t || {};
|
1729 |
+
var e = this,
|
1730 |
+
n = e.cid,
|
1731 |
+
r = t._Ctor || (t._Ctor = {});
|
1732 |
+
if (r[n]) return r[n];
|
1733 |
+
function o(t) {
|
1734 |
+
this._init(t);
|
1735 |
+
}
|
1736 |
+
var i = t.name || e.options.name;
|
1737 |
+
return (
|
1738 |
+
(((o.prototype = Object.create(e.prototype)).constructor = o).cid = a++),
|
1739 |
+
(o.options = It(e.options, t)),
|
1740 |
+
(o.super = e),
|
1741 |
+
o.options.props &&
|
1742 |
+
(function (t) {
|
1743 |
+
for (var e in t.options.props) un(t.prototype, "_props", e);
|
1744 |
+
})(o),
|
1745 |
+
o.options.computed &&
|
1746 |
+
(function (t) {
|
1747 |
+
var e,
|
1748 |
+
n = t.options.computed;
|
1749 |
+
for (e in n) pn(t.prototype, e, n[e]);
|
1750 |
+
})(o),
|
1751 |
+
(o.extend = e.extend),
|
1752 |
+
(o.mixin = e.mixin),
|
1753 |
+
(o.use = e.use),
|
1754 |
+
j.forEach(function (t) {
|
1755 |
+
o[t] = e[t];
|
1756 |
+
}),
|
1757 |
+
i && (o.options.components[i] = o),
|
1758 |
+
(o.superOptions = e.options),
|
1759 |
+
(o.extendOptions = t),
|
1760 |
+
(o.sealedOptions = w({}, o.options)),
|
1761 |
+
(r[n] = o)
|
1762 |
+
);
|
1763 |
+
};
|
1764 |
+
})(kn),
|
1765 |
+
(Cn = kn),
|
1766 |
+
j.forEach(function (n) {
|
1767 |
+
Cn[n] = function (t, e) {
|
1768 |
+
return e
|
1769 |
+
? ("component" === n && c(e) && ((e.name = e.name || t), (e = this.options._base.extend(e))), "directive" === n && "function" == typeof e && (e = { bind: e, update: e }), (this.options[n + "s"][t] = e))
|
1770 |
+
: this.options[n + "s"][t];
|
1771 |
+
};
|
1772 |
+
}),
|
1773 |
+
Object.defineProperty(_n.prototype, "$isServer", { get: et }),
|
1774 |
+
Object.defineProperty(_n.prototype, "$ssrContext", {
|
1775 |
+
get: function () {
|
1776 |
+
return this.$vnode && this.$vnode.ssrContext;
|
1777 |
+
},
|
1778 |
+
}),
|
1779 |
+
Object.defineProperty(_n, "FunctionalRenderContext", { value: Ae }),
|
1780 |
+
(_n.version = "2.6.10");
|
1781 |
+
var ht = a("style,class"),
|
1782 |
+
Sn = a("input,textarea,option,select,progress"),
|
1783 |
+
Tn = a("contenteditable,draggable,spellcheck"),
|
1784 |
+
jn = a("events,caret,typing,plaintext-only"),
|
1785 |
+
En = function (t, e) {
|
1786 |
+
return Nn(e) || "false" === e ? "false" : "contenteditable" === t && jn(e) ? e : "true";
|
1787 |
+
},
|
1788 |
+
Mn = a(
|
1789 |
+
"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"
|
1790 |
+
),
|
1791 |
+
Pn = "http://www.w3.org/1999/xlink",
|
1792 |
+
In = function (t) {
|
1793 |
+
return ":" === t.charAt(5) && "xlink" === t.slice(0, 5);
|
1794 |
+
},
|
1795 |
+
Ln = function (t) {
|
1796 |
+
return In(t) ? t.slice(6, t.length) : "";
|
1797 |
+
},
|
1798 |
+
Nn = function (t) {
|
1799 |
+
return null == t || !1 === t;
|
1800 |
+
};
|
1801 |
+
function Dn(t, e) {
|
1802 |
+
return { staticClass: Fn(t.staticClass, e.staticClass), class: I(t.class) ? [t.class, e.class] : e.class };
|
1803 |
+
}
|
1804 |
+
function Fn(t, e) {
|
1805 |
+
return t ? (e ? t + " " + e : t) : e || "";
|
1806 |
+
}
|
1807 |
+
function Rn(t) {
|
1808 |
+
return Array.isArray(t)
|
1809 |
+
? (function (t) {
|
1810 |
+
for (var e, n = "", r = 0, o = t.length; r < o; r++) I((e = Rn(t[r]))) && "" !== e && (n && (n += " "), (n += e));
|
1811 |
+
return n;
|
1812 |
+
})(t)
|
1813 |
+
: L(t)
|
1814 |
+
? (function (t) {
|
1815 |
+
var e,
|
1816 |
+
n = "";
|
1817 |
+
for (e in t) t[e] && (n && (n += " "), (n += e));
|
1818 |
+
return n;
|
1819 |
+
})(t)
|
1820 |
+
: "string" == typeof t
|
1821 |
+
? t
|
1822 |
+
: "";
|
1823 |
+
}
|
1824 |
+
function zn(t) {
|
1825 |
+
return Un(t) || Bn(t);
|
1826 |
+
}
|
1827 |
+
var Hn = { svg: "http://www.w3.org/2000/svg", math: "http://www.w3.org/1998/Math/MathML" },
|
1828 |
+
Un = a(
|
1829 |
+
"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"
|
1830 |
+
),
|
1831 |
+
Bn = a("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view", !0);
|
1832 |
+
function Vn(t) {
|
1833 |
+
return Bn(t) ? "svg" : "math" === t ? "math" : void 0;
|
1834 |
+
}
|
1835 |
+
var Wn = Object.create(null),
|
1836 |
+
qn = a("text,number,password,search,email,tel,url");
|
1837 |
+
function Jn(t) {
|
1838 |
+
return "string" != typeof t ? t : document.querySelector(t) || document.createElement("div");
|
1839 |
+
}
|
1840 |
+
(E = Object.freeze({
|
1841 |
+
createElement: function (t, e) {
|
1842 |
+
var n = document.createElement(t);
|
1843 |
+
return "select" !== t || (e.data && e.data.attrs && void 0 !== e.data.attrs.multiple && n.setAttribute("multiple", "multiple")), n;
|
1844 |
+
},
|
1845 |
+
createElementNS: function (t, e) {
|
1846 |
+
return document.createElementNS(Hn[t], e);
|
1847 |
+
},
|
1848 |
+
createTextNode: function (t) {
|
1849 |
+
return document.createTextNode(t);
|
1850 |
+
},
|
1851 |
+
createComment: function (t) {
|
1852 |
+
return document.createComment(t);
|
1853 |
+
},
|
1854 |
+
insertBefore: function (t, e, n) {
|
1855 |
+
t.insertBefore(e, n);
|
1856 |
+
},
|
1857 |
+
removeChild: function (t, e) {
|
1858 |
+
t.removeChild(e);
|
1859 |
+
},
|
1860 |
+
appendChild: function (t, e) {
|
1861 |
+
t.appendChild(e);
|
1862 |
+
},
|
1863 |
+
parentNode: function (t) {
|
1864 |
+
return t.parentNode;
|
1865 |
+
},
|
1866 |
+
nextSibling: function (t) {
|
1867 |
+
return t.nextSibling;
|
1868 |
+
},
|
1869 |
+
tagName: function (t) {
|
1870 |
+
return t.tagName;
|
1871 |
+
},
|
1872 |
+
setTextContent: function (t, e) {
|
1873 |
+
t.textContent = e;
|
1874 |
+
},
|
1875 |
+
setStyleScope: function (t, e) {
|
1876 |
+
t.setAttribute(e, "");
|
1877 |
+
},
|
1878 |
+
})),
|
1879 |
+
(On = {
|
1880 |
+
create: function (t, e) {
|
1881 |
+
Gn(e);
|
1882 |
+
},
|
1883 |
+
update: function (t, e) {
|
1884 |
+
t.data.ref !== e.data.ref && (Gn(t, !0), Gn(e));
|
1885 |
+
},
|
1886 |
+
destroy: function (t) {
|
1887 |
+
Gn(t, !0);
|
1888 |
+
},
|
1889 |
+
});
|
1890 |
+
function Gn(t, e) {
|
1891 |
+
var n,
|
1892 |
+
r,
|
1893 |
+
o = t.data.ref;
|
1894 |
+
I(o) &&
|
1895 |
+
((r = t.context),
|
1896 |
+
(n = t.componentInstance || t.elm),
|
1897 |
+
(r = r.$refs),
|
1898 |
+
e ? (Array.isArray(r[o]) ? v(r[o], n) : r[o] === n && (r[o] = void 0)) : t.data.refInFor ? (Array.isArray(r[o]) ? r[o].indexOf(n) < 0 && r[o].push(n) : (r[o] = [n])) : (r[o] = n));
|
1899 |
+
}
|
1900 |
+
var Kn = new dt("", {}, []),
|
1901 |
+
Xn = ["create", "activate", "update", "remove", "destroy"];
|
1902 |
+
function Qn(n, r) {
|
1903 |
+
return (
|
1904 |
+
n.key === r.key &&
|
1905 |
+
((n.tag === r.tag &&
|
1906 |
+
n.isComment === r.isComment &&
|
1907 |
+
I(n.data) === I(r.data) &&
|
1908 |
+
(function () {
|
1909 |
+
if ("input" !== n.tag) return 1;
|
1910 |
+
var t = I((e = n.data)) && I((e = e.attrs)) && e.type,
|
1911 |
+
e = I((e = r.data)) && I((e = e.attrs)) && e.type;
|
1912 |
+
return t === e || (qn(t) && qn(e));
|
1913 |
+
})()) ||
|
1914 |
+
(O(n.isAsyncPlaceholder) && n.asyncFactory === r.asyncFactory && P(r.asyncFactory.error)))
|
1915 |
+
);
|
1916 |
+
}
|
1917 |
+
q = {
|
1918 |
+
create: Yn,
|
1919 |
+
update: Yn,
|
1920 |
+
destroy: function (t) {
|
1921 |
+
Yn(t, Kn);
|
1922 |
+
},
|
1923 |
+
};
|
1924 |
+
function Yn(t, e) {
|
1925 |
+
(t.data.directives || e.data.directives) &&
|
1926 |
+
(function (e, n) {
|
1927 |
+
var t,
|
1928 |
+
r,
|
1929 |
+
o,
|
1930 |
+
i,
|
1931 |
+
a = e === Kn,
|
1932 |
+
s = n === Kn,
|
1933 |
+
c = tr(e.data.directives, e.context),
|
1934 |
+
l = tr(n.data.directives, n.context),
|
1935 |
+
u = [],
|
1936 |
+
f = [];
|
1937 |
+
for (t in l) (r = c[t]), (o = l[t]), r ? ((o.oldValue = r.value), (o.oldArg = r.arg), er(o, "update", n, e), o.def && o.def.componentUpdated && f.push(o)) : (er(o, "bind", n, e), o.def && o.def.inserted && u.push(o));
|
1938 |
+
if (
|
1939 |
+
(u.length &&
|
1940 |
+
((i = function () {
|
1941 |
+
for (var t = 0; t < u.length; t++) er(u[t], "inserted", n, e);
|
1942 |
+
}),
|
1943 |
+
a ? oe(n, "insert", i) : i()),
|
1944 |
+
f.length &&
|
1945 |
+
oe(n, "postpatch", function () {
|
1946 |
+
for (var t = 0; t < f.length; t++) er(f[t], "componentUpdated", n, e);
|
1947 |
+
}),
|
1948 |
+
!a)
|
1949 |
+
)
|
1950 |
+
for (t in c) l[t] || er(c[t], "unbind", e, e, s);
|
1951 |
+
})(t, e);
|
1952 |
+
}
|
1953 |
+
var Zn = Object.create(null);
|
1954 |
+
function tr(t, e) {
|
1955 |
+
var n,
|
1956 |
+
r,
|
1957 |
+
o = Object.create(null);
|
1958 |
+
if (!t) return o;
|
1959 |
+
for (n = 0; n < t.length; n++) (r = t[n]).modifiers || (r.modifiers = Zn), ((o[r.rawName || r.name + "." + Object.keys(r.modifiers || {}).join(".")] = r).def = Lt(e.$options, "directives", r.name));
|
1960 |
+
return o;
|
1961 |
+
}
|
1962 |
+
function er(t, e, n, r, o) {
|
1963 |
+
var i = t.def && t.def[e];
|
1964 |
+
if (i)
|
1965 |
+
try {
|
1966 |
+
i(n.elm, t, n, r, o);
|
1967 |
+
} catch (r) {
|
1968 |
+
zt(r, n.context, "directive " + t.name + " " + e + " hook");
|
1969 |
+
}
|
1970 |
+
}
|
1971 |
+
st = [On, q];
|
1972 |
+
function nr(t, e) {
|
1973 |
+
var n = e.componentOptions;
|
1974 |
+
if (!((I(n) && !1 === n.Ctor.options.inheritAttrs) || (P(t.data.attrs) && P(e.data.attrs)))) {
|
1975 |
+
var r,
|
1976 |
+
o,
|
1977 |
+
i = e.elm,
|
1978 |
+
a = t.data.attrs || {},
|
1979 |
+
s = e.data.attrs || {};
|
1980 |
+
for (r in (I(s.__ob__) && (s = e.data.attrs = w({}, s)), s)) (o = s[r]), a[r] !== o && rr(i, r, o);
|
1981 |
+
for (r in ((J || K) && s.value !== a.value && rr(i, "value", s.value), a)) P(s[r]) && (In(r) ? i.removeAttributeNS(Pn, Ln(r)) : Tn(r) || i.removeAttribute(r));
|
1982 |
+
}
|
1983 |
+
}
|
1984 |
+
function rr(t, e, n) {
|
1985 |
+
-1 < t.tagName.indexOf("-")
|
1986 |
+
? or(t, e, n)
|
1987 |
+
: Mn(e)
|
1988 |
+
? Nn(n)
|
1989 |
+
? t.removeAttribute(e)
|
1990 |
+
: ((n = "allowfullscreen" === e && "EMBED" === t.tagName ? "true" : e), t.setAttribute(e, n))
|
1991 |
+
: Tn(e)
|
1992 |
+
? t.setAttribute(e, En(e, n))
|
1993 |
+
: In(e)
|
1994 |
+
? Nn(n)
|
1995 |
+
? t.removeAttributeNS(Pn, Ln(e))
|
1996 |
+
: t.setAttributeNS(Pn, e, n)
|
1997 |
+
: or(t, e, n);
|
1998 |
+
}
|
1999 |
+
function or(e, t, n) {
|
2000 |
+
var r;
|
2001 |
+
Nn(n)
|
2002 |
+
? e.removeAttribute(t)
|
2003 |
+
: (!J ||
|
2004 |
+
G ||
|
2005 |
+
"TEXTAREA" !== e.tagName ||
|
2006 |
+
"placeholder" !== t ||
|
2007 |
+
"" === n ||
|
2008 |
+
e.__ieph ||
|
2009 |
+
((r = function (t) {
|
2010 |
+
t.stopImmediatePropagation(), e.removeEventListener("input", r);
|
2011 |
+
}),
|
2012 |
+
e.addEventListener("input", r),
|
2013 |
+
(e.__ieph = !0)),
|
2014 |
+
e.setAttribute(t, n));
|
2015 |
+
}
|
2016 |
+
W = { create: nr, update: nr };
|
2017 |
+
function ir(t, i) {
|
2018 |
+
var e = i.elm,
|
2019 |
+
n = i.data,
|
2020 |
+
t = t.data;
|
2021 |
+
(P(n.staticClass) && P(n.class) && (P(t) || (P(t.staticClass) && P(t.class)))) ||
|
2022 |
+
((n = (function () {
|
2023 |
+
for (var t, e, n = i.data, r = i, o = i; I(o.componentInstance); ) (o = o.componentInstance._vnode) && o.data && (n = Dn(o.data, n));
|
2024 |
+
for (; I((r = r.parent)); ) r && r.data && (n = Dn(n, r.data));
|
2025 |
+
return (t = n.staticClass), (e = n.class), I(t) || I(e) ? Fn(t, Rn(e)) : "";
|
2026 |
+
})()),
|
2027 |
+
I((t = e._transitionClasses)) && (n = Fn(n, Rn(t))),
|
2028 |
+
n !== e._prevClass && (e.setAttribute("class", n), (e._prevClass = n)));
|
2029 |
+
}
|
2030 |
+
var ar,
|
2031 |
+
sr,
|
2032 |
+
cr,
|
2033 |
+
lr,
|
2034 |
+
ur,
|
2035 |
+
fr,
|
2036 |
+
On = { create: ir, update: ir },
|
2037 |
+
pr = /[\w).+\-_$\]]/;
|
2038 |
+
function dr(t) {
|
2039 |
+
for (var e, n, r, o, i = !1, a = !1, s = !1, c = !1, l = 0, u = 0, f = 0, p = 0, d = 0; d < t.length; d++)
|
2040 |
+
if (((n = e), (e = t.charCodeAt(d)), i)) 39 === e && 92 !== n && (i = !1);
|
2041 |
+
else if (a) 34 === e && 92 !== n && (a = !1);
|
2042 |
+
else if (s) 96 === e && 92 !== n && (s = !1);
|
2043 |
+
else if (c) 47 === e && 92 !== n && (c = !1);
|
2044 |
+
else if (124 !== e || 124 === t.charCodeAt(d + 1) || 124 === t.charCodeAt(d - 1) || l || u || f) {
|
2045 |
+
switch (e) {
|
2046 |
+
case 34:
|
2047 |
+
a = !0;
|
2048 |
+
break;
|
2049 |
+
case 39:
|
2050 |
+
i = !0;
|
2051 |
+
break;
|
2052 |
+
case 96:
|
2053 |
+
s = !0;
|
2054 |
+
break;
|
2055 |
+
case 40:
|
2056 |
+
f++;
|
2057 |
+
break;
|
2058 |
+
case 41:
|
2059 |
+
f--;
|
2060 |
+
break;
|
2061 |
+
case 91:
|
2062 |
+
u++;
|
2063 |
+
break;
|
2064 |
+
case 93:
|
2065 |
+
u--;
|
2066 |
+
break;
|
2067 |
+
case 123:
|
2068 |
+
l++;
|
2069 |
+
break;
|
2070 |
+
case 125:
|
2071 |
+
l--;
|
2072 |
+
}
|
2073 |
+
if (47 === e) {
|
2074 |
+
for (var h = d - 1, v = void 0; 0 <= h && " " === (v = t.charAt(h)); h--);
|
2075 |
+
(v && pr.test(v)) || (c = !0);
|
2076 |
+
}
|
2077 |
+
} else void 0 === r ? ((p = d + 1), (r = t.slice(0, d).trim())) : m();
|
2078 |
+
function m() {
|
2079 |
+
(o = o || []).push(t.slice(p, d).trim()), (p = d + 1);
|
2080 |
+
}
|
2081 |
+
if ((void 0 === r ? (r = t.slice(0, d).trim()) : 0 !== p && m(), o))
|
2082 |
+
for (d = 0; d < o.length; d++)
|
2083 |
+
r = (function (t, e) {
|
2084 |
+
var n = e.indexOf("(");
|
2085 |
+
if (n < 0) return '_f("' + e + '")(' + t + ")";
|
2086 |
+
var r = e.slice(0, n),
|
2087 |
+
n = e.slice(n + 1);
|
2088 |
+
return '_f("' + r + '")(' + t + (")" !== n ? "," + n : n);
|
2089 |
+
})(r, o[d]);
|
2090 |
+
return r;
|
2091 |
+
}
|
2092 |
+
function hr(t, e) {
|
2093 |
+
console.error("[Vue compiler]: " + t);
|
2094 |
+
}
|
2095 |
+
function vr(t, e) {
|
2096 |
+
return t
|
2097 |
+
? t
|
2098 |
+
.map(function (t) {
|
2099 |
+
return t[e];
|
2100 |
+
})
|
2101 |
+
.filter(function (t) {
|
2102 |
+
return t;
|
2103 |
+
})
|
2104 |
+
: [];
|
2105 |
+
}
|
2106 |
+
function mr(t, e, n, r, o) {
|
2107 |
+
(t.props || (t.props = [])).push(kr({ name: e, value: n, dynamic: o }, r)), (t.plain = !1);
|
2108 |
+
}
|
2109 |
+
function yr(t, e, n, r, o) {
|
2110 |
+
(o ? t.dynamicAttrs || (t.dynamicAttrs = []) : t.attrs || (t.attrs = [])).push(kr({ name: e, value: n, dynamic: o }, r)), (t.plain = !1);
|
2111 |
+
}
|
2112 |
+
function gr(t, e, n, r) {
|
2113 |
+
(t.attrsMap[e] = n), t.attrsList.push(kr({ name: e, value: n }, r));
|
2114 |
+
}
|
2115 |
+
function _r(t, e, n) {
|
2116 |
+
return n ? "_p(" + e + ',"' + t + '")' : t + e;
|
2117 |
+
}
|
2118 |
+
function br(t, e, n, r, o, i, a, s) {
|
2119 |
+
var c;
|
2120 |
+
(r = r || d).right
|
2121 |
+
? s
|
2122 |
+
? (e = "(" + e + ")==='click'?'contextmenu':(" + e + ")")
|
2123 |
+
: "click" === e && ((e = "contextmenu"), delete r.right)
|
2124 |
+
: r.middle && (s ? (e = "(" + e + ")==='click'?'mouseup':(" + e + ")") : "click" === e && (e = "mouseup")),
|
2125 |
+
r.capture && (delete r.capture, (e = _r("!", e, s))),
|
2126 |
+
r.once && (delete r.once, (e = _r("~", e, s))),
|
2127 |
+
r.passive && (delete r.passive, (e = _r("&", e, s))),
|
2128 |
+
(c = r.native ? (delete r.native, t.nativeEvents || (t.nativeEvents = {})) : t.events || (t.events = {}));
|
2129 |
+
a = kr({ value: n.trim(), dynamic: s }, a);
|
2130 |
+
r !== d && (a.modifiers = r);
|
2131 |
+
r = c[e];
|
2132 |
+
Array.isArray(r) ? (o ? r.unshift(a) : r.push(a)) : (c[e] = r ? (o ? [a, r] : [r, a]) : a), (t.plain = !1);
|
2133 |
+
}
|
2134 |
+
function wr(t, e, n) {
|
2135 |
+
var r = xr(t, ":" + e) || xr(t, "v-bind:" + e);
|
2136 |
+
if (null != r) return dr(r);
|
2137 |
+
if (!1 !== n) {
|
2138 |
+
e = xr(t, e);
|
2139 |
+
if (null != e) return JSON.stringify(e);
|
2140 |
+
}
|
2141 |
+
}
|
2142 |
+
function xr(t, e, n) {
|
2143 |
+
var r;
|
2144 |
+
if (null != (r = t.attrsMap[e]))
|
2145 |
+
for (var o = t.attrsList, i = 0, a = o.length; i < a; i++)
|
2146 |
+
if (o[i].name === e) {
|
2147 |
+
o.splice(i, 1);
|
2148 |
+
break;
|
2149 |
+
}
|
2150 |
+
return n && delete t.attrsMap[e], r;
|
2151 |
+
}
|
2152 |
+
function $r(t, e) {
|
2153 |
+
for (var n = t.attrsList, r = 0, o = n.length; r < o; r++) {
|
2154 |
+
var i = n[r];
|
2155 |
+
if (e.test(i.name)) return n.splice(r, 1), i;
|
2156 |
+
}
|
2157 |
+
}
|
2158 |
+
function kr(t, e) {
|
2159 |
+
return e && (null != e.start && (t.start = e.start), null != e.end && (t.end = e.end)), t;
|
2160 |
+
}
|
2161 |
+
function Cr(t, e, n) {
|
2162 |
+
var r = n || {},
|
2163 |
+
n = r.trim ? "(typeof $$v === 'string'? $$v.trim(): $$v)" : "$$v";
|
2164 |
+
r.number && (n = "_n(" + n + ")");
|
2165 |
+
n = Or(e, n);
|
2166 |
+
t.model = { value: "(" + e + ")", expression: JSON.stringify(e), callback: "function ($$v) {" + n + "}" };
|
2167 |
+
}
|
2168 |
+
function Or(t, e) {
|
2169 |
+
var n = (function (t) {
|
2170 |
+
if (((t = t.trim()), (ar = t.length), t.indexOf("[") < 0 || t.lastIndexOf("]") < ar - 1)) return -1 < (lr = t.lastIndexOf(".")) ? { exp: t.slice(0, lr), key: '"' + t.slice(lr + 1) + '"' } : { exp: t, key: null };
|
2171 |
+
for (sr = t, lr = ur = fr = 0; !Sr(); )
|
2172 |
+
Tr((cr = Ar()))
|
2173 |
+
? jr(cr)
|
2174 |
+
: 91 === cr &&
|
2175 |
+
(function (t) {
|
2176 |
+
var e = 1;
|
2177 |
+
for (ur = lr; !Sr(); )
|
2178 |
+
if (Tr((t = Ar()))) jr(t);
|
2179 |
+
else if ((91 === t && e++, 93 === t && e--, 0 === e)) {
|
2180 |
+
fr = lr;
|
2181 |
+
break;
|
2182 |
+
}
|
2183 |
+
})(cr);
|
2184 |
+
return { exp: t.slice(0, ur), key: t.slice(ur + 1, fr) };
|
2185 |
+
})(t);
|
2186 |
+
return null === n.key ? t + "=" + e : "$set(" + n.exp + ", " + n.key + ", " + e + ")";
|
2187 |
+
}
|
2188 |
+
function Ar() {
|
2189 |
+
return sr.charCodeAt(++lr);
|
2190 |
+
}
|
2191 |
+
function Sr() {
|
2192 |
+
return ar <= lr;
|
2193 |
+
}
|
2194 |
+
function Tr(t) {
|
2195 |
+
return 34 === t || 39 === t;
|
2196 |
+
}
|
2197 |
+
function jr(t) {
|
2198 |
+
for (var e = t; !Sr() && (t = Ar()) !== e; );
|
2199 |
+
}
|
2200 |
+
var Er;
|
2201 |
+
function Mr(e, n, r) {
|
2202 |
+
var o = Er;
|
2203 |
+
return function t() {
|
2204 |
+
null !== n.apply(null, arguments) && Lr(e, t, r, o);
|
2205 |
+
};
|
2206 |
+
}
|
2207 |
+
var Pr = Gt && !(Q && Number(Q[1]) <= 53);
|
2208 |
+
function Ir(t, e, n, r) {
|
2209 |
+
var o, i;
|
2210 |
+
Pr &&
|
2211 |
+
((o = rn),
|
2212 |
+
(e = (i = e)._wrapper = function (t) {
|
2213 |
+
if (t.target === t.currentTarget || t.timeStamp >= o || t.timeStamp <= 0 || t.target.ownerDocument !== document) return i.apply(this, arguments);
|
2214 |
+
})),
|
2215 |
+
Er.addEventListener(t, e, Z ? { capture: n, passive: r } : n);
|
2216 |
+
}
|
2217 |
+
function Lr(t, e, n, r) {
|
2218 |
+
(r || Er).removeEventListener(t, e._wrapper || e, n);
|
2219 |
+
}
|
2220 |
+
function Nr(t, e) {
|
2221 |
+
var n, r, o;
|
2222 |
+
(P(t.data.on) && P(e.data.on)) ||
|
2223 |
+
((n = e.data.on || {}),
|
2224 |
+
(r = t.data.on || {}),
|
2225 |
+
(Er = e.elm),
|
2226 |
+
I((o = n).__r) && ((o[(t = J ? "change" : "input")] = [].concat(o.__r, o[t] || [])), delete o.__r),
|
2227 |
+
I(o.__c) && ((o.change = [].concat(o.__c, o.change || [])), delete o.__c),
|
2228 |
+
re(n, r, Ir, Lr, Mr, e.context),
|
2229 |
+
(Er = void 0));
|
2230 |
+
}
|
2231 |
+
var Dr,
|
2232 |
+
q = { create: Nr, update: Nr };
|
2233 |
+
function Fr(t, e) {
|
2234 |
+
if (!P(t.data.domProps) || !P(e.data.domProps)) {
|
2235 |
+
var n,
|
2236 |
+
r,
|
2237 |
+
o = e.elm,
|
2238 |
+
i = t.data.domProps || {},
|
2239 |
+
a = e.data.domProps || {};
|
2240 |
+
for (n in (I(a.__ob__) && (a = e.data.domProps = w({}, a)), i)) n in a || (o[n] = "");
|
2241 |
+
for (n in a) {
|
2242 |
+
if (((r = a[n]), "textContent" === n || "innerHTML" === n)) {
|
2243 |
+
if ((e.children && (e.children.length = 0), r === i[n])) continue;
|
2244 |
+
1 === o.childNodes.length && o.removeChild(o.childNodes[0]);
|
2245 |
+
}
|
2246 |
+
if ("value" === n && "PROGRESS" !== o.tagName) {
|
2247 |
+
var s = P((o._value = r)) ? "" : String(r),
|
2248 |
+
c = s;
|
2249 |
+
(u = o).composing ||
|
2250 |
+
("OPTION" !== u.tagName &&
|
2251 |
+
!(function (t, e) {
|
2252 |
+
var n = !0;
|
2253 |
+
try {
|
2254 |
+
n = document.activeElement !== t;
|
2255 |
+
} catch (t) {}
|
2256 |
+
return n && t.value !== e;
|
2257 |
+
})(u, c) &&
|
2258 |
+
!(function (t) {
|
2259 |
+
var e = u.value,
|
2260 |
+
n = u._vModifiers;
|
2261 |
+
if (I(n)) {
|
2262 |
+
if (n.number) return N(e) !== N(t);
|
2263 |
+
if (n.trim) return e.trim() !== t.trim();
|
2264 |
+
}
|
2265 |
+
return e !== t;
|
2266 |
+
})(c)) ||
|
2267 |
+
(o.value = s);
|
2268 |
+
} else if ("innerHTML" === n && Bn(o.tagName) && P(o.innerHTML)) {
|
2269 |
+
(Dr = Dr || document.createElement("div")).innerHTML = "<svg>" + r + "</svg>";
|
2270 |
+
for (var l = Dr.firstChild; o.firstChild; ) o.removeChild(o.firstChild);
|
2271 |
+
for (; l.firstChild; ) o.appendChild(l.firstChild);
|
2272 |
+
} else if (r !== i[n])
|
2273 |
+
try {
|
2274 |
+
o[n] = r;
|
2275 |
+
} catch (t) {}
|
2276 |
+
}
|
2277 |
+
}
|
2278 |
+
var u, c;
|
2279 |
+
}
|
2280 |
+
var Gt = { create: Fr, update: Fr },
|
2281 |
+
Rr = t(function (t) {
|
2282 |
+
var e = {},
|
2283 |
+
n = /:(.+)/;
|
2284 |
+
return (
|
2285 |
+
t.split(/;(?![^(]*\))/g).forEach(function (t) {
|
2286 |
+
!t || (1 < (t = t.split(n)).length && (e[t[0].trim()] = t[1].trim()));
|
2287 |
+
}),
|
2288 |
+
e
|
2289 |
+
);
|
2290 |
+
});
|
2291 |
+
function zr(t) {
|
2292 |
+
var e = Hr(t.style);
|
2293 |
+
return t.staticStyle ? w(t.staticStyle, e) : e;
|
2294 |
+
}
|
2295 |
+
function Hr(t) {
|
2296 |
+
return Array.isArray(t) ? x(t) : "string" == typeof t ? Rr(t) : t;
|
2297 |
+
}
|
2298 |
+
function Ur(t, e, n) {
|
2299 |
+
if (Vr.test(e)) t.style.setProperty(e, n);
|
2300 |
+
else if (Wr.test(n)) t.style.setProperty(g(e), n.replace(Wr, ""), "important");
|
2301 |
+
else {
|
2302 |
+
var r = Jr(e);
|
2303 |
+
if (Array.isArray(n)) for (var o = 0, i = n.length; o < i; o++) t.style[r] = n[o];
|
2304 |
+
else t.style[r] = n;
|
2305 |
+
}
|
2306 |
+
}
|
2307 |
+
var Br,
|
2308 |
+
Vr = /^--/,
|
2309 |
+
Wr = /\s*!important$/,
|
2310 |
+
qr = ["Webkit", "Moz", "ms"],
|
2311 |
+
Jr = t(function (t) {
|
2312 |
+
if (((Br = Br || document.createElement("div").style), "filter" !== (t = m(t)) && t in Br)) return t;
|
2313 |
+
for (var e = t.charAt(0).toUpperCase() + t.slice(1), n = 0; n < qr.length; n++) {
|
2314 |
+
var r = qr[n] + e;
|
2315 |
+
if (r in Br) return r;
|
2316 |
+
}
|
2317 |
+
});
|
2318 |
+
function Gr(t, e) {
|
2319 |
+
var n = e.data,
|
2320 |
+
t = t.data;
|
2321 |
+
if (!(P(n.staticStyle) && P(n.style) && P(t.staticStyle) && P(t.style))) {
|
2322 |
+
var r,
|
2323 |
+
o,
|
2324 |
+
i = e.elm,
|
2325 |
+
n = t.staticStyle,
|
2326 |
+
t = t.normalizedStyle || t.style || {},
|
2327 |
+
a = n || t,
|
2328 |
+
t = Hr(e.data.style) || {};
|
2329 |
+
e.data.normalizedStyle = I(t.__ob__) ? w({}, t) : t;
|
2330 |
+
var s = (function (t) {
|
2331 |
+
for (var e, n = {}, r = t; r.componentInstance; ) (r = r.componentInstance._vnode) && r.data && (e = zr(r.data)) && w(n, e);
|
2332 |
+
(e = zr(t.data)) && w(n, e);
|
2333 |
+
for (var o = t; (o = o.parent); ) o.data && (e = zr(o.data)) && w(n, e);
|
2334 |
+
return n;
|
2335 |
+
})(e);
|
2336 |
+
for (o in a) P(s[o]) && Ur(i, o, "");
|
2337 |
+
for (o in s) (r = s[o]) !== a[o] && Ur(i, o, null == r ? "" : r);
|
2338 |
+
}
|
2339 |
+
}
|
2340 |
+
var Q = { create: Gr, update: Gr },
|
2341 |
+
Kr = /\s+/;
|
2342 |
+
function Xr(e, t) {
|
2343 |
+
var n;
|
2344 |
+
(t = t && t.trim()) &&
|
2345 |
+
(e.classList
|
2346 |
+
? -1 < t.indexOf(" ")
|
2347 |
+
? t.split(Kr).forEach(function (t) {
|
2348 |
+
return e.classList.add(t);
|
2349 |
+
})
|
2350 |
+
: e.classList.add(t)
|
2351 |
+
: (n = " " + (e.getAttribute("class") || "") + " ").indexOf(" " + t + " ") < 0 && e.setAttribute("class", (n + t).trim()));
|
2352 |
+
}
|
2353 |
+
function Qr(e, t) {
|
2354 |
+
if ((t = t && t.trim()))
|
2355 |
+
if (e.classList)
|
2356 |
+
-1 < t.indexOf(" ")
|
2357 |
+
? t.split(Kr).forEach(function (t) {
|
2358 |
+
return e.classList.remove(t);
|
2359 |
+
})
|
2360 |
+
: e.classList.remove(t),
|
2361 |
+
e.classList.length || e.removeAttribute("class");
|
2362 |
+
else {
|
2363 |
+
for (var n = " " + (e.getAttribute("class") || "") + " ", r = " " + t + " "; 0 <= n.indexOf(r); ) n = n.replace(r, " ");
|
2364 |
+
(n = n.trim()) ? e.setAttribute("class", n) : e.removeAttribute("class");
|
2365 |
+
}
|
2366 |
+
}
|
2367 |
+
function Yr(t) {
|
2368 |
+
if (t) {
|
2369 |
+
if ("object" != typeof t) return "string" == typeof t ? Zr(t) : void 0;
|
2370 |
+
var e = {};
|
2371 |
+
return !1 !== t.css && w(e, Zr(t.name || "v")), w(e, t), e;
|
2372 |
+
}
|
2373 |
+
}
|
2374 |
+
var Zr = t(function (t) {
|
2375 |
+
return { enterClass: t + "-enter", enterToClass: t + "-enter-to", enterActiveClass: t + "-enter-active", leaveClass: t + "-leave", leaveToClass: t + "-leave-to", leaveActiveClass: t + "-leave-active" };
|
2376 |
+
}),
|
2377 |
+
to = B && !G,
|
2378 |
+
eo = "transition",
|
2379 |
+
no = "animation",
|
2380 |
+
ro = "transition",
|
2381 |
+
oo = "transitionend",
|
2382 |
+
io = "animation",
|
2383 |
+
ao = "animationend";
|
2384 |
+
to &&
|
2385 |
+
(void 0 === window.ontransitionend && void 0 !== window.onwebkittransitionend && ((ro = "WebkitTransition"), (oo = "webkitTransitionEnd")),
|
2386 |
+
void 0 === window.onanimationend && void 0 !== window.onwebkitanimationend && ((io = "WebkitAnimation"), (ao = "webkitAnimationEnd")));
|
2387 |
+
var so = B
|
2388 |
+
? window.requestAnimationFrame
|
2389 |
+
? window.requestAnimationFrame.bind(window)
|
2390 |
+
: setTimeout
|
2391 |
+
: function (t) {
|
2392 |
+
return t();
|
2393 |
+
};
|
2394 |
+
function co(t) {
|
2395 |
+
so(function () {
|
2396 |
+
so(t);
|
2397 |
+
});
|
2398 |
+
}
|
2399 |
+
function lo(t, e) {
|
2400 |
+
var n = t._transitionClasses || (t._transitionClasses = []);
|
2401 |
+
n.indexOf(e) < 0 && (n.push(e), Xr(t, e));
|
2402 |
+
}
|
2403 |
+
function uo(t, e) {
|
2404 |
+
t._transitionClasses && v(t._transitionClasses, e), Qr(t, e);
|
2405 |
+
}
|
2406 |
+
function fo(e, t, n) {
|
2407 |
+
var r = ho(e, t),
|
2408 |
+
o = r.type,
|
2409 |
+
t = r.timeout,
|
2410 |
+
i = r.propCount;
|
2411 |
+
if (!o) return n();
|
2412 |
+
function a() {
|
2413 |
+
e.removeEventListener(s, l), n();
|
2414 |
+
}
|
2415 |
+
var s = o === eo ? oo : ao,
|
2416 |
+
c = 0,
|
2417 |
+
l = function (t) {
|
2418 |
+
t.target === e && ++c >= i && a();
|
2419 |
+
};
|
2420 |
+
setTimeout(function () {
|
2421 |
+
c < i && a();
|
2422 |
+
}, t + 1),
|
2423 |
+
e.addEventListener(s, l);
|
2424 |
+
}
|
2425 |
+
var po = /\b(transform|all)(,|$)/;
|
2426 |
+
function ho(t, e) {
|
2427 |
+
var n,
|
2428 |
+
r = window.getComputedStyle(t),
|
2429 |
+
o = (r[ro + "Delay"] || "").split(", "),
|
2430 |
+
i = (r[ro + "Duration"] || "").split(", "),
|
2431 |
+
a = vo(o, i),
|
2432 |
+
s = (r[io + "Delay"] || "").split(", "),
|
2433 |
+
c = (r[io + "Duration"] || "").split(", "),
|
2434 |
+
t = vo(s, c),
|
2435 |
+
o = 0,
|
2436 |
+
s = 0;
|
2437 |
+
return (
|
2438 |
+
e === eo ? 0 < a && ((n = eo), (o = a), (s = i.length)) : e === no ? 0 < t && ((n = no), (o = t), (s = c.length)) : (s = (n = 0 < (o = Math.max(a, t)) ? (t < a ? eo : no) : null) ? (n === eo ? i : c).length : 0),
|
2439 |
+
{ type: n, timeout: o, propCount: s, hasTransform: n === eo && po.test(r[ro + "Property"]) }
|
2440 |
+
);
|
2441 |
+
}
|
2442 |
+
function vo(n, t) {
|
2443 |
+
for (; n.length < t.length; ) n = n.concat(n);
|
2444 |
+
return Math.max.apply(
|
2445 |
+
null,
|
2446 |
+
t.map(function (t, e) {
|
2447 |
+
return mo(t) + mo(n[e]);
|
2448 |
+
})
|
2449 |
+
);
|
2450 |
+
}
|
2451 |
+
function mo(t) {
|
2452 |
+
return 1e3 * Number(t.slice(0, -1).replace(",", "."));
|
2453 |
+
}
|
2454 |
+
function yo(e, t) {
|
2455 |
+
var n = e.elm;
|
2456 |
+
I(n._leaveCb) && ((n._leaveCb.cancelled = !0), n._leaveCb());
|
2457 |
+
var r = Yr(e.data.transition);
|
2458 |
+
if (!P(r) && !I(n._enterCb) && 1 === n.nodeType) {
|
2459 |
+
for (
|
2460 |
+
var o = r.css,
|
2461 |
+
i = r.type,
|
2462 |
+
a = r.enterClass,
|
2463 |
+
s = r.enterToClass,
|
2464 |
+
c = r.enterActiveClass,
|
2465 |
+
l = r.appearClass,
|
2466 |
+
u = r.appearToClass,
|
2467 |
+
f = r.appearActiveClass,
|
2468 |
+
p = r.beforeEnter,
|
2469 |
+
d = r.enter,
|
2470 |
+
h = r.afterEnter,
|
2471 |
+
v = r.enterCancelled,
|
2472 |
+
m = r.beforeAppear,
|
2473 |
+
y = r.appear,
|
2474 |
+
g = r.afterAppear,
|
2475 |
+
_ = r.appearCancelled,
|
2476 |
+
b = r.duration,
|
2477 |
+
w = We,
|
2478 |
+
x = We.$vnode;
|
2479 |
+
x && x.parent;
|
2480 |
+
|
2481 |
+
)
|
2482 |
+
(w = x.context), (x = x.parent);
|
2483 |
+
var $,
|
2484 |
+
k,
|
2485 |
+
C,
|
2486 |
+
O,
|
2487 |
+
A,
|
2488 |
+
S,
|
2489 |
+
T,
|
2490 |
+
j,
|
2491 |
+
E,
|
2492 |
+
M,
|
2493 |
+
r = !w._isMounted || !e.isRootInsert;
|
2494 |
+
(r && !y && "" !== y) ||
|
2495 |
+
(($ = r && l ? l : a),
|
2496 |
+
(k = r && f ? f : c),
|
2497 |
+
(C = r && u ? u : s),
|
2498 |
+
(p = (r && m) || p),
|
2499 |
+
(O = r && "function" == typeof y ? y : d),
|
2500 |
+
(A = (r && g) || h),
|
2501 |
+
(S = (r && _) || v),
|
2502 |
+
(T = N(L(b) ? b.enter : b)),
|
2503 |
+
(j = !1 !== o && !G),
|
2504 |
+
(E = bo(O)),
|
2505 |
+
(M = n._enterCb = D(function () {
|
2506 |
+
j && (uo(n, C), uo(n, k)), M.cancelled ? (j && uo(n, $), S && S(n)) : A && A(n), (n._enterCb = null);
|
2507 |
+
})),
|
2508 |
+
e.data.show ||
|
2509 |
+
oe(e, "insert", function () {
|
2510 |
+
var t = n.parentNode,
|
2511 |
+
t = t && t._pending && t._pending[e.key];
|
2512 |
+
t && t.tag === e.tag && t.elm._leaveCb && t.elm._leaveCb(), O && O(n, M);
|
2513 |
+
}),
|
2514 |
+
p && p(n),
|
2515 |
+
j &&
|
2516 |
+
(lo(n, $),
|
2517 |
+
lo(n, k),
|
2518 |
+
co(function () {
|
2519 |
+
uo(n, $), M.cancelled || (lo(n, C), E || (_o(T) ? setTimeout(M, T) : fo(n, i, M)));
|
2520 |
+
})),
|
2521 |
+
e.data.show && (t && t(), O && O(n, M)),
|
2522 |
+
j || E || M());
|
2523 |
+
}
|
2524 |
+
}
|
2525 |
+
function go(t, e) {
|
2526 |
+
var n = t.elm;
|
2527 |
+
I(n._enterCb) && ((n._enterCb.cancelled = !0), n._enterCb());
|
2528 |
+
var r,
|
2529 |
+
o,
|
2530 |
+
i,
|
2531 |
+
a,
|
2532 |
+
s,
|
2533 |
+
c,
|
2534 |
+
l,
|
2535 |
+
u,
|
2536 |
+
f,
|
2537 |
+
p,
|
2538 |
+
d,
|
2539 |
+
h,
|
2540 |
+
v,
|
2541 |
+
m,
|
2542 |
+
y = Yr(t.data.transition);
|
2543 |
+
if (P(y) || 1 !== n.nodeType) return e();
|
2544 |
+
function g() {
|
2545 |
+
m.cancelled ||
|
2546 |
+
(!t.data.show && n.parentNode && ((n.parentNode._pending || (n.parentNode._pending = {}))[t.key] = t),
|
2547 |
+
c && c(n),
|
2548 |
+
d &&
|
2549 |
+
(lo(n, i),
|
2550 |
+
lo(n, s),
|
2551 |
+
co(function () {
|
2552 |
+
uo(n, i), m.cancelled || (lo(n, a), h || (_o(v) ? setTimeout(m, v) : fo(n, o, m)));
|
2553 |
+
})),
|
2554 |
+
l && l(n, m),
|
2555 |
+
d || h || m());
|
2556 |
+
}
|
2557 |
+
I(n._leaveCb) ||
|
2558 |
+
((r = y.css),
|
2559 |
+
(o = y.type),
|
2560 |
+
(i = y.leaveClass),
|
2561 |
+
(a = y.leaveToClass),
|
2562 |
+
(s = y.leaveActiveClass),
|
2563 |
+
(c = y.beforeLeave),
|
2564 |
+
(l = y.leave),
|
2565 |
+
(u = y.afterLeave),
|
2566 |
+
(f = y.leaveCancelled),
|
2567 |
+
(p = y.delayLeave),
|
2568 |
+
(y = y.duration),
|
2569 |
+
(d = !1 !== r && !G),
|
2570 |
+
(h = bo(l)),
|
2571 |
+
(v = N(L(y) ? y.leave : y)),
|
2572 |
+
(m = n._leaveCb = D(function () {
|
2573 |
+
n.parentNode && n.parentNode._pending && (n.parentNode._pending[t.key] = null), d && (uo(n, a), uo(n, s)), m.cancelled ? (d && uo(n, i), f && f(n)) : (e(), u && u(n)), (n._leaveCb = null);
|
2574 |
+
})),
|
2575 |
+
p ? p(g) : g());
|
2576 |
+
}
|
2577 |
+
function _o(t) {
|
2578 |
+
return "number" == typeof t && !isNaN(t);
|
2579 |
+
}
|
2580 |
+
function bo(t) {
|
2581 |
+
if (P(t)) return !1;
|
2582 |
+
var e = t.fns;
|
2583 |
+
return I(e) ? bo(Array.isArray(e) ? e[0] : e) : 1 < (t._length || t.length);
|
2584 |
+
}
|
2585 |
+
function wo(t, e) {
|
2586 |
+
!0 !== e.data.show && yo(e);
|
2587 |
+
}
|
2588 |
+
q = (function (t) {
|
2589 |
+
for (var e, h = {}, n = t.modules, g = t.nodeOps, r = 0; r < Xn.length; ++r) for (h[Xn[r]] = [], e = 0; e < n.length; ++e) I(n[e][Xn[r]]) && h[Xn[r]].push(n[e][Xn[r]]);
|
2590 |
+
function i(t) {
|
2591 |
+
var e = g.parentNode(t);
|
2592 |
+
I(e) && g.removeChild(e, t);
|
2593 |
+
}
|
2594 |
+
function _(t, e, n, r, o, i, a) {
|
2595 |
+
I(t.elm) && I(i) && (t = i[a] = yt(t)),
|
2596 |
+
(t.isRootInsert = !o),
|
2597 |
+
(function (t, e, n, r) {
|
2598 |
+
var o = t.data;
|
2599 |
+
if (I(o)) {
|
2600 |
+
var i = I(t.componentInstance) && o.keepAlive;
|
2601 |
+
return (I((o = o.hook)) && I((o = o.init)) && o(t, !1), I(t.componentInstance))
|
2602 |
+
? (d(t, e),
|
2603 |
+
s(n, t.elm, r),
|
2604 |
+
O(i) &&
|
2605 |
+
(function (t, e, n, r) {
|
2606 |
+
for (var o, i = t; i.componentInstance; )
|
2607 |
+
if (I((o = (i = i.componentInstance._vnode).data)) && I((o = o.transition))) {
|
2608 |
+
for (o = 0; o < h.activate.length; ++o) h.activate[o](Kn, i);
|
2609 |
+
e.push(i);
|
2610 |
+
break;
|
2611 |
+
}
|
2612 |
+
s(n, t.elm, r);
|
2613 |
+
})(t, e, n, r),
|
2614 |
+
1)
|
2615 |
+
: void 0;
|
2616 |
+
}
|
2617 |
+
})(t, e, n, r) ||
|
2618 |
+
((i = t.data),
|
2619 |
+
(a = t.children),
|
2620 |
+
I((o = t.tag)) ? ((t.elm = t.ns ? g.createElementNS(t.ns, o) : g.createElement(o, t)), c(t), v(t, a, e), I(i) && m(t, e)) : O(t.isComment) ? (t.elm = g.createComment(t.text)) : (t.elm = g.createTextNode(t.text)),
|
2621 |
+
s(n, t.elm, r));
|
2622 |
+
}
|
2623 |
+
function d(t, e) {
|
2624 |
+
I(t.data.pendingInsert) && (e.push.apply(e, t.data.pendingInsert), (t.data.pendingInsert = null)), (t.elm = t.componentInstance.$el), b(t) ? (m(t, e), c(t)) : (Gn(t), e.push(t));
|
2625 |
+
}
|
2626 |
+
function s(t, e, n) {
|
2627 |
+
I(t) && (I(n) ? g.parentNode(n) === t && g.insertBefore(t, e, n) : g.appendChild(t, e));
|
2628 |
+
}
|
2629 |
+
function v(t, e, n) {
|
2630 |
+
if (Array.isArray(e)) for (var r = 0; r < e.length; ++r) _(e[r], n, t.elm, null, !0, e, r);
|
2631 |
+
else l(t.text) && g.appendChild(t.elm, g.createTextNode(String(t.text)));
|
2632 |
+
}
|
2633 |
+
function b(t) {
|
2634 |
+
for (; t.componentInstance; ) t = t.componentInstance._vnode;
|
2635 |
+
return I(t.tag);
|
2636 |
+
}
|
2637 |
+
function m(t, e) {
|
2638 |
+
for (var n = 0; n < h.create.length; ++n) h.create[n](Kn, t);
|
2639 |
+
I((r = t.data.hook)) && (I(r.create) && r.create(Kn, t), I(r.insert) && e.push(t));
|
2640 |
+
}
|
2641 |
+
function c(t) {
|
2642 |
+
var e;
|
2643 |
+
if (I((e = t.fnScopeId))) g.setStyleScope(t.elm, e);
|
2644 |
+
else for (var n = t; n; ) I((e = n.context)) && I((e = e.$options._scopeId)) && g.setStyleScope(t.elm, e), (n = n.parent);
|
2645 |
+
I((e = We)) && e !== t.context && e !== t.fnContext && I((e = e.$options._scopeId)) && g.setStyleScope(t.elm, e);
|
2646 |
+
}
|
2647 |
+
function w(t, e, n, r, o, i) {
|
2648 |
+
for (; r <= o; ++r) _(n[r], i, t, e, !1, n, r);
|
2649 |
+
}
|
2650 |
+
function y(t) {
|
2651 |
+
var e,
|
2652 |
+
n,
|
2653 |
+
r = t.data;
|
2654 |
+
if (I(r)) for (I((e = r.hook)) && I((e = e.destroy)) && e(t), e = 0; e < h.destroy.length; ++e) h.destroy[e](t);
|
2655 |
+
if (I((e = t.children))) for (n = 0; n < t.children.length; ++n) y(t.children[n]);
|
2656 |
+
}
|
2657 |
+
function x(t, e, n, r) {
|
2658 |
+
for (; n <= r; ++n) {
|
2659 |
+
var o = e[n];
|
2660 |
+
I(o) &&
|
2661 |
+
(I(o.tag)
|
2662 |
+
? ((function t(e, n) {
|
2663 |
+
if (I(n) || I(e.data)) {
|
2664 |
+
var r,
|
2665 |
+
o = h.remove.length + 1;
|
2666 |
+
for (
|
2667 |
+
I(n)
|
2668 |
+
? (n.listeners += o)
|
2669 |
+
: (n = (function (t) {
|
2670 |
+
function e() {
|
2671 |
+
0 == --e.listeners && i(t);
|
2672 |
+
}
|
2673 |
+
return (e.listeners = o), e;
|
2674 |
+
})(e.elm)),
|
2675 |
+
I((r = e.componentInstance)) && I((r = r._vnode)) && I(r.data) && t(r, n),
|
2676 |
+
r = 0;
|
2677 |
+
r < h.remove.length;
|
2678 |
+
++r
|
2679 |
+
)
|
2680 |
+
h.remove[r](e, n);
|
2681 |
+
I((r = e.data.hook)) && I((r = r.remove)) ? r(e, n) : n();
|
2682 |
+
} else i(e.elm);
|
2683 |
+
})(o),
|
2684 |
+
y(o))
|
2685 |
+
: i(o.elm));
|
2686 |
+
}
|
2687 |
+
}
|
2688 |
+
function $(t, e, n) {
|
2689 |
+
if (O(n) && I(t.parent)) t.parent.data.pendingInsert = e;
|
2690 |
+
else for (var r = 0; r < e.length; ++r) e[r].data.hook.insert(e[r]);
|
2691 |
+
}
|
2692 |
+
var k = a("attrs,class,staticClass,staticStyle,key");
|
2693 |
+
function C(t, e, n, r) {
|
2694 |
+
var o,
|
2695 |
+
i = e.tag,
|
2696 |
+
a = e.data,
|
2697 |
+
s = e.children;
|
2698 |
+
if (((r = r || (a && a.pre)), (e.elm = t), O(e.isComment) && I(e.asyncFactory))) return (e.isAsyncPlaceholder = !0);
|
2699 |
+
if (I(a) && (I((o = a.hook)) && I((o = o.init)) && o(e, !0), I((o = e.componentInstance)))) return d(e, n), 1;
|
2700 |
+
if (I(i)) {
|
2701 |
+
if (I(s))
|
2702 |
+
if (t.hasChildNodes())
|
2703 |
+
if (I((o = a)) && I((o = o.domProps)) && I((o = o.innerHTML))) {
|
2704 |
+
if (o !== t.innerHTML) return;
|
2705 |
+
} else {
|
2706 |
+
for (var c = !0, l = t.firstChild, u = 0; u < s.length; u++) {
|
2707 |
+
if (!l || !C(l, s[u], n, r)) {
|
2708 |
+
c = !1;
|
2709 |
+
break;
|
2710 |
+
}
|
2711 |
+
l = l.nextSibling;
|
2712 |
+
}
|
2713 |
+
if (!c || l) return;
|
2714 |
+
}
|
2715 |
+
else v(e, s, n);
|
2716 |
+
if (I(a)) {
|
2717 |
+
var f,
|
2718 |
+
p = !1;
|
2719 |
+
for (f in a)
|
2720 |
+
if (!k(f)) {
|
2721 |
+
(p = !0), m(e, n);
|
2722 |
+
break;
|
2723 |
+
}
|
2724 |
+
!p && a.class && te(a.class);
|
2725 |
+
}
|
2726 |
+
} else t.data !== e.text && (t.data = e.text);
|
2727 |
+
return 1;
|
2728 |
+
}
|
2729 |
+
return function (t, e, n, r) {
|
2730 |
+
if (!P(e)) {
|
2731 |
+
var o = !1,
|
2732 |
+
i = [];
|
2733 |
+
if (P(t)) (o = !0), _(e, i);
|
2734 |
+
else {
|
2735 |
+
var a = I(t.nodeType);
|
2736 |
+
if (!a && Qn(t, e))
|
2737 |
+
!(function m(t, e, n, r, o, y) {
|
2738 |
+
if (t !== e) {
|
2739 |
+
I(e.elm) && I(r) && (e = r[o] = yt(e));
|
2740 |
+
var i = (e.elm = t.elm);
|
2741 |
+
if (O(t.isAsyncPlaceholder)) I(e.asyncFactory.resolved) ? C(t.elm, e, n) : (e.isAsyncPlaceholder = !0);
|
2742 |
+
else if (O(e.isStatic) && O(t.isStatic) && e.key === t.key && (O(e.isCloned) || O(e.isOnce))) e.componentInstance = t.componentInstance;
|
2743 |
+
else {
|
2744 |
+
var a,
|
2745 |
+
s = e.data;
|
2746 |
+
I(s) && I((a = s.hook)) && I((a = a.prepatch)) && a(t, e);
|
2747 |
+
(r = t.children), (o = e.children);
|
2748 |
+
if (I(s) && b(e)) {
|
2749 |
+
for (a = 0; a < h.update.length; ++a) h.update[a](t, e);
|
2750 |
+
I((a = s.hook)) && I((a = a.update)) && a(t, e);
|
2751 |
+
}
|
2752 |
+
P(e.text)
|
2753 |
+
? I(r) && I(o)
|
2754 |
+
? r !== o &&
|
2755 |
+
(function (t, e, n, r) {
|
2756 |
+
for (var o, i, a, s = 0, c = 0, l = e.length - 1, u = e[0], f = e[l], p = n.length - 1, d = n[0], h = n[p], v = !y; s <= l && c <= p; )
|
2757 |
+
P(u)
|
2758 |
+
? (u = e[++s])
|
2759 |
+
: P(f)
|
2760 |
+
? (f = e[--l])
|
2761 |
+
: Qn(u, d)
|
2762 |
+
? (m(u, d, r, n, c), (u = e[++s]), (d = n[++c]))
|
2763 |
+
: Qn(f, h)
|
2764 |
+
? (m(f, h, r, n, p), (f = e[--l]), (h = n[--p]))
|
2765 |
+
: Qn(u, h)
|
2766 |
+
? (m(u, h, r, n, p), v && g.insertBefore(t, u.elm, g.nextSibling(f.elm)), (u = e[++s]), (h = n[--p]))
|
2767 |
+
: (Qn(f, d)
|
2768 |
+
? (m(f, d, r, n, c), v && g.insertBefore(t, f.elm, u.elm), (f = e[--l]))
|
2769 |
+
: (P(o) &&
|
2770 |
+
(o = (function (t, e, n) {
|
2771 |
+
for (var r, o = {}, i = e; i <= n; ++i) I((r = t[i].key)) && (o[r] = i);
|
2772 |
+
return o;
|
2773 |
+
})(e, s, l)),
|
2774 |
+
!P(
|
2775 |
+
(i = I(d.key)
|
2776 |
+
? o[d.key]
|
2777 |
+
: (function (t, e, n, r) {
|
2778 |
+
for (var o = n; o < r; o++) {
|
2779 |
+
var i = e[o];
|
2780 |
+
if (I(i) && Qn(t, i)) return o;
|
2781 |
+
}
|
2782 |
+
})(d, e, s, l))
|
2783 |
+
) && Qn((a = e[i]), d)
|
2784 |
+
? (m(a, d, r, n, c), (e[i] = void 0), v && g.insertBefore(t, a.elm, u.elm))
|
2785 |
+
: _(d, r, t, u.elm, !1, n, c)),
|
2786 |
+
(d = n[++c]));
|
2787 |
+
l < s ? w(t, P(n[p + 1]) ? null : n[p + 1].elm, n, c, p, r) : p < c && x(0, e, s, l);
|
2788 |
+
})(i, r, o, n)
|
2789 |
+
: I(o)
|
2790 |
+
? (I(t.text) && g.setTextContent(i, ""), w(i, null, o, 0, o.length - 1, n))
|
2791 |
+
: I(r)
|
2792 |
+
? x(0, r, 0, r.length - 1)
|
2793 |
+
: I(t.text) && g.setTextContent(i, "")
|
2794 |
+
: t.text !== e.text && g.setTextContent(i, e.text),
|
2795 |
+
I(s) && I((a = s.hook)) && I((a = a.postpatch)) && a(t, e);
|
2796 |
+
}
|
2797 |
+
}
|
2798 |
+
})(t, e, i, null, null, r);
|
2799 |
+
else {
|
2800 |
+
if (a) {
|
2801 |
+
if ((1 === t.nodeType && t.hasAttribute(T) && (t.removeAttribute(T), (n = !0)), O(n) && C(t, e, i))) return $(e, i, !0), t;
|
2802 |
+
(s = t), (t = new dt(g.tagName(s).toLowerCase(), {}, [], void 0, s));
|
2803 |
+
}
|
2804 |
+
var n = t.elm,
|
2805 |
+
s = g.parentNode(n);
|
2806 |
+
if ((_(e, i, n._leaveCb ? null : s, g.nextSibling(n)), I(e.parent)))
|
2807 |
+
for (var c = e.parent, l = b(e); c; ) {
|
2808 |
+
for (var u = 0; u < h.destroy.length; ++u) h.destroy[u](c);
|
2809 |
+
if (((c.elm = e.elm), l)) {
|
2810 |
+
for (var f = 0; f < h.create.length; ++f) h.create[f](Kn, c);
|
2811 |
+
var p = c.data.hook.insert;
|
2812 |
+
if (p.merged) for (var d = 1; d < p.fns.length; d++) p.fns[d]();
|
2813 |
+
} else Gn(c);
|
2814 |
+
c = c.parent;
|
2815 |
+
}
|
2816 |
+
I(s) ? x(0, [t], 0, 0) : I(t.tag) && y(t);
|
2817 |
+
}
|
2818 |
+
}
|
2819 |
+
return $(e, i, o), e.elm;
|
2820 |
+
}
|
2821 |
+
I(t) && y(t);
|
2822 |
+
};
|
2823 |
+
})({
|
2824 |
+
nodeOps: E,
|
2825 |
+
modules: [
|
2826 |
+
W,
|
2827 |
+
On,
|
2828 |
+
q,
|
2829 |
+
Gt,
|
2830 |
+
Q,
|
2831 |
+
B
|
2832 |
+
? {
|
2833 |
+
create: wo,
|
2834 |
+
activate: wo,
|
2835 |
+
remove: function (t, e) {
|
2836 |
+
!0 !== t.data.show ? go(t, e) : e();
|
2837 |
+
},
|
2838 |
+
}
|
2839 |
+
: {},
|
2840 |
+
].concat(st),
|
2841 |
+
});
|
2842 |
+
G &&
|
2843 |
+
document.addEventListener("selectionchange", function () {
|
2844 |
+
var t = document.activeElement;
|
2845 |
+
t && t.vmodel && To(t, "input");
|
2846 |
+
});
|
2847 |
+
var xo = {
|
2848 |
+
inserted: function (t, e, n, r) {
|
2849 |
+
"select" === n.tag
|
2850 |
+
? (r.elm && !r.elm._vOptions
|
2851 |
+
? oe(n, "postpatch", function () {
|
2852 |
+
xo.componentUpdated(t, e, n);
|
2853 |
+
})
|
2854 |
+
: $o(t, e, n.context),
|
2855 |
+
(t._vOptions = [].map.call(t.options, Oo)))
|
2856 |
+
: ("textarea" !== n.tag && !qn(t.type)) ||
|
2857 |
+
((t._vModifiers = e.modifiers), e.modifiers.lazy || (t.addEventListener("compositionstart", Ao), t.addEventListener("compositionend", So), t.addEventListener("change", So), G && (t.vmodel = !0)));
|
2858 |
+
},
|
2859 |
+
componentUpdated: function (t, e, n) {
|
2860 |
+
var r, o;
|
2861 |
+
"select" === n.tag &&
|
2862 |
+
($o(t, e, n.context),
|
2863 |
+
(r = t._vOptions),
|
2864 |
+
(o = t._vOptions = [].map.call(t.options, Oo)).some(function (t, e) {
|
2865 |
+
return !A(t, r[e]);
|
2866 |
+
}) &&
|
2867 |
+
(t.multiple
|
2868 |
+
? e.value.some(function (t) {
|
2869 |
+
return Co(t, o);
|
2870 |
+
})
|
2871 |
+
: e.value !== e.oldValue && Co(e.value, o)) &&
|
2872 |
+
To(t, "change"));
|
2873 |
+
},
|
2874 |
+
};
|
2875 |
+
function $o(t, e) {
|
2876 |
+
ko(t, e),
|
2877 |
+
(J || K) &&
|
2878 |
+
setTimeout(function () {
|
2879 |
+
ko(t, e);
|
2880 |
+
}, 0);
|
2881 |
+
}
|
2882 |
+
function ko(t, e) {
|
2883 |
+
var n = e.value,
|
2884 |
+
r = t.multiple;
|
2885 |
+
if (!r || Array.isArray(n)) {
|
2886 |
+
for (var o, i, a = 0, s = t.options.length; a < s; a++)
|
2887 |
+
if (((i = t.options[a]), r)) (o = -1 < S(n, Oo(i))), i.selected !== o && (i.selected = o);
|
2888 |
+
else if (A(Oo(i), n)) return t.selectedIndex !== a && (t.selectedIndex = a), 0;
|
2889 |
+
r || (t.selectedIndex = -1);
|
2890 |
+
}
|
2891 |
+
}
|
2892 |
+
function Co(e, t) {
|
2893 |
+
return t.every(function (t) {
|
2894 |
+
return !A(t, e);
|
2895 |
+
});
|
2896 |
+
}
|
2897 |
+
function Oo(t) {
|
2898 |
+
return "_value" in t ? t._value : t.value;
|
2899 |
+
}
|
2900 |
+
function Ao(t) {
|
2901 |
+
t.target.composing = !0;
|
2902 |
+
}
|
2903 |
+
function So(t) {
|
2904 |
+
t.target.composing && ((t.target.composing = !1), To(t.target, "input"));
|
2905 |
+
}
|
2906 |
+
function To(t, e) {
|
2907 |
+
var n = document.createEvent("HTMLEvents");
|
2908 |
+
n.initEvent(e, !0, !0), t.dispatchEvent(n);
|
2909 |
+
}
|
2910 |
+
function jo(t) {
|
2911 |
+
return !t.componentInstance || (t.data && t.data.transition) ? t : jo(t.componentInstance._vnode);
|
2912 |
+
}
|
2913 |
+
(Gt = {
|
2914 |
+
model: xo,
|
2915 |
+
show: {
|
2916 |
+
bind: function (t, e, n) {
|
2917 |
+
var r = e.value,
|
2918 |
+
e = (n = jo(n)).data && n.data.transition,
|
2919 |
+
o = (t.__vOriginalDisplay = "none" === t.style.display ? "" : t.style.display);
|
2920 |
+
r && e
|
2921 |
+
? ((n.data.show = !0),
|
2922 |
+
yo(n, function () {
|
2923 |
+
t.style.display = o;
|
2924 |
+
}))
|
2925 |
+
: (t.style.display = r ? o : "none");
|
2926 |
+
},
|
2927 |
+
update: function (t, e, n) {
|
2928 |
+
var r = e.value;
|
2929 |
+
!r != !e.oldValue &&
|
2930 |
+
((n = jo(n)).data && n.data.transition
|
2931 |
+
? ((n.data.show = !0),
|
2932 |
+
r
|
2933 |
+
? yo(n, function () {
|
2934 |
+
t.style.display = t.__vOriginalDisplay;
|
2935 |
+
})
|
2936 |
+
: go(n, function () {
|
2937 |
+
t.style.display = "none";
|
2938 |
+
}))
|
2939 |
+
: (t.style.display = r ? t.__vOriginalDisplay : "none"));
|
2940 |
+
},
|
2941 |
+
unbind: function (t, e, n, r, o) {
|
2942 |
+
o || (t.style.display = t.__vOriginalDisplay);
|
2943 |
+
},
|
2944 |
+
},
|
2945 |
+
}),
|
2946 |
+
(Q = {
|
2947 |
+
name: String,
|
2948 |
+
appear: Boolean,
|
2949 |
+
css: Boolean,
|
2950 |
+
mode: String,
|
2951 |
+
type: String,
|
2952 |
+
enterClass: String,
|
2953 |
+
leaveClass: String,
|
2954 |
+
enterToClass: String,
|
2955 |
+
leaveToClass: String,
|
2956 |
+
enterActiveClass: String,
|
2957 |
+
leaveActiveClass: String,
|
2958 |
+
appearClass: String,
|
2959 |
+
appearActiveClass: String,
|
2960 |
+
appearToClass: String,
|
2961 |
+
duration: [Number, String, Object],
|
2962 |
+
});
|
2963 |
+
function Eo(t) {
|
2964 |
+
var e = t && t.componentOptions;
|
2965 |
+
return e && e.Ctor.options.abstract ? Eo(ze(e.children)) : t;
|
2966 |
+
}
|
2967 |
+
function Mo(t) {
|
2968 |
+
var e,
|
2969 |
+
n = {},
|
2970 |
+
r = t.$options;
|
2971 |
+
for (e in r.propsData) n[e] = t[e];
|
2972 |
+
var o,
|
2973 |
+
i = r._parentListeners;
|
2974 |
+
for (o in i) n[m(o)] = i[o];
|
2975 |
+
return n;
|
2976 |
+
}
|
2977 |
+
function Po(t, e) {
|
2978 |
+
if (/\d-keep-alive$/.test(e.tag)) return t("keep-alive", { props: e.componentOptions.propsData });
|
2979 |
+
}
|
2980 |
+
function Io(t) {
|
2981 |
+
return t.tag || Re(t);
|
2982 |
+
}
|
2983 |
+
function Lo(t) {
|
2984 |
+
return "show" === t.name;
|
2985 |
+
}
|
2986 |
+
(st = {
|
2987 |
+
name: "transition",
|
2988 |
+
props: Q,
|
2989 |
+
abstract: !0,
|
2990 |
+
render: function (t) {
|
2991 |
+
var e = this,
|
2992 |
+
n = this.$slots.default;
|
2993 |
+
if (n && (n = n.filter(Io)).length) {
|
2994 |
+
var r = this.mode,
|
2995 |
+
o = n[0];
|
2996 |
+
if (
|
2997 |
+
(function (t) {
|
2998 |
+
for (; (t = t.parent); ) if (t.data.transition) return 1;
|
2999 |
+
})(this.$vnode)
|
3000 |
+
)
|
3001 |
+
return o;
|
3002 |
+
var i = Eo(o);
|
3003 |
+
if (!i) return o;
|
3004 |
+
if (this._leaving) return Po(t, o);
|
3005 |
+
var a = "__transition-" + this._uid + "-";
|
3006 |
+
i.key = null == i.key ? (i.isComment ? a + "comment" : a + i.tag) : !l(i.key) || 0 === String(i.key).indexOf(a) ? i.key : a + i.key;
|
3007 |
+
var s = ((i.data || (i.data = {})).transition = Mo(this)),
|
3008 |
+
n = this._vnode,
|
3009 |
+
a = Eo(n);
|
3010 |
+
if ((i.data.directives && i.data.directives.some(Lo) && (i.data.show = !0), a && a.data && (a.key !== i.key || a.tag !== i.tag) && !Re(a) && (!a.componentInstance || !a.componentInstance._vnode.isComment))) {
|
3011 |
+
a = a.data.transition = w({}, s);
|
3012 |
+
if ("out-in" === r)
|
3013 |
+
return (
|
3014 |
+
(this._leaving = !0),
|
3015 |
+
oe(a, "afterLeave", function () {
|
3016 |
+
(e._leaving = !1), e.$forceUpdate();
|
3017 |
+
}),
|
3018 |
+
Po(t, o)
|
3019 |
+
);
|
3020 |
+
if ("in-out" === r) {
|
3021 |
+
if (Re(i)) return n;
|
3022 |
+
var c,
|
3023 |
+
n = function () {
|
3024 |
+
c();
|
3025 |
+
};
|
3026 |
+
oe(s, "afterEnter", n),
|
3027 |
+
oe(s, "enterCancelled", n),
|
3028 |
+
oe(a, "delayLeave", function (t) {
|
3029 |
+
c = t;
|
3030 |
+
});
|
3031 |
+
}
|
3032 |
+
}
|
3033 |
+
return o;
|
3034 |
+
}
|
3035 |
+
},
|
3036 |
+
}),
|
3037 |
+
(Q = w({ tag: String, moveClass: String }, Q));
|
3038 |
+
function No(t) {
|
3039 |
+
t.elm._moveCb && t.elm._moveCb(), t.elm._enterCb && t.elm._enterCb();
|
3040 |
+
}
|
3041 |
+
function Do(t) {
|
3042 |
+
t.data.newPos = t.elm.getBoundingClientRect();
|
3043 |
+
}
|
3044 |
+
function Fo(t) {
|
3045 |
+
var e = t.data.pos,
|
3046 |
+
n = t.data.newPos,
|
3047 |
+
r = e.left - n.left,
|
3048 |
+
n = e.top - n.top;
|
3049 |
+
(r || n) && ((t.data.moved = !0), ((t = t.elm.style).transform = t.WebkitTransform = "translate(" + r + "px," + n + "px)"), (t.transitionDuration = "0s"));
|
3050 |
+
}
|
3051 |
+
delete Q.mode;
|
3052 |
+
Q = {
|
3053 |
+
Transition: st,
|
3054 |
+
TransitionGroup: {
|
3055 |
+
props: Q,
|
3056 |
+
beforeMount: function () {
|
3057 |
+
var r = this,
|
3058 |
+
o = this._update;
|
3059 |
+
this._update = function (t, e) {
|
3060 |
+
var n = qe(r);
|
3061 |
+
r.__patch__(r._vnode, r.kept, !1, !0), (r._vnode = r.kept), n(), o.call(r, t, e);
|
3062 |
+
};
|
3063 |
+
},
|
3064 |
+
render: function (t) {
|
3065 |
+
for (var e = this.tag || this.$vnode.data.tag || "span", n = Object.create(null), r = (this.prevChildren = this.children), o = this.$slots.default || [], i = (this.children = []), a = Mo(this), s = 0; s < o.length; s++) {
|
3066 |
+
var c = o[s];
|
3067 |
+
c.tag && null != c.key && 0 !== String(c.key).indexOf("__vlist") && (i.push(c), (((n[c.key] = c).data || (c.data = {})).transition = a));
|
3068 |
+
}
|
3069 |
+
if (r) {
|
3070 |
+
for (var l = [], u = [], f = 0; f < r.length; f++) {
|
3071 |
+
var p = r[f];
|
3072 |
+
(p.data.transition = a), (p.data.pos = p.elm.getBoundingClientRect()), (n[p.key] ? l : u).push(p);
|
3073 |
+
}
|
3074 |
+
(this.kept = t(e, null, l)), (this.removed = u);
|
3075 |
+
}
|
3076 |
+
return t(e, null, i);
|
3077 |
+
},
|
3078 |
+
updated: function () {
|
3079 |
+
var t = this.prevChildren,
|
3080 |
+
r = this.moveClass || (this.name || "v") + "-move";
|
3081 |
+
t.length &&
|
3082 |
+
this.hasMove(t[0].elm, r) &&
|
3083 |
+
(t.forEach(No),
|
3084 |
+
t.forEach(Do),
|
3085 |
+
t.forEach(Fo),
|
3086 |
+
(this._reflow = document.body.offsetHeight),
|
3087 |
+
t.forEach(function (t) {
|
3088 |
+
var n;
|
3089 |
+
t.data.moved &&
|
3090 |
+
((t = (n = t.elm).style),
|
3091 |
+
lo(n, r),
|
3092 |
+
(t.transform = t.WebkitTransform = t.transitionDuration = ""),
|
3093 |
+
n.addEventListener(
|
3094 |
+
oo,
|
3095 |
+
(n._moveCb = function t(e) {
|
3096 |
+
(e && e.target !== n) || (e && !/transform$/.test(e.propertyName)) || (n.removeEventListener(oo, t), (n._moveCb = null), uo(n, r));
|
3097 |
+
})
|
3098 |
+
));
|
3099 |
+
}));
|
3100 |
+
},
|
3101 |
+
methods: {
|
3102 |
+
hasMove: function (t, e) {
|
3103 |
+
if (!to) return !1;
|
3104 |
+
if (this._hasMove) return this._hasMove;
|
3105 |
+
var n = t.cloneNode();
|
3106 |
+
t._transitionClasses &&
|
3107 |
+
t._transitionClasses.forEach(function (t) {
|
3108 |
+
Qr(n, t);
|
3109 |
+
}),
|
3110 |
+
Xr(n, e),
|
3111 |
+
(n.style.display = "none"),
|
3112 |
+
this.$el.appendChild(n);
|
3113 |
+
e = ho(n);
|
3114 |
+
return this.$el.removeChild(n), (this._hasMove = e.hasTransform);
|
3115 |
+
},
|
3116 |
+
},
|
3117 |
+
},
|
3118 |
+
};
|
3119 |
+
function Ro(t, e) {
|
3120 |
+
return t && pi(t) && "\n" === e[0];
|
3121 |
+
}
|
3122 |
+
(_n.config.mustUseProp = An),
|
3123 |
+
(_n.config.isReservedTag = zn),
|
3124 |
+
(_n.config.isReservedAttr = ht),
|
3125 |
+
(_n.config.getTagNamespace = Vn),
|
3126 |
+
(_n.config.isUnknownElement = function (t) {
|
3127 |
+
if (!B) return !0;
|
3128 |
+
if (zn(t)) return !1;
|
3129 |
+
if (((t = t.toLowerCase()), null != Wn[t])) return Wn[t];
|
3130 |
+
var e = document.createElement(t);
|
3131 |
+
return -1 < t.indexOf("-") ? (Wn[t] = e.constructor === window.HTMLUnknownElement || e.constructor === window.HTMLElement) : (Wn[t] = /HTMLUnknownElement/.test(e.toString()));
|
3132 |
+
}),
|
3133 |
+
w(_n.options.directives, Gt),
|
3134 |
+
w(_n.options.components, Q),
|
3135 |
+
(_n.prototype.__patch__ = B ? q : $),
|
3136 |
+
(_n.prototype.$mount = function (t, e) {
|
3137 |
+
return (
|
3138 |
+
(n = this),
|
3139 |
+
(t = t = t && B ? Jn(t) : void 0),
|
3140 |
+
(r = e),
|
3141 |
+
(n.$el = t),
|
3142 |
+
n.$options.render || (n.$options.render = vt),
|
3143 |
+
Ke(n, "beforeMount"),
|
3144 |
+
(t = function () {
|
3145 |
+
n._update(n._render(), r);
|
3146 |
+
}),
|
3147 |
+
new sn(
|
3148 |
+
n,
|
3149 |
+
t,
|
3150 |
+
$,
|
3151 |
+
{
|
3152 |
+
before: function () {
|
3153 |
+
n._isMounted && !n._isDestroyed && Ke(n, "beforeUpdate");
|
3154 |
+
},
|
3155 |
+
},
|
3156 |
+
!0
|
3157 |
+
),
|
3158 |
+
(r = !1),
|
3159 |
+
null == n.$vnode && ((n._isMounted = !0), Ke(n, "mounted")),
|
3160 |
+
n
|
3161 |
+
);
|
3162 |
+
var n, r;
|
3163 |
+
}),
|
3164 |
+
B &&
|
3165 |
+
setTimeout(function () {
|
3166 |
+
M.devtools && nt && nt.emit("init", _n);
|
3167 |
+
}, 0);
|
3168 |
+
var zo,
|
3169 |
+
Ho,
|
3170 |
+
Uo,
|
3171 |
+
Bo,
|
3172 |
+
Vo,
|
3173 |
+
Wo,
|
3174 |
+
qo,
|
3175 |
+
Jo,
|
3176 |
+
Go,
|
3177 |
+
Ko = /\{\{((?:.|\r?\n)+?)\}\}/g,
|
3178 |
+
Xo = /[-.*+?^${}()|[\]\/\\]/g,
|
3179 |
+
Qo = t(function (t) {
|
3180 |
+
var e = t[0].replace(Xo, "\\$&"),
|
3181 |
+
t = t[1].replace(Xo, "\\$&");
|
3182 |
+
return new RegExp(e + "((?:.|\\n)+?)" + t, "g");
|
3183 |
+
}),
|
3184 |
+
ht = {
|
3185 |
+
staticKeys: ["staticClass"],
|
3186 |
+
transformNode: function (t, e) {
|
3187 |
+
e.warn;
|
3188 |
+
e = xr(t, "class");
|
3189 |
+
e && (t.staticClass = JSON.stringify(e));
|
3190 |
+
e = wr(t, "class", !1);
|
3191 |
+
e && (t.classBinding = e);
|
3192 |
+
},
|
3193 |
+
genData: function (t) {
|
3194 |
+
var e = "";
|
3195 |
+
return t.staticClass && (e += "staticClass:" + t.staticClass + ","), t.classBinding && (e += "class:" + t.classBinding + ","), e;
|
3196 |
+
},
|
3197 |
+
},
|
3198 |
+
Gt = {
|
3199 |
+
staticKeys: ["staticStyle"],
|
3200 |
+
transformNode: function (t, e) {
|
3201 |
+
e.warn;
|
3202 |
+
e = xr(t, "style");
|
3203 |
+
e && (t.staticStyle = JSON.stringify(Rr(e)));
|
3204 |
+
e = wr(t, "style", !1);
|
3205 |
+
e && (t.styleBinding = e);
|
3206 |
+
},
|
3207 |
+
genData: function (t) {
|
3208 |
+
var e = "";
|
3209 |
+
return t.staticStyle && (e += "staticStyle:" + t.staticStyle + ","), t.styleBinding && (e += "style:(" + t.styleBinding + "),"), e;
|
3210 |
+
},
|
3211 |
+
},
|
3212 |
+
Q = a("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),
|
3213 |
+
q = a("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),
|
3214 |
+
Yo = a(
|
3215 |
+
"address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"
|
3216 |
+
),
|
3217 |
+
Zo = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,
|
3218 |
+
ti = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,
|
3219 |
+
F = "[a-zA-Z_][\\-\\.0-9_a-zA-Z" + F.source + "]*",
|
3220 |
+
F = "((?:" + F + "\\:)?" + F + ")",
|
3221 |
+
ei = new RegExp("^<" + F),
|
3222 |
+
ni = /^\s*(\/?)>/,
|
3223 |
+
ri = new RegExp("^<\\/" + F + "[^>]*>"),
|
3224 |
+
oi = /^<!DOCTYPE [^>]+>/i,
|
3225 |
+
ii = /^<!\--/,
|
3226 |
+
ai = /^<!\[/,
|
3227 |
+
si = a("script,style,textarea", !0),
|
3228 |
+
ci = {},
|
3229 |
+
li = { "<": "<", ">": ">", """: '"', "&": "&", " ": "\n", "	": "\t", "'": "'" },
|
3230 |
+
ui = /&(?:lt|gt|quot|amp|#39);/g,
|
3231 |
+
fi = /&(?:lt|gt|quot|amp|#39|#10|#9);/g,
|
3232 |
+
pi = a("pre,textarea", !0),
|
3233 |
+
di = /^@|^v-on:/,
|
3234 |
+
hi = /^v-|^@|^:/,
|
3235 |
+
vi = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,
|
3236 |
+
mi = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/,
|
3237 |
+
yi = /^\(|\)$/g,
|
3238 |
+
gi = /^\[.*\]$/,
|
3239 |
+
_i = /:(.*)$/,
|
3240 |
+
bi = /^:|^\.|^v-bind:/,
|
3241 |
+
wi = /\.[^.\]]+(?=[^\]]*$)/g,
|
3242 |
+
xi = /^v-slot(:|$)|^#/,
|
3243 |
+
$i = /[\r\n]/,
|
3244 |
+
ki = /\s+/g,
|
3245 |
+
Ci = t(function (t) {
|
3246 |
+
return ((zo = zo || document.createElement("div")).innerHTML = t), zo.textContent;
|
3247 |
+
}),
|
3248 |
+
Oi = "_empty_";
|
3249 |
+
function Ai(t, e, n) {
|
3250 |
+
return {
|
3251 |
+
type: 1,
|
3252 |
+
tag: t,
|
3253 |
+
attrsList: e,
|
3254 |
+
attrsMap: (function (t) {
|
3255 |
+
for (var e = {}, n = 0, r = t.length; n < r; n++) e[t[n].name] = t[n].value;
|
3256 |
+
return e;
|
3257 |
+
})(e),
|
3258 |
+
rawAttrsMap: {},
|
3259 |
+
parent: n,
|
3260 |
+
children: [],
|
3261 |
+
};
|
3262 |
+
}
|
3263 |
+
function Si(t, e) {
|
3264 |
+
var n, r, o;
|
3265 |
+
(n = wr((o = t), "key")) && (o.key = n),
|
3266 |
+
(t.plain = !t.key && !t.scopedSlots && !t.attrsList.length),
|
3267 |
+
(o = wr((r = t), "ref")) &&
|
3268 |
+
((r.ref = o),
|
3269 |
+
(r.refInFor = (function () {
|
3270 |
+
for (var t = r; t; ) {
|
3271 |
+
if (void 0 !== t.for) return !0;
|
3272 |
+
t = t.parent;
|
3273 |
+
}
|
3274 |
+
return !1;
|
3275 |
+
})())),
|
3276 |
+
(function (t) {
|
3277 |
+
"template" === t.tag ? ((a = xr(t, "scope")), (t.slotScope = a || xr(t, "slot-scope"))) : (a = xr(t, "slot-scope")) && (t.slotScope = a);
|
3278 |
+
var e,
|
3279 |
+
n,
|
3280 |
+
r,
|
3281 |
+
o,
|
3282 |
+
i,
|
3283 |
+
a = wr(t, "slot");
|
3284 |
+
a &&
|
3285 |
+
((t.slotTarget = '""' === a ? '"default"' : a),
|
3286 |
+
(t.slotTargetDynamic = !(!t.attrsMap[":slot"] && !t.attrsMap["v-bind:slot"])),
|
3287 |
+
"template" === t.tag || t.slotScope || yr(t, "slot", a, ((a = "slot"), t.rawAttrsMap[":" + a] || t.rawAttrsMap["v-bind:" + a] || t.rawAttrsMap[a]))),
|
3288 |
+
"template" === t.tag
|
3289 |
+
? (r = $r(t, xi)) && ((n = (e = Ei(r)).name), (o = e.dynamic), (t.slotTarget = n), (t.slotTargetDynamic = o), (t.slotScope = r.value || Oi))
|
3290 |
+
: (e = $r(t, xi)) &&
|
3291 |
+
((n = t.scopedSlots || (t.scopedSlots = {})),
|
3292 |
+
(r = (o = Ei(e)).name),
|
3293 |
+
(o = o.dynamic),
|
3294 |
+
((i = n[r] = Ai("template", [], t)).slotTarget = r),
|
3295 |
+
(i.slotTargetDynamic = o),
|
3296 |
+
(i.children = t.children.filter(function (t) {
|
3297 |
+
if (!t.slotScope) return (t.parent = i), !0;
|
3298 |
+
})),
|
3299 |
+
(i.slotScope = e.value || Oi),
|
3300 |
+
(t.children = []),
|
3301 |
+
(t.plain = !1));
|
3302 |
+
})(t),
|
3303 |
+
"slot" === t.tag && (t.slotName = wr(t, "name")),
|
3304 |
+
(o = wr((n = t), "is")) && (n.component = o),
|
3305 |
+
null != xr(n, "inline-template") && (n.inlineTemplate = !0);
|
3306 |
+
for (var i = 0; i < Bo.length; i++) t = Bo[i](t, e) || t;
|
3307 |
+
return (
|
3308 |
+
(function (t) {
|
3309 |
+
for (var e, n, r, o, i, a, s, c, l, u, f, p = t.attrsList, d = 0, h = p.length; d < h; d++)
|
3310 |
+
(e = s = p[d].name),
|
3311 |
+
(n = p[d].value),
|
3312 |
+
hi.test(e)
|
3313 |
+
? ((t.hasBindings = !0),
|
3314 |
+
(c = (function (t) {
|
3315 |
+
t = t.match(wi);
|
3316 |
+
if (t) {
|
3317 |
+
var e = {};
|
3318 |
+
return (
|
3319 |
+
t.forEach(function (t) {
|
3320 |
+
e[t.slice(1)] = !0;
|
3321 |
+
}),
|
3322 |
+
e
|
3323 |
+
);
|
3324 |
+
}
|
3325 |
+
})(e.replace(hi, ""))) && (e = e.replace(wi, "")),
|
3326 |
+
bi.test(e)
|
3327 |
+
? ((e = e.replace(bi, "")),
|
3328 |
+
(n = dr(n)),
|
3329 |
+
(f = gi.test(e)) && (e = e.slice(1, -1)),
|
3330 |
+
c &&
|
3331 |
+
(c.prop && !f && "innerHtml" === (e = m(e)) && (e = "innerHTML"),
|
3332 |
+
c.camel && !f && (e = m(e)),
|
3333 |
+
c.sync &&
|
3334 |
+
((a = Or(n, "$event")),
|
3335 |
+
f ? br(t, '"update:"+(' + e + ")", a, null, !1, 0, p[d], !0) : (br(t, "update:" + m(e), a, null, !1, 0, p[d]), g(e) !== m(e) && br(t, "update:" + g(e), a, null, !1, 0, p[d])))),
|
3336 |
+
((c && c.prop) || (!t.component && Jo(t.tag, t.attrsMap.type, e)) ? mr : yr)(t, e, n, p[d], f))
|
3337 |
+
: di.test(e)
|
3338 |
+
? ((e = e.replace(di, "")), (f = gi.test(e)) && (e = e.slice(1, -1)), br(t, e, n, c, !1, 0, p[d], f))
|
3339 |
+
: ((f = !1),
|
3340 |
+
(u = (l = (e = e.replace(hi, "")).match(_i)) && l[1]) && ((e = e.slice(0, -(u.length + 1))), gi.test(u) && ((u = u.slice(1, -1)), (f = !0))),
|
3341 |
+
(r = t),
|
3342 |
+
(o = e),
|
3343 |
+
(i = s),
|
3344 |
+
(a = n),
|
3345 |
+
(l = u),
|
3346 |
+
(s = f),
|
3347 |
+
(u = c),
|
3348 |
+
(c = p[d]),
|
3349 |
+
(r.directives || (r.directives = [])).push(kr({ name: o, rawName: i, value: a, arg: l, isDynamicArg: s, modifiers: u }, c)),
|
3350 |
+
(r.plain = !1)))
|
3351 |
+
: (yr(t, e, JSON.stringify(n), p[d]), !t.component && "muted" === e && Jo(t.tag, t.attrsMap.type, e) && mr(t, e, "true", p[d]));
|
3352 |
+
})(t),
|
3353 |
+
t
|
3354 |
+
);
|
3355 |
+
}
|
3356 |
+
function Ti(t) {
|
3357 |
+
var r, e;
|
3358 |
+
!(r = xr(t, "v-for")) ||
|
3359 |
+
((e = (function () {
|
3360 |
+
var t = r.match(vi);
|
3361 |
+
if (t) {
|
3362 |
+
var e = {};
|
3363 |
+
e.for = t[2].trim();
|
3364 |
+
var n = t[1].trim().replace(yi, ""),
|
3365 |
+
t = n.match(mi);
|
3366 |
+
return t ? ((e.alias = n.replace(mi, "").trim()), (e.iterator1 = t[1].trim()), t[2] && (e.iterator2 = t[2].trim())) : (e.alias = n), e;
|
3367 |
+
}
|
3368 |
+
})()) &&
|
3369 |
+
w(t, e));
|
3370 |
+
}
|
3371 |
+
function ji(t, e) {
|
3372 |
+
t.ifConditions || (t.ifConditions = []), t.ifConditions.push(e);
|
3373 |
+
}
|
3374 |
+
function Ei(t) {
|
3375 |
+
var e = t.name.replace(xi, "");
|
3376 |
+
return e || ("#" !== t.name[0] && (e = "default")), gi.test(e) ? { name: e.slice(1, -1), dynamic: !0 } : { name: '"' + e + '"', dynamic: !1 };
|
3377 |
+
}
|
3378 |
+
var Mi = /^xmlns:NS\d+/,
|
3379 |
+
Pi = /^NS\d+:/;
|
3380 |
+
function Ii(t) {
|
3381 |
+
return Ai(t.tag, t.attrsList.slice(), t.parent);
|
3382 |
+
}
|
3383 |
+
var Li,
|
3384 |
+
Ni,
|
3385 |
+
Gt = [
|
3386 |
+
ht,
|
3387 |
+
Gt,
|
3388 |
+
{
|
3389 |
+
preTransformNode: function (t, e) {
|
3390 |
+
if ("input" === t.tag) {
|
3391 |
+
var n,
|
3392 |
+
r = t.attrsMap;
|
3393 |
+
if (r["v-model"] && ((r[":type"] || r["v-bind:type"]) && (n = wr(t, "type")), r.type || n || !r["v-bind"] || (n = "(" + r["v-bind"] + ").type"), n)) {
|
3394 |
+
var o = xr(t, "v-if", !0),
|
3395 |
+
i = o ? "&&(" + o + ")" : "",
|
3396 |
+
a = null != xr(t, "v-else", !0),
|
3397 |
+
s = xr(t, "v-else-if", !0),
|
3398 |
+
c = Ii(t);
|
3399 |
+
Ti(c), gr(c, "type", "checkbox"), Si(c, e), (c.processed = !0), (c.if = "(" + n + ")==='checkbox'" + i), ji(c, { exp: c.if, block: c });
|
3400 |
+
r = Ii(t);
|
3401 |
+
xr(r, "v-for", !0), gr(r, "type", "radio"), Si(r, e), ji(c, { exp: "(" + n + ")==='radio'" + i, block: r });
|
3402 |
+
t = Ii(t);
|
3403 |
+
return xr(t, "v-for", !0), gr(t, ":type", n), Si(t, e), ji(c, { exp: o, block: t }), a ? (c.else = !0) : s && (c.elseif = s), c;
|
3404 |
+
}
|
3405 |
+
}
|
3406 |
+
},
|
3407 |
+
},
|
3408 |
+
],
|
3409 |
+
Gt = {
|
3410 |
+
expectHTML: !0,
|
3411 |
+
modules: Gt,
|
3412 |
+
directives: {
|
3413 |
+
model: function (t, e, n) {
|
3414 |
+
var r,
|
3415 |
+
o,
|
3416 |
+
i,
|
3417 |
+
a,
|
3418 |
+
s,
|
3419 |
+
c = e.value,
|
3420 |
+
l = e.modifiers,
|
3421 |
+
u = t.tag,
|
3422 |
+
f = t.attrsMap.type;
|
3423 |
+
if (t.component) return Cr(t, c, l), !1;
|
3424 |
+
if ("select" === u)
|
3425 |
+
br(
|
3426 |
+
t,
|
3427 |
+
"change",
|
3428 |
+
'var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return ' +
|
3429 |
+
(l && l.number ? "_n(val)" : "val") +
|
3430 |
+
"});" +
|
3431 |
+
" " +
|
3432 |
+
Or(c, "$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),
|
3433 |
+
null,
|
3434 |
+
!0
|
3435 |
+
);
|
3436 |
+
else if ("input" === u && "checkbox" === f)
|
3437 |
+
(r = t),
|
3438 |
+
(o = c),
|
3439 |
+
(i = l && l.number),
|
3440 |
+
(a = wr(r, "value") || "null"),
|
3441 |
+
(s = wr(r, "true-value") || "true"),
|
3442 |
+
(e = wr(r, "false-value") || "false"),
|
3443 |
+
mr(r, "checked", "Array.isArray(" + o + ")?_i(" + o + "," + a + ")>-1" + ("true" === s ? ":(" + o + ")" : ":_q(" + o + "," + s + ")")),
|
3444 |
+
br(
|
3445 |
+
r,
|
3446 |
+
"change",
|
3447 |
+
"var $$a=" +
|
3448 |
+
o +
|
3449 |
+
",$$el=$event.target,$$c=$$el.checked?(" +
|
3450 |
+
s +
|
3451 |
+
"):(" +
|
3452 |
+
e +
|
3453 |
+
");if(Array.isArray($$a)){var $$v=" +
|
3454 |
+
(i ? "_n(" + a + ")" : a) +
|
3455 |
+
",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&(" +
|
3456 |
+
Or(o, "$$a.concat([$$v])") +
|
3457 |
+
")}else{$$i>-1&&(" +
|
3458 |
+
Or(o, "$$a.slice(0,$$i).concat($$a.slice($$i+1))") +
|
3459 |
+
")}}else{" +
|
3460 |
+
Or(o, "$$c") +
|
3461 |
+
"}",
|
3462 |
+
null,
|
3463 |
+
!0
|
3464 |
+
);
|
3465 |
+
else if ("input" === u && "radio" === f)
|
3466 |
+
(i = t), (a = c), (o = l && l.number), (f = wr(i, "value") || "null"), mr(i, "checked", "_q(" + a + "," + (f = o ? "_n(" + f + ")" : f) + ")"), br(i, "change", Or(a, f), null, !0);
|
3467 |
+
else if ("input" === u || "textarea" === u)
|
3468 |
+
!(function (t, e) {
|
3469 |
+
var n = t.attrsMap.type,
|
3470 |
+
r = l || {},
|
3471 |
+
o = r.lazy,
|
3472 |
+
i = r.number,
|
3473 |
+
a = r.trim,
|
3474 |
+
r = !o && "range" !== n,
|
3475 |
+
o = o ? "change" : "range" === n ? "__r" : "input",
|
3476 |
+
n = a ? "$event.target.value.trim()" : "$event.target.value";
|
3477 |
+
i && (n = "_n(" + n + ")");
|
3478 |
+
n = Or(e, n);
|
3479 |
+
r && (n = "if($event.target.composing)return;" + n), mr(t, "value", "(" + e + ")"), br(t, o, n, null, !0), (a || i) && br(t, "blur", "$forceUpdate()");
|
3480 |
+
})(t, c);
|
3481 |
+
else if (!M.isReservedTag(u)) return Cr(t, c, l), !1;
|
3482 |
+
return !0;
|
3483 |
+
},
|
3484 |
+
text: function (t, e) {
|
3485 |
+
e.value && mr(t, "textContent", "_s(" + e.value + ")", e);
|
3486 |
+
},
|
3487 |
+
html: function (t, e) {
|
3488 |
+
e.value && mr(t, "innerHTML", "_s(" + e.value + ")", e);
|
3489 |
+
},
|
3490 |
+
},
|
3491 |
+
isPreTag: function (t) {
|
3492 |
+
return "pre" === t;
|
3493 |
+
},
|
3494 |
+
isUnaryTag: Q,
|
3495 |
+
mustUseProp: An,
|
3496 |
+
canBeLeftOpenTag: q,
|
3497 |
+
isReservedTag: zn,
|
3498 |
+
getTagNamespace: Vn,
|
3499 |
+
staticKeys: Gt.reduce(function (t, e) {
|
3500 |
+
return t.concat(e.staticKeys || []);
|
3501 |
+
}, []).join(","),
|
3502 |
+
},
|
3503 |
+
Di = t(function (t) {
|
3504 |
+
return a("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap" + (t ? "," + t : ""));
|
3505 |
+
}),
|
3506 |
+
Fi = /^([\w$_]+|\([^)]*?\))\s*=>|^function\s*(?:[\w$]+)?\s*\(/,
|
3507 |
+
Ri = /\([^)]*?\);*$/,
|
3508 |
+
zi = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,
|
3509 |
+
Hi = { esc: 27, tab: 9, enter: 13, space: 32, up: 38, left: 37, right: 39, down: 40, delete: [8, 46] },
|
3510 |
+
Ui = {
|
3511 |
+
esc: ["Esc", "Escape"],
|
3512 |
+
tab: "Tab",
|
3513 |
+
enter: "Enter",
|
3514 |
+
space: [" ", "Spacebar"],
|
3515 |
+
up: ["Up", "ArrowUp"],
|
3516 |
+
left: ["Left", "ArrowLeft"],
|
3517 |
+
right: ["Right", "ArrowRight"],
|
3518 |
+
down: ["Down", "ArrowDown"],
|
3519 |
+
delete: ["Backspace", "Delete", "Del"],
|
3520 |
+
},
|
3521 |
+
Bi = function (t) {
|
3522 |
+
return "if(" + t + ")return null;";
|
3523 |
+
},
|
3524 |
+
Vi = {
|
3525 |
+
stop: "$event.stopPropagation();",
|
3526 |
+
prevent: "$event.preventDefault();",
|
3527 |
+
self: Bi("$event.target !== $event.currentTarget"),
|
3528 |
+
ctrl: Bi("!$event.ctrlKey"),
|
3529 |
+
shift: Bi("!$event.shiftKey"),
|
3530 |
+
alt: Bi("!$event.altKey"),
|
3531 |
+
meta: Bi("!$event.metaKey"),
|
3532 |
+
left: Bi("'button' in $event && $event.button !== 0"),
|
3533 |
+
middle: Bi("'button' in $event && $event.button !== 1"),
|
3534 |
+
right: Bi("'button' in $event && $event.button !== 2"),
|
3535 |
+
};
|
3536 |
+
function Wi(t, e) {
|
3537 |
+
var n,
|
3538 |
+
e = e ? "nativeOn:" : "on:",
|
3539 |
+
r = "",
|
3540 |
+
o = "";
|
3541 |
+
for (n in t) {
|
3542 |
+
var i = (function e(t) {
|
3543 |
+
if (!t) return "function(){}";
|
3544 |
+
if (Array.isArray(t))
|
3545 |
+
return (
|
3546 |
+
"[" +
|
3547 |
+
t
|
3548 |
+
.map(function (t) {
|
3549 |
+
return e(t);
|
3550 |
+
})
|
3551 |
+
.join(",") +
|
3552 |
+
"]"
|
3553 |
+
);
|
3554 |
+
var n = zi.test(t.value),
|
3555 |
+
r = Fi.test(t.value),
|
3556 |
+
o = zi.test(t.value.replace(Ri, ""));
|
3557 |
+
if (t.modifiers) {
|
3558 |
+
var i,
|
3559 |
+
a,
|
3560 |
+
s = "",
|
3561 |
+
c = "",
|
3562 |
+
l = [];
|
3563 |
+
for (i in t.modifiers)
|
3564 |
+
Vi[i]
|
3565 |
+
? ((c += Vi[i]), Hi[i] && l.push(i))
|
3566 |
+
: "exact" === i
|
3567 |
+
? ((a = t.modifiers),
|
3568 |
+
(c += Bi(
|
3569 |
+
["ctrl", "shift", "alt", "meta"]
|
3570 |
+
.filter(function (t) {
|
3571 |
+
return !a[t];
|
3572 |
+
})
|
3573 |
+
.map(function (t) {
|
3574 |
+
return "$event." + t + "Key";
|
3575 |
+
})
|
3576 |
+
.join("||")
|
3577 |
+
)))
|
3578 |
+
: l.push(i);
|
3579 |
+
return (
|
3580 |
+
l.length && (s += "if(!$event.type.indexOf('key')&&" + l.map(qi).join("&&") + ")return null;"),
|
3581 |
+
c && (s += c),
|
3582 |
+
"function($event){" + s + (n ? "return " + t.value + "($event)" : r ? "return (" + t.value + ")($event)" : o ? "return " + t.value : t.value) + "}"
|
3583 |
+
);
|
3584 |
+
}
|
3585 |
+
return n || r ? t.value : "function($event){" + (o ? "return " + t.value : t.value) + "}";
|
3586 |
+
})(t[n]);
|
3587 |
+
t[n] && t[n].dynamic ? (o += n + "," + i + ",") : (r += '"' + n + '":' + i + ",");
|
3588 |
+
}
|
3589 |
+
return (r = "{" + r.slice(0, -1) + "}"), o ? e + "_d(" + r + ",[" + o.slice(0, -1) + "])" : e + r;
|
3590 |
+
}
|
3591 |
+
function qi(t) {
|
3592 |
+
var e = parseInt(t, 10);
|
3593 |
+
if (e) return "$event.keyCode!==" + e;
|
3594 |
+
var n = Hi[t],
|
3595 |
+
e = Ui[t];
|
3596 |
+
return "_k($event.keyCode," + JSON.stringify(t) + "," + JSON.stringify(n) + ",$event.key," + JSON.stringify(e) + ")";
|
3597 |
+
}
|
3598 |
+
var Ji = {
|
3599 |
+
on: function (t, e) {
|
3600 |
+
t.wrapListeners = function (t) {
|
3601 |
+
return "_g(" + t + "," + e.value + ")";
|
3602 |
+
};
|
3603 |
+
},
|
3604 |
+
bind: function (e, n) {
|
3605 |
+
e.wrapData = function (t) {
|
3606 |
+
return "_b(" + t + ",'" + e.tag + "'," + n.value + "," + (n.modifiers && n.modifiers.prop ? "true" : "false") + (n.modifiers && n.modifiers.sync ? ",true" : "") + ")";
|
3607 |
+
};
|
3608 |
+
},
|
3609 |
+
cloak: $,
|
3610 |
+
},
|
3611 |
+
Gi = function (t) {
|
3612 |
+
(this.options = t), (this.warn = t.warn || hr), (this.transforms = vr(t.modules, "transformCode")), (this.dataGenFns = vr(t.modules, "genData")), (this.directives = w(w({}, Ji), t.directives));
|
3613 |
+
var e = t.isReservedTag || k;
|
3614 |
+
(this.maybeComponent = function (t) {
|
3615 |
+
return !!t.component || !e(t.tag);
|
3616 |
+
}),
|
3617 |
+
(this.onceId = 0),
|
3618 |
+
(this.staticRenderFns = []),
|
3619 |
+
(this.pre = !1);
|
3620 |
+
};
|
3621 |
+
function Ki(t, e) {
|
3622 |
+
e = new Gi(e);
|
3623 |
+
return { render: "with(this){return " + (t ? Xi(t, e) : '_c("div")') + "}", staticRenderFns: e.staticRenderFns };
|
3624 |
+
}
|
3625 |
+
function Xi(t, e) {
|
3626 |
+
if ((t.parent && (t.pre = t.pre || t.parent.pre), t.staticRoot && !t.staticProcessed)) return Qi(t, e);
|
3627 |
+
if (t.once && !t.onceProcessed) return Yi(t, e);
|
3628 |
+
if (t.for && !t.forProcessed) return ta(t, e);
|
3629 |
+
if (t.if && !t.ifProcessed) return Zi(t, e);
|
3630 |
+
if ("template" !== t.tag || t.slotTarget || e.pre) {
|
3631 |
+
if ("slot" === t.tag)
|
3632 |
+
return (
|
3633 |
+
(s = "_t(" + ((l = t).slotName || '"default"') + ((a = oa(l, e)) ? "," + a : "")),
|
3634 |
+
(c =
|
3635 |
+
l.attrs || l.dynamicAttrs
|
3636 |
+
? sa(
|
3637 |
+
(l.attrs || []).concat(l.dynamicAttrs || []).map(function (t) {
|
3638 |
+
return { name: m(t.name), value: t.value, dynamic: t.dynamic };
|
3639 |
+
})
|
3640 |
+
)
|
3641 |
+
: null),
|
3642 |
+
(l = l.attrsMap["v-bind"]),
|
3643 |
+
(!c && !l) || a || (s += ",null"),
|
3644 |
+
c && (s += "," + c),
|
3645 |
+
l && (s += (c ? "" : ",null") + "," + l),
|
3646 |
+
s + ")"
|
3647 |
+
);
|
3648 |
+
var n, r;
|
3649 |
+
r = t.component
|
3650 |
+
? ((c = t.component), (l = e), (i = (s = t).inlineTemplate ? null : oa(s, l, !0)), "_c(" + c + "," + ea(s, l) + (i ? "," + i : "") + ")")
|
3651 |
+
: ((!t.plain || (t.pre && e.maybeComponent(t))) && (n = ea(t, e)), (i = t.inlineTemplate ? null : oa(t, e, !0)), "_c('" + t.tag + "'" + (n ? "," + n : "") + (i ? "," + i : "") + ")");
|
3652 |
+
for (var o = 0; o < e.transforms.length; o++) r = e.transforms[o](t, r);
|
3653 |
+
return r;
|
3654 |
+
}
|
3655 |
+
var i, a, s, c, l;
|
3656 |
+
return oa(t, e) || "void 0";
|
3657 |
+
}
|
3658 |
+
function Qi(t, e) {
|
3659 |
+
t.staticProcessed = !0;
|
3660 |
+
var n = e.pre;
|
3661 |
+
return t.pre && (e.pre = t.pre), e.staticRenderFns.push("with(this){return " + Xi(t, e) + "}"), (e.pre = n), "_m(" + (e.staticRenderFns.length - 1) + (t.staticInFor ? ",true" : "") + ")";
|
3662 |
+
}
|
3663 |
+
function Yi(t, e) {
|
3664 |
+
if (((t.onceProcessed = !0), t.if && !t.ifProcessed)) return Zi(t, e);
|
3665 |
+
if (t.staticInFor) {
|
3666 |
+
for (var n = "", r = t.parent; r; ) {
|
3667 |
+
if (r.for) {
|
3668 |
+
n = r.key;
|
3669 |
+
break;
|
3670 |
+
}
|
3671 |
+
r = r.parent;
|
3672 |
+
}
|
3673 |
+
return n ? "_o(" + Xi(t, e) + "," + e.onceId++ + "," + n + ")" : Xi(t, e);
|
3674 |
+
}
|
3675 |
+
return Qi(t, e);
|
3676 |
+
}
|
3677 |
+
function Zi(t, e, n, r) {
|
3678 |
+
return (
|
3679 |
+
(t.ifProcessed = !0),
|
3680 |
+
(function t(e, n, r, o) {
|
3681 |
+
if (!e.length) return o || "_e()";
|
3682 |
+
var i = e.shift();
|
3683 |
+
return i.exp ? "(" + i.exp + ")?" + a(i.block) + ":" + t(e, n, r, o) : "" + a(i.block);
|
3684 |
+
function a(t) {
|
3685 |
+
return (r || (t.once ? Yi : Xi))(t, n);
|
3686 |
+
}
|
3687 |
+
})(t.ifConditions.slice(), e, n, r)
|
3688 |
+
);
|
3689 |
+
}
|
3690 |
+
function ta(t, e, n, r) {
|
3691 |
+
var o = t.for,
|
3692 |
+
i = t.alias,
|
3693 |
+
a = t.iterator1 ? "," + t.iterator1 : "",
|
3694 |
+
s = t.iterator2 ? "," + t.iterator2 : "";
|
3695 |
+
return (t.forProcessed = !0), (r || "_l") + "((" + o + "),function(" + i + a + s + "){return " + (n || Xi)(t, e) + "})";
|
3696 |
+
}
|
3697 |
+
function ea(e, n) {
|
3698 |
+
var t = "{",
|
3699 |
+
r = (function (t, e) {
|
3700 |
+
var n = t.directives;
|
3701 |
+
if (n) {
|
3702 |
+
for (var r, o, i = "directives:[", a = !1, s = 0, c = n.length; s < c; s++) {
|
3703 |
+
(r = n[s]), (o = !0);
|
3704 |
+
var l = e.directives[r.name];
|
3705 |
+
l && (o = !!l(t, r, e.warn)),
|
3706 |
+
o &&
|
3707 |
+
((a = !0),
|
3708 |
+
(i +=
|
3709 |
+
'{name:"' +
|
3710 |
+
r.name +
|
3711 |
+
'",rawName:"' +
|
3712 |
+
r.rawName +
|
3713 |
+
'"' +
|
3714 |
+
(r.value ? ",value:(" + r.value + "),expression:" + JSON.stringify(r.value) : "") +
|
3715 |
+
(r.arg ? ",arg:" + (r.isDynamicArg ? r.arg : '"' + r.arg + '"') : "") +
|
3716 |
+
(r.modifiers ? ",modifiers:" + JSON.stringify(r.modifiers) : "") +
|
3717 |
+
"},"));
|
3718 |
+
}
|
3719 |
+
return a ? i.slice(0, -1) + "]" : void 0;
|
3720 |
+
}
|
3721 |
+
})(e, n);
|
3722 |
+
r && (t += r + ","), e.key && (t += "key:" + e.key + ","), e.ref && (t += "ref:" + e.ref + ","), e.refInFor && (t += "refInFor:true,"), e.pre && (t += "pre:true,"), e.component && (t += 'tag:"' + e.tag + '",');
|
3723 |
+
for (var o, i = 0; i < n.dataGenFns.length; i++) t += n.dataGenFns[i](e);
|
3724 |
+
return (
|
3725 |
+
e.attrs && (t += "attrs:" + sa(e.attrs) + ","),
|
3726 |
+
e.props && (t += "domProps:" + sa(e.props) + ","),
|
3727 |
+
e.events && (t += Wi(e.events, !1) + ","),
|
3728 |
+
e.nativeEvents && (t += Wi(e.nativeEvents, !0) + ","),
|
3729 |
+
e.slotTarget && !e.slotScope && (t += "slot:" + e.slotTarget + ","),
|
3730 |
+
e.scopedSlots &&
|
3731 |
+
(t +=
|
3732 |
+
(function (t, e, n) {
|
3733 |
+
var r =
|
3734 |
+
t.for ||
|
3735 |
+
Object.keys(e).some(function (t) {
|
3736 |
+
t = e[t];
|
3737 |
+
return t.slotTargetDynamic || t.if || t.for || na(t);
|
3738 |
+
}),
|
3739 |
+
o = !!t.if;
|
3740 |
+
if (!r)
|
3741 |
+
for (var i = t.parent; i; ) {
|
3742 |
+
if ((i.slotScope && i.slotScope !== Oi) || i.for) {
|
3743 |
+
r = !0;
|
3744 |
+
break;
|
3745 |
+
}
|
3746 |
+
i.if && (o = !0), (i = i.parent);
|
3747 |
+
}
|
3748 |
+
t = Object.keys(e)
|
3749 |
+
.map(function (t) {
|
3750 |
+
return ra(e[t], n);
|
3751 |
+
})
|
3752 |
+
.join(",");
|
3753 |
+
return (
|
3754 |
+
"scopedSlots:_u([" +
|
3755 |
+
t +
|
3756 |
+
"]" +
|
3757 |
+
(r ? ",null,true" : "") +
|
3758 |
+
(!r && o
|
3759 |
+
? ",null,false," +
|
3760 |
+
(function (t) {
|
3761 |
+
for (var e = 5381, n = t.length; n; ) e = (33 * e) ^ t.charCodeAt(--n);
|
3762 |
+
return e >>> 0;
|
3763 |
+
})(t)
|
3764 |
+
: "") +
|
3765 |
+
")"
|
3766 |
+
);
|
3767 |
+
})(e, e.scopedSlots, n) + ","),
|
3768 |
+
e.model && (t += "model:{value:" + e.model.value + ",callback:" + e.model.callback + ",expression:" + e.model.expression + "},"),
|
3769 |
+
e.inlineTemplate &&
|
3770 |
+
(o = (function () {
|
3771 |
+
var t = e.children[0];
|
3772 |
+
if (t && 1 === t.type) {
|
3773 |
+
t = Ki(t, n.options);
|
3774 |
+
return (
|
3775 |
+
"inlineTemplate:{render:function(){" +
|
3776 |
+
t.render +
|
3777 |
+
"},staticRenderFns:[" +
|
3778 |
+
t.staticRenderFns
|
3779 |
+
.map(function (t) {
|
3780 |
+
return "function(){" + t + "}";
|
3781 |
+
})
|
3782 |
+
.join(",") +
|
3783 |
+
"]}"
|
3784 |
+
);
|
3785 |
+
}
|
3786 |
+
})()) &&
|
3787 |
+
(t += o + ","),
|
3788 |
+
(t = t.replace(/,$/, "") + "}"),
|
3789 |
+
e.dynamicAttrs && (t = "_b(" + t + ',"' + e.tag + '",' + sa(e.dynamicAttrs) + ")"),
|
3790 |
+
e.wrapData && (t = e.wrapData(t)),
|
3791 |
+
e.wrapListeners && (t = e.wrapListeners(t)),
|
3792 |
+
t
|
3793 |
+
);
|
3794 |
+
}
|
3795 |
+
function na(t) {
|
3796 |
+
return 1 === t.type && ("slot" === t.tag || t.children.some(na));
|
3797 |
+
}
|
3798 |
+
function ra(t, e) {
|
3799 |
+
var n = t.attrsMap["slot-scope"];
|
3800 |
+
if (t.if && !t.ifProcessed && !n) return Zi(t, e, ra, "null");
|
3801 |
+
if (t.for && !t.forProcessed) return ta(t, e, ra);
|
3802 |
+
var r = t.slotScope === Oi ? "" : String(t.slotScope),
|
3803 |
+
e = "function(" + r + "){return " + ("template" === t.tag ? (t.if && n ? "(" + t.if + ")?" + (oa(t, e) || "undefined") + ":undefined" : oa(t, e) || "undefined") : Xi(t, e)) + "}",
|
3804 |
+
r = r ? "" : ",proxy:true";
|
3805 |
+
return "{key:" + (t.slotTarget || '"default"') + ",fn:" + e + r + "}";
|
3806 |
+
}
|
3807 |
+
function oa(t, e, n, r, o) {
|
3808 |
+
var i = t.children;
|
3809 |
+
if (i.length) {
|
3810 |
+
var a = i[0];
|
3811 |
+
if (1 === i.length && a.for && "template" !== a.tag && "slot" !== a.tag) {
|
3812 |
+
t = n ? (e.maybeComponent(a) ? ",1" : ",0") : "";
|
3813 |
+
return (r || Xi)(a, e) + t;
|
3814 |
+
}
|
3815 |
+
var n = n
|
3816 |
+
? (function (t, e) {
|
3817 |
+
for (var n = 0, r = 0; r < t.length; r++) {
|
3818 |
+
var o = t[r];
|
3819 |
+
if (1 === o.type) {
|
3820 |
+
if (
|
3821 |
+
ia(o) ||
|
3822 |
+
(o.ifConditions &&
|
3823 |
+
o.ifConditions.some(function (t) {
|
3824 |
+
return ia(t.block);
|
3825 |
+
}))
|
3826 |
+
) {
|
3827 |
+
n = 2;
|
3828 |
+
break;
|
3829 |
+
}
|
3830 |
+
(e(o) ||
|
3831 |
+
(o.ifConditions &&
|
3832 |
+
o.ifConditions.some(function (t) {
|
3833 |
+
return e(t.block);
|
3834 |
+
}))) &&
|
3835 |
+
(n = 1);
|
3836 |
+
}
|
3837 |
+
}
|
3838 |
+
return n;
|
3839 |
+
})(i, e.maybeComponent)
|
3840 |
+
: 0,
|
3841 |
+
s = o || aa;
|
3842 |
+
return (
|
3843 |
+
"[" +
|
3844 |
+
i
|
3845 |
+
.map(function (t) {
|
3846 |
+
return s(t, e);
|
3847 |
+
})
|
3848 |
+
.join(",") +
|
3849 |
+
"]" +
|
3850 |
+
(n ? "," + n : "")
|
3851 |
+
);
|
3852 |
+
}
|
3853 |
+
}
|
3854 |
+
function ia(t) {
|
3855 |
+
return void 0 !== t.for || "template" === t.tag || "slot" === t.tag;
|
3856 |
+
}
|
3857 |
+
function aa(t, e) {
|
3858 |
+
return 1 === t.type ? Xi(t, e) : 3 === t.type && t.isComment ? "_e(" + JSON.stringify(t.text) + ")" : "_v(" + (2 === t.type ? t.expression : ca(JSON.stringify(t.text))) + ")";
|
3859 |
+
}
|
3860 |
+
function sa(t) {
|
3861 |
+
for (var e = "", n = "", r = 0; r < t.length; r++) {
|
3862 |
+
var o = t[r],
|
3863 |
+
i = ca(o.value);
|
3864 |
+
o.dynamic ? (n += o.name + "," + i + ",") : (e += '"' + o.name + '":' + i + ",");
|
3865 |
+
}
|
3866 |
+
return (e = "{" + e.slice(0, -1) + "}"), n ? "_d(" + e + ",[" + n.slice(0, -1) + "])" : e;
|
3867 |
+
}
|
3868 |
+
function ca(t) {
|
3869 |
+
return t.replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
|
3870 |
+
}
|
3871 |
+
function la(e, n) {
|
3872 |
+
try {
|
3873 |
+
return new Function(e);
|
3874 |
+
} catch (t) {
|
3875 |
+
return n.push({ err: t, code: e }), $;
|
3876 |
+
}
|
3877 |
+
}
|
3878 |
+
new RegExp(
|
3879 |
+
"\\b" +
|
3880 |
+
"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b") +
|
3881 |
+
"\\b"
|
3882 |
+
);
|
3883 |
+
var ua,
|
3884 |
+
fa,
|
3885 |
+
pa,
|
3886 |
+
da,
|
3887 |
+
ha,
|
3888 |
+
va =
|
3889 |
+
((ua = function (t, e) {
|
3890 |
+
var n,
|
3891 |
+
r = (function (t, l) {
|
3892 |
+
(Ho = l.warn || hr),
|
3893 |
+
(qo = l.isPreTag || k),
|
3894 |
+
(Jo = l.mustUseProp || k),
|
3895 |
+
(Go = l.getTagNamespace || k),
|
3896 |
+
l.isReservedTag,
|
3897 |
+
(Bo = vr(l.modules, "transformNode")),
|
3898 |
+
(Vo = vr(l.modules, "preTransformNode")),
|
3899 |
+
(Wo = vr(l.modules, "postTransformNode")),
|
3900 |
+
(Uo = l.delimiters);
|
3901 |
+
var u,
|
3902 |
+
f,
|
3903 |
+
p = [],
|
3904 |
+
a = !1 !== l.preserveWhitespace,
|
3905 |
+
s = l.whitespace,
|
3906 |
+
d = !1,
|
3907 |
+
h = !1;
|
3908 |
+
function v(t) {
|
3909 |
+
var e, n;
|
3910 |
+
o(t),
|
3911 |
+
d || t.processed || (t = Si(t, l)),
|
3912 |
+
p.length || t === u || (u.if && (t.elseif || t.else) && ji(u, { exp: t.elseif, block: t })),
|
3913 |
+
f &&
|
3914 |
+
!t.forbidden &&
|
3915 |
+
(t.elseif || t.else
|
3916 |
+
? ((e = t),
|
3917 |
+
(n = (function (t) {
|
3918 |
+
for (var e = t.length; e--; ) {
|
3919 |
+
if (1 === t[e].type) return t[e];
|
3920 |
+
t.pop();
|
3921 |
+
}
|
3922 |
+
})(f.children)) &&
|
3923 |
+
n.if &&
|
3924 |
+
ji(n, { exp: e.elseif, block: e }))
|
3925 |
+
: (t.slotScope && ((e = t.slotTarget || '"default"'), ((f.scopedSlots || (f.scopedSlots = {}))[e] = t)), f.children.push(t), (t.parent = f))),
|
3926 |
+
(t.children = t.children.filter(function (t) {
|
3927 |
+
return !t.slotScope;
|
3928 |
+
})),
|
3929 |
+
o(t),
|
3930 |
+
t.pre && (d = !1),
|
3931 |
+
qo(t.tag) && (h = !1);
|
3932 |
+
for (var r = 0; r < Wo.length; r++) Wo[r](t, l);
|
3933 |
+
}
|
3934 |
+
function o(t) {
|
3935 |
+
if (!h) for (var e; (e = t.children[t.children.length - 1]) && 3 === e.type && " " === e.text; ) t.children.pop();
|
3936 |
+
}
|
3937 |
+
return (
|
3938 |
+
(function (o, l) {
|
3939 |
+
for (var t, u, f = [], p = l.expectHTML, d = l.isUnaryTag || k, h = l.canBeLeftOpenTag || k, a = 0; o; ) {
|
3940 |
+
if (((t = o), u && si(u))) {
|
3941 |
+
var r = 0,
|
3942 |
+
i = u.toLowerCase(),
|
3943 |
+
e = ci[i] || (ci[i] = new RegExp("([\\s\\S]*?)(</" + i + "[^>]*>)", "i")),
|
3944 |
+
e = o.replace(e, function (t, e, n) {
|
3945 |
+
return (
|
3946 |
+
(r = n.length),
|
3947 |
+
si(i) || "noscript" === i || (e = e.replace(/<!\--([\s\S]*?)-->/g, "$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g, "$1")),
|
3948 |
+
Ro(i, e) && (e = e.slice(1)),
|
3949 |
+
l.chars && l.chars(e),
|
3950 |
+
""
|
3951 |
+
);
|
3952 |
+
});
|
3953 |
+
(a += o.length - e.length), (o = e), g(i, a - r, a);
|
3954 |
+
} else {
|
3955 |
+
var n = o.indexOf("<");
|
3956 |
+
if (0 === n) {
|
3957 |
+
if (ii.test(o)) {
|
3958 |
+
e = o.indexOf("--\x3e");
|
3959 |
+
if (0 <= e) {
|
3960 |
+
l.shouldKeepComment && l.comment(o.substring(4, e), a, a + e + 3), y(e + 3);
|
3961 |
+
continue;
|
3962 |
+
}
|
3963 |
+
}
|
3964 |
+
if (ai.test(o)) {
|
3965 |
+
var s = o.indexOf("]>");
|
3966 |
+
if (0 <= s) {
|
3967 |
+
y(s + 2);
|
3968 |
+
continue;
|
3969 |
+
}
|
3970 |
+
}
|
3971 |
+
s = o.match(oi);
|
3972 |
+
if (s) {
|
3973 |
+
y(s[0].length);
|
3974 |
+
continue;
|
3975 |
+
}
|
3976 |
+
s = o.match(ri);
|
3977 |
+
if (s) {
|
3978 |
+
var c = a;
|
3979 |
+
y(s[0].length), g(s[1], c, a);
|
3980 |
+
continue;
|
3981 |
+
}
|
3982 |
+
c = (function () {
|
3983 |
+
var t = o.match(ei);
|
3984 |
+
if (t) {
|
3985 |
+
var e,
|
3986 |
+
n,
|
3987 |
+
r = { tagName: t[1], attrs: [], start: a };
|
3988 |
+
for (y(t[0].length); !(e = o.match(ni)) && (n = o.match(ti) || o.match(Zo)); ) (n.start = a), y(n[0].length), (n.end = a), r.attrs.push(n);
|
3989 |
+
if (e) return (r.unarySlash = e[1]), y(e[0].length), (r.end = a), r;
|
3990 |
+
}
|
3991 |
+
})();
|
3992 |
+
if (c) {
|
3993 |
+
(function (t) {
|
3994 |
+
var e = t.tagName,
|
3995 |
+
n = t.unarySlash;
|
3996 |
+
p && ("p" === u && Yo(e) && g(u), h(e) && u === e && g(e));
|
3997 |
+
for (var n = d(e) || !!n, r = t.attrs.length, o = new Array(r), i = 0; i < r; i++) {
|
3998 |
+
var a = t.attrs[i],
|
3999 |
+
s = a[3] || a[4] || a[5] || "",
|
4000 |
+
c = "a" === e && "href" === a[1] ? l.shouldDecodeNewlinesForHref : l.shouldDecodeNewlines;
|
4001 |
+
o[i] = {
|
4002 |
+
name: a[1],
|
4003 |
+
value:
|
4004 |
+
((c = c ? fi : ui),
|
4005 |
+
s.replace(c, function (t) {
|
4006 |
+
return li[t];
|
4007 |
+
})),
|
4008 |
+
};
|
4009 |
+
}
|
4010 |
+
n || (f.push({ tag: e, lowerCasedTag: e.toLowerCase(), attrs: o, start: t.start, end: t.end }), (u = e)), l.start && l.start(e, o, n, t.start, t.end);
|
4011 |
+
})(c),
|
4012 |
+
Ro(c.tagName, o) && y(1);
|
4013 |
+
continue;
|
4014 |
+
}
|
4015 |
+
}
|
4016 |
+
var c = void 0,
|
4017 |
+
v = void 0,
|
4018 |
+
m = void 0;
|
4019 |
+
if (0 <= n) {
|
4020 |
+
for (v = o.slice(n); !(ri.test(v) || ei.test(v) || ii.test(v) || ai.test(v) || (m = v.indexOf("<", 1)) < 0); ) (n += m), (v = o.slice(n));
|
4021 |
+
c = o.substring(0, n);
|
4022 |
+
}
|
4023 |
+
n < 0 && (c = o), c && y(c.length), l.chars && c && l.chars(c, a - c.length, a);
|
4024 |
+
}
|
4025 |
+
if (o === t) {
|
4026 |
+
l.chars && l.chars(o);
|
4027 |
+
break;
|
4028 |
+
}
|
4029 |
+
}
|
4030 |
+
function y(t) {
|
4031 |
+
(a += t), (o = o.substring(t));
|
4032 |
+
}
|
4033 |
+
function g(t, e, n) {
|
4034 |
+
var r, o;
|
4035 |
+
if ((null == e && (e = a), null == n && (n = a), t)) for (o = t.toLowerCase(), r = f.length - 1; 0 <= r && f[r].lowerCasedTag !== o; r--);
|
4036 |
+
else r = 0;
|
4037 |
+
if (0 <= r) {
|
4038 |
+
for (var i = f.length - 1; r <= i; i--) l.end && l.end(f[i].tag, e, n);
|
4039 |
+
(f.length = r), (u = r && f[r - 1].tag);
|
4040 |
+
} else "br" === o ? l.start && l.start(t, [], !0, e, n) : "p" === o && (l.start && l.start(t, [], !1, e, n), l.end && l.end(t, e, n));
|
4041 |
+
}
|
4042 |
+
g();
|
4043 |
+
})(t, {
|
4044 |
+
warn: Ho,
|
4045 |
+
expectHTML: l.expectHTML,
|
4046 |
+
isUnaryTag: l.isUnaryTag,
|
4047 |
+
canBeLeftOpenTag: l.canBeLeftOpenTag,
|
4048 |
+
shouldDecodeNewlines: l.shouldDecodeNewlines,
|
4049 |
+
shouldDecodeNewlinesForHref: l.shouldDecodeNewlinesForHref,
|
4050 |
+
shouldKeepComment: l.comments,
|
4051 |
+
outputSourceRange: l.outputSourceRange,
|
4052 |
+
start: function (t, e, n, r, o) {
|
4053 |
+
var i = (f && f.ns) || Go(t);
|
4054 |
+
J &&
|
4055 |
+
"svg" === i &&
|
4056 |
+
(e = (function (t) {
|
4057 |
+
for (var e = [], n = 0; n < t.length; n++) {
|
4058 |
+
var r = t[n];
|
4059 |
+
Mi.test(r.name) || ((r.name = r.name.replace(Pi, "")), e.push(r));
|
4060 |
+
}
|
4061 |
+
return e;
|
4062 |
+
})(e));
|
4063 |
+
var a = Ai(t, e, f);
|
4064 |
+
i && (a.ns = i), ("style" !== a.tag && ("script" !== a.tag || (a.attrsMap.type && "text/javascript" !== a.attrsMap.type))) || et() || (a.forbidden = !0);
|
4065 |
+
for (var s, c = 0; c < Vo.length; c++) a = Vo[c](a, l) || a;
|
4066 |
+
d || (null != xr((s = a), "v-pre") && (s.pre = !0), a.pre && (d = !0)),
|
4067 |
+
qo(a.tag) && (h = !0),
|
4068 |
+
d
|
4069 |
+
? (function (t) {
|
4070 |
+
var e = t.attrsList,
|
4071 |
+
n = e.length;
|
4072 |
+
if (n)
|
4073 |
+
for (var r = (t.attrs = new Array(n)), o = 0; o < n; o++)
|
4074 |
+
(r[o] = { name: e[o].name, value: JSON.stringify(e[o].value) }), null != e[o].start && ((r[o].start = e[o].start), (r[o].end = e[o].end));
|
4075 |
+
else t.pre || (t.plain = !0);
|
4076 |
+
})(a)
|
4077 |
+
: a.processed ||
|
4078 |
+
(Ti(a),
|
4079 |
+
(s = xr((i = a), "v-if")) ? ((i.if = s), ji(i, { exp: s, block: i })) : (null != xr(i, "v-else") && (i.else = !0), (s = xr(i, "v-else-if")) && (i.elseif = s)),
|
4080 |
+
null != xr((s = a), "v-once") && (s.once = !0)),
|
4081 |
+
(u = u || a),
|
4082 |
+
n ? v(a) : ((f = a), p.push(a));
|
4083 |
+
},
|
4084 |
+
end: function (t, e, n) {
|
4085 |
+
var r = p[p.length - 1];
|
4086 |
+
--p.length, (f = p[p.length - 1]), v(r);
|
4087 |
+
},
|
4088 |
+
chars: function (t, e, n) {
|
4089 |
+
var r, o, i;
|
4090 |
+
!f ||
|
4091 |
+
(J && "textarea" === f.tag && f.attrsMap.placeholder === t) ||
|
4092 |
+
((i = f.children),
|
4093 |
+
(t = h || t.trim() ? ("script" === f.tag || "style" === f.tag ? t : Ci(t)) : i.length ? (s ? ("condense" === s && $i.test(t) ? "" : " ") : a ? " " : "") : "") &&
|
4094 |
+
(h || "condense" !== s || (t = t.replace(ki, " ")),
|
4095 |
+
!d &&
|
4096 |
+
" " !== t &&
|
4097 |
+
(r = (function (t) {
|
4098 |
+
var e = Uo ? Qo(Uo) : Ko;
|
4099 |
+
if (e.test(t)) {
|
4100 |
+
for (var n, r, o, i = [], a = [], s = (e.lastIndex = 0); (n = e.exec(t)); ) {
|
4101 |
+
(r = n.index) > s && (a.push((o = t.slice(s, r))), i.push(JSON.stringify(o)));
|
4102 |
+
var c = dr(n[1].trim());
|
4103 |
+
i.push("_s(" + c + ")"), a.push({ "@binding": c }), (s = r + n[0].length);
|
4104 |
+
}
|
4105 |
+
return s < t.length && (a.push((o = t.slice(s))), i.push(JSON.stringify(o))), { expression: i.join("+"), tokens: a };
|
4106 |
+
}
|
4107 |
+
})(t))
|
4108 |
+
? (o = { type: 2, expression: r.expression, tokens: r.tokens, text: t })
|
4109 |
+
: (" " === t && i.length && " " === i[i.length - 1].text) || (o = { type: 3, text: t }),
|
4110 |
+
o && i.push(o)));
|
4111 |
+
},
|
4112 |
+
comment: function (t, e, n) {
|
4113 |
+
f && ((t = { type: 3, text: t, isComment: !0 }), f.children.push(t));
|
4114 |
+
},
|
4115 |
+
}),
|
4116 |
+
u
|
4117 |
+
);
|
4118 |
+
})(t.trim(), e);
|
4119 |
+
!1 !== e.optimize &&
|
4120 |
+
((n = e),
|
4121 |
+
(t = r) &&
|
4122 |
+
((Li = Di(n.staticKeys || "")),
|
4123 |
+
(Ni = n.isReservedTag || k),
|
4124 |
+
(function t(e) {
|
4125 |
+
var n;
|
4126 |
+
if (
|
4127 |
+
((e.static =
|
4128 |
+
2 !== (n = e).type &&
|
4129 |
+
(3 === n.type ||
|
4130 |
+
!(
|
4131 |
+
!n.pre &&
|
4132 |
+
(n.hasBindings ||
|
4133 |
+
n.if ||
|
4134 |
+
n.for ||
|
4135 |
+
u(n.tag) ||
|
4136 |
+
!Ni(n.tag) ||
|
4137 |
+
(function (t) {
|
4138 |
+
for (; t.parent; ) {
|
4139 |
+
if ("template" !== (t = t.parent).tag) return;
|
4140 |
+
if (t.for) return 1;
|
4141 |
+
}
|
4142 |
+
})(n) ||
|
4143 |
+
!Object.keys(n).every(Li))
|
4144 |
+
))),
|
4145 |
+
1 === e.type && (Ni(e.tag) || "slot" === e.tag || null != e.attrsMap["inline-template"]))
|
4146 |
+
) {
|
4147 |
+
for (var r = 0, o = e.children.length; r < o; r++) {
|
4148 |
+
var i = e.children[r];
|
4149 |
+
t(i), i.static || (e.static = !1);
|
4150 |
+
}
|
4151 |
+
if (e.ifConditions)
|
4152 |
+
for (var a = 1, s = e.ifConditions.length; a < s; a++) {
|
4153 |
+
var c = e.ifConditions[a].block;
|
4154 |
+
t(c), c.static || (e.static = !1);
|
4155 |
+
}
|
4156 |
+
}
|
4157 |
+
})(t),
|
4158 |
+
(function t(e, n) {
|
4159 |
+
if (1 === e.type) {
|
4160 |
+
if (((e.static || e.once) && (e.staticInFor = n), e.static && e.children.length && (1 !== e.children.length || 3 !== e.children[0].type))) return (e.staticRoot = !0), 0;
|
4161 |
+
if (((e.staticRoot = !1), e.children)) for (var r = 0, o = e.children.length; r < o; r++) t(e.children[r], n || !!e.for);
|
4162 |
+
if (e.ifConditions) for (var i = 1, a = e.ifConditions.length; i < a; i++) t(e.ifConditions[i].block, n);
|
4163 |
+
}
|
4164 |
+
})(t, !1)));
|
4165 |
+
e = Ki(r, e);
|
4166 |
+
return { ast: r, render: e.render, staticRenderFns: e.staticRenderFns };
|
4167 |
+
}),
|
4168 |
+
(ha = Gt),
|
4169 |
+
(pa = ma),
|
4170 |
+
(da = Object.create(null)),
|
4171 |
+
function (t, e, n) {
|
4172 |
+
(e = w({}, e)).warn, delete e.warn;
|
4173 |
+
var r = e.delimiters ? String(e.delimiters) + t : t;
|
4174 |
+
if (da[r]) return da[r];
|
4175 |
+
var t = pa(t, e),
|
4176 |
+
e = {},
|
4177 |
+
o = [];
|
4178 |
+
return (
|
4179 |
+
(e.render = la(t.render, o)),
|
4180 |
+
(e.staticRenderFns = t.staticRenderFns.map(function (t) {
|
4181 |
+
return la(t, o);
|
4182 |
+
})),
|
4183 |
+
(da[r] = e)
|
4184 |
+
);
|
4185 |
+
});
|
4186 |
+
function ma(t, e) {
|
4187 |
+
var n = Object.create(ha),
|
4188 |
+
r = [],
|
4189 |
+
o = [];
|
4190 |
+
if (e)
|
4191 |
+
for (var i in (e.modules && (n.modules = (ha.modules || []).concat(e.modules)), e.directives && (n.directives = w(Object.create(ha.directives || null), e.directives)), e)) "modules" !== i && "directives" !== i && (n[i] = e[i]);
|
4192 |
+
n.warn = function (t, e, n) {
|
4193 |
+
(n ? o : r).push(t);
|
4194 |
+
};
|
4195 |
+
t = ua(t.trim(), n);
|
4196 |
+
return (t.errors = r), (t.tips = o), t;
|
4197 |
+
}
|
4198 |
+
function ya(t) {
|
4199 |
+
return ((fa = fa || document.createElement("div")).innerHTML = t ? '<a href="\n"/>' : '<div a="\n"/>'), 0 < fa.innerHTML.indexOf(" ");
|
4200 |
+
}
|
4201 |
+
var ga = !!B && ya(!1),
|
4202 |
+
_a = !!B && ya(!0),
|
4203 |
+
ba = t(function (t) {
|
4204 |
+
t = Jn(t);
|
4205 |
+
return t && t.innerHTML;
|
4206 |
+
}),
|
4207 |
+
wa = _n.prototype.$mount;
|
4208 |
+
return (
|
4209 |
+
(_n.prototype.$mount = function (t, e) {
|
4210 |
+
if ((t = t && Jn(t)) === document.body || t === document.documentElement) return this;
|
4211 |
+
var n = this.$options;
|
4212 |
+
if (!n.render) {
|
4213 |
+
var r,
|
4214 |
+
o = n.template;
|
4215 |
+
if (o)
|
4216 |
+
if ("string" == typeof o) "#" === o.charAt(0) && (o = ba(o));
|
4217 |
+
else {
|
4218 |
+
if (!o.nodeType) return this;
|
4219 |
+
o = o.innerHTML;
|
4220 |
+
}
|
4221 |
+
else
|
4222 |
+
t &&
|
4223 |
+
(o = (function (t) {
|
4224 |
+
if (t.outerHTML) return t.outerHTML;
|
4225 |
+
var e = document.createElement("div");
|
4226 |
+
return e.appendChild(t.cloneNode(!0)), e.innerHTML;
|
4227 |
+
})(t));
|
4228 |
+
o &&
|
4229 |
+
((o = (r = va(o, { outputSourceRange: !1, shouldDecodeNewlines: ga, shouldDecodeNewlinesForHref: _a, delimiters: n.delimiters, comments: n.comments }, this)).render),
|
4230 |
+
(r = r.staticRenderFns),
|
4231 |
+
(n.render = o),
|
4232 |
+
(n.staticRenderFns = r));
|
4233 |
+
}
|
4234 |
+
return wa.call(this, t, e);
|
4235 |
+
}),
|
4236 |
+
(_n.compile = va),
|
4237 |
+
_n
|
4238 |
+
);
|
4239 |
+
}),
|
4240 |
+
(function (t, e) {
|
4241 |
+
"object" == typeof exports && "undefined" != typeof module ? (module.exports = e()) : "function" == typeof define && define.amd ? define(e) : ((t = t || self).Vuex = e());
|
4242 |
+
})(this, function () {
|
4243 |
+
"use strict";
|
4244 |
+
var l = "undefined" != typeof window && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
|
4245 |
+
function s(e, n) {
|
4246 |
+
Object.keys(e).forEach(function (t) {
|
4247 |
+
return n(e[t], t);
|
4248 |
+
});
|
4249 |
+
}
|
4250 |
+
function u(t, e) {
|
4251 |
+
if (!t) throw new Error("[vuex] " + e);
|
4252 |
+
}
|
4253 |
+
function i(t, e) {
|
4254 |
+
(this.runtime = e), (this._children = Object.create(null)), (t = (this._rawModule = t).state), (this.state = ("function" == typeof t ? t() : t) || {});
|
4255 |
+
}
|
4256 |
+
var t = { namespaced: { configurable: !0 } };
|
4257 |
+
(t.namespaced.get = function () {
|
4258 |
+
return !!this._rawModule.namespaced;
|
4259 |
+
}),
|
4260 |
+
(i.prototype.addChild = function (t, e) {
|
4261 |
+
this._children[t] = e;
|
4262 |
+
}),
|
4263 |
+
(i.prototype.removeChild = function (t) {
|
4264 |
+
delete this._children[t];
|
4265 |
+
}),
|
4266 |
+
(i.prototype.getChild = function (t) {
|
4267 |
+
return this._children[t];
|
4268 |
+
}),
|
4269 |
+
(i.prototype.update = function (t) {
|
4270 |
+
(this._rawModule.namespaced = t.namespaced), t.actions && (this._rawModule.actions = t.actions), t.mutations && (this._rawModule.mutations = t.mutations), t.getters && (this._rawModule.getters = t.getters);
|
4271 |
+
}),
|
4272 |
+
(i.prototype.forEachChild = function (t) {
|
4273 |
+
s(this._children, t);
|
4274 |
+
}),
|
4275 |
+
(i.prototype.forEachGetter = function (t) {
|
4276 |
+
this._rawModule.getters && s(this._rawModule.getters, t);
|
4277 |
+
}),
|
4278 |
+
(i.prototype.forEachAction = function (t) {
|
4279 |
+
this._rawModule.actions && s(this._rawModule.actions, t);
|
4280 |
+
}),
|
4281 |
+
(i.prototype.forEachMutation = function (t) {
|
4282 |
+
this._rawModule.mutations && s(this._rawModule.mutations, t);
|
4283 |
+
}),
|
4284 |
+
Object.defineProperties(i.prototype, t);
|
4285 |
+
function f(t) {
|
4286 |
+
this.register([], t, !1);
|
4287 |
+
}
|
4288 |
+
(f.prototype.get = function (t) {
|
4289 |
+
return t.reduce(function (t, e) {
|
4290 |
+
return t.getChild(e);
|
4291 |
+
}, this.root);
|
4292 |
+
}),
|
4293 |
+
(f.prototype.getNamespace = function (t) {
|
4294 |
+
var n = this.root;
|
4295 |
+
return t.reduce(function (t, e) {
|
4296 |
+
return t + ((n = n.getChild(e)).namespaced ? e + "/" : "");
|
4297 |
+
}, "");
|
4298 |
+
}),
|
4299 |
+
(f.prototype.update = function (t) {
|
4300 |
+
!(function t(e, n, r) {
|
4301 |
+
c(e, r);
|
4302 |
+
n.update(r);
|
4303 |
+
if (r.modules)
|
4304 |
+
for (var o in r.modules) {
|
4305 |
+
if (!n.getChild(o)) return void console.warn("[vuex] trying to add a new module '" + o + "' on hot reloading, manual reload is needed");
|
4306 |
+
t(e.concat(o), n.getChild(o), r.modules[o]);
|
4307 |
+
}
|
4308 |
+
})([], this.root, t);
|
4309 |
+
}),
|
4310 |
+
(f.prototype.register = function (n, t, r) {
|
4311 |
+
var o = this;
|
4312 |
+
void 0 === r && (r = !0), c(n, t);
|
4313 |
+
var e = new i(t, r);
|
4314 |
+
0 === n.length ? (this.root = e) : this.get(n.slice(0, -1)).addChild(n[n.length - 1], e),
|
4315 |
+
t.modules &&
|
4316 |
+
s(t.modules, function (t, e) {
|
4317 |
+
o.register(n.concat(e), t, r);
|
4318 |
+
});
|
4319 |
+
}),
|
4320 |
+
(f.prototype.unregister = function (t) {
|
4321 |
+
var e = this.get(t.slice(0, -1)),
|
4322 |
+
t = t[t.length - 1];
|
4323 |
+
e.getChild(t).runtime && e.removeChild(t);
|
4324 |
+
});
|
4325 |
+
var h,
|
4326 |
+
e = {
|
4327 |
+
assert: function (t) {
|
4328 |
+
return "function" == typeof t;
|
4329 |
+
},
|
4330 |
+
expected: "function",
|
4331 |
+
},
|
4332 |
+
a = {
|
4333 |
+
getters: e,
|
4334 |
+
mutations: e,
|
4335 |
+
actions: {
|
4336 |
+
assert: function (t) {
|
4337 |
+
return "function" == typeof t || ("object" == typeof t && "function" == typeof t.handler);
|
4338 |
+
},
|
4339 |
+
expected: 'function or object with "handler" function',
|
4340 |
+
},
|
4341 |
+
};
|
4342 |
+
function c(o, t) {
|
4343 |
+
Object.keys(a).forEach(function (n) {
|
4344 |
+
var r;
|
4345 |
+
t[n] &&
|
4346 |
+
((r = a[n]),
|
4347 |
+
s(t[n], function (t, e) {
|
4348 |
+
u(
|
4349 |
+
r.assert(t),
|
4350 |
+
(function (t, e, n, r, o) {
|
4351 |
+
n = e + " should be " + o + ' but "' + e + "." + n + '"';
|
4352 |
+
0 < t.length && (n += ' in module "' + t.join(".") + '"');
|
4353 |
+
return (n += " is " + JSON.stringify(r) + ".");
|
4354 |
+
})(o, n, e, t, r.expected)
|
4355 |
+
);
|
4356 |
+
}));
|
4357 |
+
});
|
4358 |
+
}
|
4359 |
+
(t = function t(e) {
|
4360 |
+
var n = this;
|
4361 |
+
void 0 === e && (e = {}),
|
4362 |
+
!h && "undefined" != typeof window && window.Vue && d(window.Vue),
|
4363 |
+
u(h, "must call Vue.use(Vuex) before creating a store instance."),
|
4364 |
+
u("undefined" != typeof Promise, "vuex requires a Promise polyfill in this browser."),
|
4365 |
+
u(this instanceof t, "store must be called with the new operator.");
|
4366 |
+
var r = e.plugins;
|
4367 |
+
void 0 === r && (r = []);
|
4368 |
+
var o = e.strict;
|
4369 |
+
void 0 === o && (o = !1),
|
4370 |
+
(this._committing = !1),
|
4371 |
+
(this._actions = Object.create(null)),
|
4372 |
+
(this._actionSubscribers = []),
|
4373 |
+
(this._mutations = Object.create(null)),
|
4374 |
+
(this._wrappedGetters = Object.create(null)),
|
4375 |
+
(this._modules = new f(e)),
|
4376 |
+
(this._modulesNamespaceMap = Object.create(null)),
|
4377 |
+
(this._subscribers = []),
|
4378 |
+
(this._watcherVM = new h());
|
4379 |
+
var i = this,
|
4380 |
+
a = this.dispatch,
|
4381 |
+
s = this.commit;
|
4382 |
+
(this.dispatch = function (t, e) {
|
4383 |
+
return a.call(i, t, e);
|
4384 |
+
}),
|
4385 |
+
(this.commit = function (t, e, n) {
|
4386 |
+
return s.call(i, t, e, n);
|
4387 |
+
}),
|
4388 |
+
(this.strict = o);
|
4389 |
+
var c,
|
4390 |
+
o = this._modules.root.state;
|
4391 |
+
v(this, o, [], this._modules.root),
|
4392 |
+
p(this, o),
|
4393 |
+
r.forEach(function (t) {
|
4394 |
+
return t(n);
|
4395 |
+
}),
|
4396 |
+
(void 0 !== e.devtools ? e : h.config).devtools &&
|
4397 |
+
((c = this),
|
4398 |
+
l &&
|
4399 |
+
((c._devtoolHook = l).emit("vuex:init", c),
|
4400 |
+
l.on("vuex:travel-to-state", function (t) {
|
4401 |
+
c.replaceState(t);
|
4402 |
+
}),
|
4403 |
+
c.subscribe(function (t, e) {
|
4404 |
+
l.emit("vuex:mutation", t, e);
|
4405 |
+
})));
|
4406 |
+
}),
|
4407 |
+
(e = { state: { configurable: !0 } });
|
4408 |
+
function n(e, n) {
|
4409 |
+
return (
|
4410 |
+
n.indexOf(e) < 0 && n.push(e),
|
4411 |
+
function () {
|
4412 |
+
var t = n.indexOf(e);
|
4413 |
+
-1 < t && n.splice(t, 1);
|
4414 |
+
}
|
4415 |
+
);
|
4416 |
+
}
|
4417 |
+
function r(t, e) {
|
4418 |
+
(t._actions = Object.create(null)), (t._mutations = Object.create(null)), (t._wrappedGetters = Object.create(null)), (t._modulesNamespaceMap = Object.create(null));
|
4419 |
+
var n = t.state;
|
4420 |
+
v(t, n, [], t._modules.root, !0), p(t, n, e);
|
4421 |
+
}
|
4422 |
+
function p(n, t, e) {
|
4423 |
+
var r = n._vm;
|
4424 |
+
n.getters = {};
|
4425 |
+
var o = n._wrappedGetters,
|
4426 |
+
i = {};
|
4427 |
+
s(o, function (t, e) {
|
4428 |
+
(i[e] = function () {
|
4429 |
+
return t(n);
|
4430 |
+
}),
|
4431 |
+
Object.defineProperty(n.getters, e, {
|
4432 |
+
get: function () {
|
4433 |
+
return n._vm[e];
|
4434 |
+
},
|
4435 |
+
enumerable: !0,
|
4436 |
+
});
|
4437 |
+
});
|
4438 |
+
var a,
|
4439 |
+
o = h.config.silent;
|
4440 |
+
(h.config.silent = !0),
|
4441 |
+
(n._vm = new h({ data: { $$state: t }, computed: i })),
|
4442 |
+
(h.config.silent = o),
|
4443 |
+
n.strict &&
|
4444 |
+
(a = n)._vm.$watch(
|
4445 |
+
function () {
|
4446 |
+
return this._data.$$state;
|
4447 |
+
},
|
4448 |
+
function () {
|
4449 |
+
u(a._committing, "do not mutate vuex store state outside mutation handlers.");
|
4450 |
+
},
|
4451 |
+
{ deep: !0, sync: !0 }
|
4452 |
+
),
|
4453 |
+
r &&
|
4454 |
+
(e &&
|
4455 |
+
n._withCommit(function () {
|
4456 |
+
r._data.$$state = null;
|
4457 |
+
}),
|
4458 |
+
h.nextTick(function () {
|
4459 |
+
return r.$destroy();
|
4460 |
+
}));
|
4461 |
+
}
|
4462 |
+
function v(i, n, r, t, o) {
|
4463 |
+
var e,
|
4464 |
+
a,
|
4465 |
+
s = !r.length,
|
4466 |
+
c = i._modules.getNamespace(r);
|
4467 |
+
t.namespaced && (i._modulesNamespaceMap[c] = t),
|
4468 |
+
s ||
|
4469 |
+
o ||
|
4470 |
+
((e = m(n, r.slice(0, -1))),
|
4471 |
+
(a = r[r.length - 1]),
|
4472 |
+
i._withCommit(function () {
|
4473 |
+
h.set(e, a, t.state);
|
4474 |
+
}));
|
4475 |
+
var l,
|
4476 |
+
u,
|
4477 |
+
f,
|
4478 |
+
p,
|
4479 |
+
d = (t.context =
|
4480 |
+
((l = i),
|
4481 |
+
(f = r),
|
4482 |
+
(s = {
|
4483 |
+
dispatch: (p = "" === (u = c))
|
4484 |
+
? l.dispatch
|
4485 |
+
: function (t, e, n) {
|
4486 |
+
var r = y(t, e, n),
|
4487 |
+
t = r.payload,
|
4488 |
+
e = r.options,
|
4489 |
+
n = r.type;
|
4490 |
+
if ((e && e.root) || ((n = u + n), l._actions[n])) return l.dispatch(n, t);
|
4491 |
+
console.error("[vuex] unknown local action type: " + r.type + ", global type: " + n);
|
4492 |
+
},
|
4493 |
+
commit: p
|
4494 |
+
? l.commit
|
4495 |
+
: function (t, e, n) {
|
4496 |
+
var r = y(t, e, n),
|
4497 |
+
t = r.payload,
|
4498 |
+
e = r.options,
|
4499 |
+
n = r.type;
|
4500 |
+
(e && e.root) || ((n = u + n), l._mutations[n]) ? l.commit(n, t, e) : console.error("[vuex] unknown local mutation type: " + r.type + ", global type: " + n);
|
4501 |
+
},
|
4502 |
+
}),
|
4503 |
+
Object.defineProperties(s, {
|
4504 |
+
getters: {
|
4505 |
+
get: p
|
4506 |
+
? function () {
|
4507 |
+
return l.getters;
|
4508 |
+
}
|
4509 |
+
: function () {
|
4510 |
+
return (
|
4511 |
+
(n = l),
|
4512 |
+
(o = {}),
|
4513 |
+
(i = (r = u).length),
|
4514 |
+
Object.keys(n.getters).forEach(function (t) {
|
4515 |
+
var e;
|
4516 |
+
t.slice(0, i) === r &&
|
4517 |
+
((e = t.slice(i)),
|
4518 |
+
Object.defineProperty(o, e, {
|
4519 |
+
get: function () {
|
4520 |
+
return n.getters[t];
|
4521 |
+
},
|
4522 |
+
enumerable: !0,
|
4523 |
+
}));
|
4524 |
+
}),
|
4525 |
+
o
|
4526 |
+
);
|
4527 |
+
var n, r, o, i;
|
4528 |
+
},
|
4529 |
+
},
|
4530 |
+
state: {
|
4531 |
+
get: function () {
|
4532 |
+
return m(l.state, f);
|
4533 |
+
},
|
4534 |
+
},
|
4535 |
+
}),
|
4536 |
+
s));
|
4537 |
+
t.forEachMutation(function (t, e) {
|
4538 |
+
var n, r, o;
|
4539 |
+
(e = c + e),
|
4540 |
+
(r = t),
|
4541 |
+
(o = d),
|
4542 |
+
((n = i)._mutations[e] || (n._mutations[e] = [])).push(function (t) {
|
4543 |
+
r.call(n, o.state, t);
|
4544 |
+
});
|
4545 |
+
}),
|
4546 |
+
t.forEachAction(function (t, e) {
|
4547 |
+
var n,
|
4548 |
+
r,
|
4549 |
+
o,
|
4550 |
+
e = t.root ? e : c + e,
|
4551 |
+
t = t.handler || t;
|
4552 |
+
(e = e),
|
4553 |
+
(r = t),
|
4554 |
+
(o = d),
|
4555 |
+
((n = i)._actions[e] || (n._actions[e] = [])).push(function (t, e) {
|
4556 |
+
t = r.call(n, { dispatch: o.dispatch, commit: o.commit, getters: o.getters, state: o.state, rootGetters: n.getters, rootState: n.state }, t, e);
|
4557 |
+
return (
|
4558 |
+
((e = t) && "function" == typeof e.then) || (t = Promise.resolve(t)),
|
4559 |
+
n._devtoolHook
|
4560 |
+
? t.catch(function (t) {
|
4561 |
+
throw (n._devtoolHook.emit("vuex:error", t), t);
|
4562 |
+
})
|
4563 |
+
: t
|
4564 |
+
);
|
4565 |
+
});
|
4566 |
+
}),
|
4567 |
+
t.forEachGetter(function (t, e) {
|
4568 |
+
!(function (t, e, n, r) {
|
4569 |
+
if (t._wrappedGetters[e]) return console.error("[vuex] duplicate getter key: " + e);
|
4570 |
+
t._wrappedGetters[e] = function (t) {
|
4571 |
+
return n(r.state, r.getters, t.state, t.getters);
|
4572 |
+
};
|
4573 |
+
})(i, c + e, t, d);
|
4574 |
+
}),
|
4575 |
+
t.forEachChild(function (t, e) {
|
4576 |
+
v(i, n, r.concat(e), t, o);
|
4577 |
+
});
|
4578 |
+
}
|
4579 |
+
function m(t, e) {
|
4580 |
+
return e.length
|
4581 |
+
? e.reduce(function (t, e) {
|
4582 |
+
return t[e];
|
4583 |
+
}, t)
|
4584 |
+
: t;
|
4585 |
+
}
|
4586 |
+
function y(t, e, n) {
|
4587 |
+
var r;
|
4588 |
+
return null !== (r = t) && "object" == typeof r && t.type && ((n = e), (t = (e = t).type)), u("string" == typeof t, "expects string as the type, but found " + typeof t + "."), { type: t, payload: e, options: n };
|
4589 |
+
}
|
4590 |
+
function d(t) {
|
4591 |
+
var e;
|
4592 |
+
function n() {
|
4593 |
+
var t = this.$options;
|
4594 |
+
t.store ? (this.$store = "function" == typeof t.store ? t.store() : t.store) : t.parent && t.parent.$store && (this.$store = t.parent.$store);
|
4595 |
+
}
|
4596 |
+
h && t === h
|
4597 |
+
? console.error("[vuex] already installed. Vue.use(Vuex) should be called only once.")
|
4598 |
+
: ((t = h = t),
|
4599 |
+
2 <= Number(t.version.split(".")[0])
|
4600 |
+
? t.mixin({ beforeCreate: n })
|
4601 |
+
: ((e = t.prototype._init),
|
4602 |
+
(t.prototype._init = function (t) {
|
4603 |
+
void 0 === t && (t = {}), (t.init = t.init ? [n].concat(t.init) : n), e.call(this, t);
|
4604 |
+
})));
|
4605 |
+
}
|
4606 |
+
(e.state.get = function () {
|
4607 |
+
return this._vm._data.$$state;
|
4608 |
+
}),
|
4609 |
+
(e.state.set = function (t) {
|
4610 |
+
u(!1, "use store.replaceState() to explicit replace store state.");
|
4611 |
+
}),
|
4612 |
+
(t.prototype.commit = function (t, e, n) {
|
4613 |
+
var r = this,
|
4614 |
+
e = y(t, e, n),
|
4615 |
+
n = e.type,
|
4616 |
+
o = e.payload,
|
4617 |
+
e = e.options,
|
4618 |
+
i = { type: n, payload: o },
|
4619 |
+
a = this._mutations[n];
|
4620 |
+
a
|
4621 |
+
? (this._withCommit(function () {
|
4622 |
+
a.forEach(function (t) {
|
4623 |
+
t(o);
|
4624 |
+
});
|
4625 |
+
}),
|
4626 |
+
this._subscribers.forEach(function (t) {
|
4627 |
+
return t(i, r.state);
|
4628 |
+
}),
|
4629 |
+
e && e.silent && console.warn("[vuex] mutation type: " + n + ". Silent option has been removed. Use the filter functionality in the vue-devtools"))
|
4630 |
+
: console.error("[vuex] unknown mutation type: " + n);
|
4631 |
+
}),
|
4632 |
+
(t.prototype.dispatch = function (t, e) {
|
4633 |
+
var n = this,
|
4634 |
+
t = y(t, e),
|
4635 |
+
e = t.type,
|
4636 |
+
r = t.payload,
|
4637 |
+
o = { type: e, payload: r },
|
4638 |
+
t = this._actions[e];
|
4639 |
+
if (t) {
|
4640 |
+
try {
|
4641 |
+
this._actionSubscribers
|
4642 |
+
.filter(function (t) {
|
4643 |
+
return t.before;
|
4644 |
+
})
|
4645 |
+
.forEach(function (t) {
|
4646 |
+
return t.before(o, n.state);
|
4647 |
+
});
|
4648 |
+
} catch (t) {
|
4649 |
+
console.warn("[vuex] error in before action subscribers: "), console.error(t);
|
4650 |
+
}
|
4651 |
+
return (1 < t.length
|
4652 |
+
? Promise.all(
|
4653 |
+
t.map(function (t) {
|
4654 |
+
return t(r);
|
4655 |
+
})
|
4656 |
+
)
|
4657 |
+
: t[0](r)
|
4658 |
+
).then(function (t) {
|
4659 |
+
try {
|
4660 |
+
n._actionSubscribers
|
4661 |
+
.filter(function (t) {
|
4662 |
+
return t.after;
|
4663 |
+
})
|
4664 |
+
.forEach(function (t) {
|
4665 |
+
return t.after(o, n.state);
|
4666 |
+
});
|
4667 |
+
} catch (t) {
|
4668 |
+
console.warn("[vuex] error in after action subscribers: "), console.error(t);
|
4669 |
+
}
|
4670 |
+
return t;
|
4671 |
+
});
|
4672 |
+
}
|
4673 |
+
console.error("[vuex] unknown action type: " + e);
|
4674 |
+
}),
|
4675 |
+
(t.prototype.subscribe = function (t) {
|
4676 |
+
return n(t, this._subscribers);
|
4677 |
+
}),
|
4678 |
+
(t.prototype.subscribeAction = function (t) {
|
4679 |
+
return n("function" == typeof t ? { before: t } : t, this._actionSubscribers);
|
4680 |
+
}),
|
4681 |
+
(t.prototype.watch = function (t, e, n) {
|
4682 |
+
var r = this;
|
4683 |
+
return (
|
4684 |
+
u("function" == typeof t, "store.watch only accepts a function."),
|
4685 |
+
this._watcherVM.$watch(
|
4686 |
+
function () {
|
4687 |
+
return t(r.state, r.getters);
|
4688 |
+
},
|
4689 |
+
e,
|
4690 |
+
n
|
4691 |
+
)
|
4692 |
+
);
|
4693 |
+
}),
|
4694 |
+
(t.prototype.replaceState = function (t) {
|
4695 |
+
var e = this;
|
4696 |
+
this._withCommit(function () {
|
4697 |
+
e._vm._data.$$state = t;
|
4698 |
+
});
|
4699 |
+
}),
|
4700 |
+
(t.prototype.registerModule = function (t, e, n) {
|
4701 |
+
void 0 === n && (n = {}),
|
4702 |
+
"string" == typeof t && (t = [t]),
|
4703 |
+
u(Array.isArray(t), "module path must be a string or an Array."),
|
4704 |
+
u(0 < t.length, "cannot register the root module by using registerModule."),
|
4705 |
+
this._modules.register(t, e),
|
4706 |
+
v(this, this.state, t, this._modules.get(t), n.preserveState),
|
4707 |
+
p(this, this.state);
|
4708 |
+
}),
|
4709 |
+
(t.prototype.unregisterModule = function (e) {
|
4710 |
+
var n = this;
|
4711 |
+
"string" == typeof e && (e = [e]),
|
4712 |
+
u(Array.isArray(e), "module path must be a string or an Array."),
|
4713 |
+
this._modules.unregister(e),
|
4714 |
+
this._withCommit(function () {
|
4715 |
+
var t = m(n.state, e.slice(0, -1));
|
4716 |
+
h.delete(t, e[e.length - 1]);
|
4717 |
+
}),
|
4718 |
+
r(this);
|
4719 |
+
}),
|
4720 |
+
(t.prototype.hotUpdate = function (t) {
|
4721 |
+
this._modules.update(t), r(this, !0);
|
4722 |
+
}),
|
4723 |
+
(t.prototype._withCommit = function (t) {
|
4724 |
+
var e = this._committing;
|
4725 |
+
(this._committing = !0), t(), (this._committing = e);
|
4726 |
+
}),
|
4727 |
+
Object.defineProperties(t.prototype, e);
|
4728 |
+
var o = x(function (o, t) {
|
4729 |
+
var n = {};
|
4730 |
+
return (
|
4731 |
+
w(t).forEach(function (t) {
|
4732 |
+
var e = t.key,
|
4733 |
+
r = t.val;
|
4734 |
+
(n[e] = function () {
|
4735 |
+
var t = this.$store.state,
|
4736 |
+
e = this.$store.getters;
|
4737 |
+
if (o) {
|
4738 |
+
var n = $(this.$store, "mapState", o);
|
4739 |
+
if (!n) return;
|
4740 |
+
(t = n.context.state), (e = n.context.getters);
|
4741 |
+
}
|
4742 |
+
return "function" == typeof r ? r.call(this, t, e) : t[r];
|
4743 |
+
}),
|
4744 |
+
(n[e].vuex = !0);
|
4745 |
+
}),
|
4746 |
+
n
|
4747 |
+
);
|
4748 |
+
}),
|
4749 |
+
g = x(function (i, t) {
|
4750 |
+
var n = {};
|
4751 |
+
return (
|
4752 |
+
w(t).forEach(function (t) {
|
4753 |
+
var e = t.key,
|
4754 |
+
o = t.val;
|
4755 |
+
n[e] = function () {
|
4756 |
+
for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e];
|
4757 |
+
var n = this.$store.commit;
|
4758 |
+
if (i) {
|
4759 |
+
var r = $(this.$store, "mapMutations", i);
|
4760 |
+
if (!r) return;
|
4761 |
+
n = r.context.commit;
|
4762 |
+
}
|
4763 |
+
return "function" == typeof o ? o.apply(this, [n].concat(t)) : n.apply(this.$store, [o].concat(t));
|
4764 |
+
};
|
4765 |
+
}),
|
4766 |
+
n
|
4767 |
+
);
|
4768 |
+
}),
|
4769 |
+
_ = x(function (r, t) {
|
4770 |
+
var o = {};
|
4771 |
+
return (
|
4772 |
+
w(t).forEach(function (t) {
|
4773 |
+
var e = t.key,
|
4774 |
+
n = t.val,
|
4775 |
+
n = r + n;
|
4776 |
+
(o[e] = function () {
|
4777 |
+
if (!r || $(this.$store, "mapGetters", r)) {
|
4778 |
+
if (n in this.$store.getters) return this.$store.getters[n];
|
4779 |
+
console.error("[vuex] unknown getter: " + n);
|
4780 |
+
}
|
4781 |
+
}),
|
4782 |
+
(o[e].vuex = !0);
|
4783 |
+
}),
|
4784 |
+
o
|
4785 |
+
);
|
4786 |
+
}),
|
4787 |
+
b = x(function (i, t) {
|
4788 |
+
var n = {};
|
4789 |
+
return (
|
4790 |
+
w(t).forEach(function (t) {
|
4791 |
+
var e = t.key,
|
4792 |
+
o = t.val;
|
4793 |
+
n[e] = function () {
|
4794 |
+
for (var t = [], e = arguments.length; e--; ) t[e] = arguments[e];
|
4795 |
+
var n = this.$store.dispatch;
|
4796 |
+
if (i) {
|
4797 |
+
var r = $(this.$store, "mapActions", i);
|
4798 |
+
if (!r) return;
|
4799 |
+
n = r.context.dispatch;
|
4800 |
+
}
|
4801 |
+
return "function" == typeof o ? o.apply(this, [n].concat(t)) : n.apply(this.$store, [o].concat(t));
|
4802 |
+
};
|
4803 |
+
}),
|
4804 |
+
n
|
4805 |
+
);
|
4806 |
+
});
|
4807 |
+
function w(e) {
|
4808 |
+
return Array.isArray(e)
|
4809 |
+
? e.map(function (t) {
|
4810 |
+
return { key: t, val: t };
|
4811 |
+
})
|
4812 |
+
: Object.keys(e).map(function (t) {
|
4813 |
+
return { key: t, val: e[t] };
|
4814 |
+
});
|
4815 |
+
}
|
4816 |
+
function x(n) {
|
4817 |
+
return function (t, e) {
|
4818 |
+
return "string" != typeof t ? ((e = t), (t = "")) : "/" !== t.charAt(t.length - 1) && (t += "/"), n(t, e);
|
4819 |
+
};
|
4820 |
+
}
|
4821 |
+
function $(t, e, n) {
|
4822 |
+
t = t._modulesNamespaceMap[n];
|
4823 |
+
return t || console.error("[vuex] module namespace not found in " + e + "(): " + n), t;
|
4824 |
+
}
|
4825 |
+
return {
|
4826 |
+
Store: t,
|
4827 |
+
install: d,
|
4828 |
+
version: "3.1.0",
|
4829 |
+
mapState: o,
|
4830 |
+
mapMutations: g,
|
4831 |
+
mapGetters: _,
|
4832 |
+
mapActions: b,
|
4833 |
+
createNamespacedHelpers: function (t) {
|
4834 |
+
return { mapState: o.bind(null, t), mapGetters: _.bind(null, t), mapMutations: g.bind(null, t), mapActions: b.bind(null, t) };
|
4835 |
+
},
|
4836 |
+
};
|
4837 |
+
}),
|
4838 |
+
(function (t, e) {
|
4839 |
+
"object" == typeof exports && "undefined" != typeof module ? (module.exports = e()) : "function" == typeof define && define.amd ? define(e) : (t.VueResource = e());
|
4840 |
+
})(this, function () {
|
4841 |
+
"use strict";
|
4842 |
+
function a(t) {
|
4843 |
+
(this.state = 2), (this.value = void 0), (this.deferred = []);
|
4844 |
+
var e = this;
|
4845 |
+
try {
|
4846 |
+
t(
|
4847 |
+
function (t) {
|
4848 |
+
e.resolve(t);
|
4849 |
+
},
|
4850 |
+
function (t) {
|
4851 |
+
e.reject(t);
|
4852 |
+
}
|
4853 |
+
);
|
4854 |
+
} catch (t) {
|
4855 |
+
e.reject(t);
|
4856 |
+
}
|
4857 |
+
}
|
4858 |
+
(a.reject = function (n) {
|
4859 |
+
return new a(function (t, e) {
|
4860 |
+
e(n);
|
4861 |
+
});
|
4862 |
+
}),
|
4863 |
+
(a.resolve = function (n) {
|
4864 |
+
return new a(function (t, e) {
|
4865 |
+
t(n);
|
4866 |
+
});
|
4867 |
+
}),
|
4868 |
+
(a.all = function (i) {
|
4869 |
+
return new a(function (n, t) {
|
4870 |
+
var r = 0,
|
4871 |
+
o = [];
|
4872 |
+
0 === i.length && n(o);
|
4873 |
+
for (var e = 0; e < i.length; e += 1)
|
4874 |
+
a.resolve(i[e]).then(
|
4875 |
+
(function (e) {
|
4876 |
+
return function (t) {
|
4877 |
+
(o[e] = t), (r += 1) === i.length && n(o);
|
4878 |
+
};
|
4879 |
+
})(e),
|
4880 |
+
t
|
4881 |
+
);
|
4882 |
+
});
|
4883 |
+
}),
|
4884 |
+
(a.race = function (r) {
|
4885 |
+
return new a(function (t, e) {
|
4886 |
+
for (var n = 0; n < r.length; n += 1) a.resolve(r[n]).then(t, e);
|
4887 |
+
});
|
4888 |
+
});
|
4889 |
+
var t = a.prototype;
|
4890 |
+
function u(t, e) {
|
4891 |
+
t instanceof Promise ? (this.promise = t) : (this.promise = new Promise(t.bind(e))), (this.context = e);
|
4892 |
+
}
|
4893 |
+
(t.resolve = function (t) {
|
4894 |
+
var e = this;
|
4895 |
+
if (2 === e.state) {
|
4896 |
+
if (t === e) throw new TypeError("Promise settled with itself.");
|
4897 |
+
var n = !1;
|
4898 |
+
try {
|
4899 |
+
var r = t && t.then;
|
4900 |
+
if (null !== t && "object" == typeof t && "function" == typeof r)
|
4901 |
+
return void r.call(
|
4902 |
+
t,
|
4903 |
+
function (t) {
|
4904 |
+
n || e.resolve(t), (n = !0);
|
4905 |
+
},
|
4906 |
+
function (t) {
|
4907 |
+
n || e.reject(t), (n = !0);
|
4908 |
+
}
|
4909 |
+
);
|
4910 |
+
} catch (t) {
|
4911 |
+
return void (n || e.reject(t));
|
4912 |
+
}
|
4913 |
+
(e.state = 0), (e.value = t), e.notify();
|
4914 |
+
}
|
4915 |
+
}),
|
4916 |
+
(t.reject = function (t) {
|
4917 |
+
var e = this;
|
4918 |
+
if (2 === e.state) {
|
4919 |
+
if (t === e) throw new TypeError("Promise settled with itself.");
|
4920 |
+
(e.state = 1), (e.value = t), e.notify();
|
4921 |
+
}
|
4922 |
+
}),
|
4923 |
+
(t.notify = function () {
|
4924 |
+
var i = this;
|
4925 |
+
n(function () {
|
4926 |
+
if (2 !== i.state)
|
4927 |
+
for (; i.deferred.length; ) {
|
4928 |
+
var t = i.deferred.shift(),
|
4929 |
+
e = t[0],
|
4930 |
+
n = t[1],
|
4931 |
+
r = t[2],
|
4932 |
+
o = t[3];
|
4933 |
+
try {
|
4934 |
+
0 === i.state ? r("function" == typeof e ? e.call(void 0, i.value) : i.value) : 1 === i.state && ("function" == typeof n ? r(n.call(void 0, i.value)) : o(i.value));
|
4935 |
+
} catch (t) {
|
4936 |
+
o(t);
|
4937 |
+
}
|
4938 |
+
}
|
4939 |
+
}, void 0);
|
4940 |
+
}),
|
4941 |
+
(t.then = function (n, r) {
|
4942 |
+
var o = this;
|
4943 |
+
return new a(function (t, e) {
|
4944 |
+
o.deferred.push([n, r, t, e]), o.notify();
|
4945 |
+
});
|
4946 |
+
}),
|
4947 |
+
(t.catch = function (t) {
|
4948 |
+
return this.then(void 0, t);
|
4949 |
+
}),
|
4950 |
+
"undefined" == typeof Promise && (window.Promise = a),
|
4951 |
+
(u.all = function (t, e) {
|
4952 |
+
return new u(Promise.all(t), e);
|
4953 |
+
}),
|
4954 |
+
(u.resolve = function (t, e) {
|
4955 |
+
return new u(Promise.resolve(t), e);
|
4956 |
+
}),
|
4957 |
+
(u.reject = function (t, e) {
|
4958 |
+
return new u(Promise.reject(t), e);
|
4959 |
+
}),
|
4960 |
+
(u.race = function (t, e) {
|
4961 |
+
return new u(Promise.race(t), e);
|
4962 |
+
});
|
4963 |
+
t = u.prototype;
|
4964 |
+
(t.bind = function (t) {
|
4965 |
+
return (this.context = t), this;
|
4966 |
+
}),
|
4967 |
+
(t.then = function (t, e) {
|
4968 |
+
return t && t.bind && this.context && (t = t.bind(this.context)), e && e.bind && this.context && (e = e.bind(this.context)), new u(this.promise.then(t, e), this.context);
|
4969 |
+
}),
|
4970 |
+
(t.catch = function (t) {
|
4971 |
+
return t && t.bind && this.context && (t = t.bind(this.context)), new u(this.promise.catch(t), this.context);
|
4972 |
+
}),
|
4973 |
+
(t.finally = function (e) {
|
4974 |
+
return this.then(
|
4975 |
+
function (t) {
|
4976 |
+
return e.call(this), t;
|
4977 |
+
},
|
4978 |
+
function (t) {
|
4979 |
+
return e.call(this), Promise.reject(t);
|
4980 |
+
}
|
4981 |
+
);
|
4982 |
+
});
|
4983 |
+
var n,
|
4984 |
+
o = {}.hasOwnProperty,
|
4985 |
+
r = [].slice,
|
4986 |
+
f = !1,
|
4987 |
+
i = "undefined" != typeof window,
|
4988 |
+
e = function (t) {
|
4989 |
+
var e = t.config,
|
4990 |
+
t = t.nextTick;
|
4991 |
+
(n = t), (f = e.debug || !e.silent);
|
4992 |
+
};
|
4993 |
+
function c(t) {
|
4994 |
+
return t ? t.replace(/^\s*|\s*$/g, "") : "";
|
4995 |
+
}
|
4996 |
+
function s(t) {
|
4997 |
+
return t ? t.toLowerCase() : "";
|
4998 |
+
}
|
4999 |
+
var l = Array.isArray;
|
5000 |
+
function p(t) {
|
5001 |
+
return "string" == typeof t;
|
5002 |
+
}
|
5003 |
+
function d(t) {
|
5004 |
+
return "function" == typeof t;
|
5005 |
+
}
|
5006 |
+
function h(t) {
|
5007 |
+
return null !== t && "object" == typeof t;
|
5008 |
+
}
|
5009 |
+
function v(t) {
|
5010 |
+
return h(t) && Object.getPrototypeOf(t) == Object.prototype;
|
5011 |
+
}
|
5012 |
+
function m(t, e, n) {
|
5013 |
+
t = u.resolve(t);
|
5014 |
+
return arguments.length < 2 ? t : t.then(e, n);
|
5015 |
+
}
|
5016 |
+
function y(t, e, n) {
|
5017 |
+
return d((n = n || {})) && (n = n.call(e)), b(t.bind({ $vm: e, $options: n }), t, { $options: n });
|
5018 |
+
}
|
5019 |
+
function g(t, e) {
|
5020 |
+
var n, r;
|
5021 |
+
if (l(t)) for (n = 0; n < t.length; n++) e.call(t[n], t[n], n);
|
5022 |
+
else if (h(t)) for (r in t) o.call(t, r) && e.call(t[r], t[r], r);
|
5023 |
+
return t;
|
5024 |
+
}
|
5025 |
+
var _ =
|
5026 |
+
Object.assign ||
|
5027 |
+
function (e) {
|
5028 |
+
return (
|
5029 |
+
r.call(arguments, 1).forEach(function (t) {
|
5030 |
+
w(e, t);
|
5031 |
+
}),
|
5032 |
+
e
|
5033 |
+
);
|
5034 |
+
};
|
5035 |
+
function b(e) {
|
5036 |
+
return (
|
5037 |
+
r.call(arguments, 1).forEach(function (t) {
|
5038 |
+
w(e, t, !0);
|
5039 |
+
}),
|
5040 |
+
e
|
5041 |
+
);
|
5042 |
+
}
|
5043 |
+
function w(t, e, n) {
|
5044 |
+
for (var r in e) n && (v(e[r]) || l(e[r])) ? (v(e[r]) && !v(t[r]) && (t[r] = {}), l(e[r]) && !l(t[r]) && (t[r] = []), w(t[r], e[r], n)) : void 0 !== e[r] && (t[r] = e[r]);
|
5045 |
+
}
|
5046 |
+
function x(t, e, n) {
|
5047 |
+
var r,
|
5048 |
+
a,
|
5049 |
+
s,
|
5050 |
+
t =
|
5051 |
+
((r = t),
|
5052 |
+
(a = ["+", "#", ".", "/", ";", "?", "&"]),
|
5053 |
+
{
|
5054 |
+
vars: (s = []),
|
5055 |
+
expand: function (i) {
|
5056 |
+
return r.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (t, e, n) {
|
5057 |
+
if (e) {
|
5058 |
+
var r = null,
|
5059 |
+
o = [];
|
5060 |
+
if (
|
5061 |
+
(-1 !== a.indexOf(e.charAt(0)) && ((r = e.charAt(0)), (e = e.substr(1))),
|
5062 |
+
e.split(/,/g).forEach(function (t) {
|
5063 |
+
t = /([^:\*]*)(?::(\d+)|(\*))?/.exec(t);
|
5064 |
+
o.push.apply(
|
5065 |
+
o,
|
5066 |
+
(function (t, e, n, r) {
|
5067 |
+
var o = t[n],
|
5068 |
+
i = [];
|
5069 |
+
{
|
5070 |
+
var a;
|
5071 |
+
$(o) && "" !== o
|
5072 |
+
? "string" == typeof o || "number" == typeof o || "boolean" == typeof o
|
5073 |
+
? ((o = o.toString()), r && "*" !== r && (o = o.substring(0, parseInt(r, 10))), i.push(C(e, o, k(e) ? n : null)))
|
5074 |
+
: "*" === r
|
5075 |
+
? Array.isArray(o)
|
5076 |
+
? o.filter($).forEach(function (t) {
|
5077 |
+
i.push(C(e, t, k(e) ? n : null));
|
5078 |
+
})
|
5079 |
+
: Object.keys(o).forEach(function (t) {
|
5080 |
+
$(o[t]) && i.push(C(e, o[t], t));
|
5081 |
+
})
|
5082 |
+
: ((a = []),
|
5083 |
+
Array.isArray(o)
|
5084 |
+
? o.filter($).forEach(function (t) {
|
5085 |
+
a.push(C(e, t));
|
5086 |
+
})
|
5087 |
+
: Object.keys(o).forEach(function (t) {
|
5088 |
+
$(o[t]) && (a.push(encodeURIComponent(t)), a.push(C(e, o[t].toString())));
|
5089 |
+
}),
|
5090 |
+
k(e) ? i.push(encodeURIComponent(n) + "=" + a.join(",")) : 0 !== a.length && i.push(a.join(",")))
|
5091 |
+
: ";" === e
|
5092 |
+
? i.push(encodeURIComponent(n))
|
5093 |
+
: "" !== o || ("&" !== e && "?" !== e)
|
5094 |
+
? "" === o && i.push("")
|
5095 |
+
: i.push(encodeURIComponent(n) + "=");
|
5096 |
+
}
|
5097 |
+
return i;
|
5098 |
+
})(i, r, t[1], t[2] || t[3])
|
5099 |
+
),
|
5100 |
+
s.push(t[1]);
|
5101 |
+
}),
|
5102 |
+
r && "+" !== r)
|
5103 |
+
) {
|
5104 |
+
e = ",";
|
5105 |
+
return "?" === r ? (e = "&") : "#" !== r && (e = r), (0 !== o.length ? r : "") + o.join(e);
|
5106 |
+
}
|
5107 |
+
return o.join(",");
|
5108 |
+
}
|
5109 |
+
return O(n);
|
5110 |
+
});
|
5111 |
+
},
|
5112 |
+
}),
|
5113 |
+
e = t.expand(e);
|
5114 |
+
return n && n.push.apply(n, t.vars), e;
|
5115 |
+
}
|
5116 |
+
function $(t) {
|
5117 |
+
return null != t;
|
5118 |
+
}
|
5119 |
+
function k(t) {
|
5120 |
+
return ";" === t || "&" === t || "?" === t;
|
5121 |
+
}
|
5122 |
+
function C(t, e, n) {
|
5123 |
+
return (e = ("+" === t || "#" === t ? O : encodeURIComponent)(e)), n ? encodeURIComponent(n) + "=" + e : e;
|
5124 |
+
}
|
5125 |
+
function O(t) {
|
5126 |
+
return t
|
5127 |
+
.split(/(%[0-9A-Fa-f]{2})/g)
|
5128 |
+
.map(function (t) {
|
5129 |
+
return /%[0-9A-Fa-f]/.test(t) || (t = encodeURI(t)), t;
|
5130 |
+
})
|
5131 |
+
.join("");
|
5132 |
+
}
|
5133 |
+
function A(t, e) {
|
5134 |
+
var o,
|
5135 |
+
i = this || {},
|
5136 |
+
n = t;
|
5137 |
+
return (
|
5138 |
+
p(t) && (n = { url: t, params: e }),
|
5139 |
+
(n = b({}, A.options, i.$options, n)),
|
5140 |
+
A.transforms.forEach(function (t) {
|
5141 |
+
var e, n, r;
|
5142 |
+
p(t) && (t = A.transform[t]),
|
5143 |
+
d(t) &&
|
5144 |
+
((e = t),
|
5145 |
+
(n = o),
|
5146 |
+
(r = i.$vm),
|
5147 |
+
(o = function (t) {
|
5148 |
+
return e.call(r, t, n);
|
5149 |
+
}));
|
5150 |
+
}),
|
5151 |
+
o(n)
|
5152 |
+
);
|
5153 |
+
}
|
5154 |
+
(A.options = { url: "", root: null, params: {} }),
|
5155 |
+
(A.transform = {
|
5156 |
+
template: function (e) {
|
5157 |
+
var t = [],
|
5158 |
+
n = x(e.url, e.params, t);
|
5159 |
+
return (
|
5160 |
+
t.forEach(function (t) {
|
5161 |
+
delete e.params[t];
|
5162 |
+
}),
|
5163 |
+
n
|
5164 |
+
);
|
5165 |
+
},
|
5166 |
+
query: function (t, e) {
|
5167 |
+
var n = Object.keys(A.options.params),
|
5168 |
+
r = {},
|
5169 |
+
e = e(t);
|
5170 |
+
return (
|
5171 |
+
g(t.params, function (t, e) {
|
5172 |
+
-1 === n.indexOf(e) && (r[e] = t);
|
5173 |
+
}),
|
5174 |
+
(r = A.params(r)) && (e += (-1 == e.indexOf("?") ? "?" : "&") + r),
|
5175 |
+
e
|
5176 |
+
);
|
5177 |
+
},
|
5178 |
+
root: function (t, e) {
|
5179 |
+
var n = e(t);
|
5180 |
+
return p(t.root) && !/^(https?:)?\//.test(n) && ((e = t.root), (t = "/"), (n = (e && void 0 === t ? e.replace(/\s+$/, "") : e && t ? e.replace(new RegExp("[" + t + "]+$"), "") : e) + "/" + n)), n;
|
5181 |
+
},
|
5182 |
+
}),
|
5183 |
+
(A.transforms = ["template", "query", "root"]),
|
5184 |
+
(A.params = function (t) {
|
5185 |
+
var e = [],
|
5186 |
+
n = encodeURIComponent;
|
5187 |
+
return (
|
5188 |
+
(e.add = function (t, e) {
|
5189 |
+
d(e) && (e = e()), null === e && (e = ""), this.push(n(t) + "=" + n(e));
|
5190 |
+
}),
|
5191 |
+
(function n(r, t, o) {
|
5192 |
+
var i,
|
5193 |
+
a = l(t),
|
5194 |
+
s = v(t);
|
5195 |
+
g(t, function (t, e) {
|
5196 |
+
(i = h(t) || l(t)), o && (e = o + "[" + (s || i ? e : "") + "]"), !o && a ? r.add(t.name, t.value) : i ? n(r, t, e) : r.add(e, t);
|
5197 |
+
});
|
5198 |
+
})(e, t),
|
5199 |
+
e.join("&").replace(/%20/g, "+")
|
5200 |
+
);
|
5201 |
+
}),
|
5202 |
+
(A.parse = function (t) {
|
5203 |
+
var e = document.createElement("a");
|
5204 |
+
return (
|
5205 |
+
document.documentMode && ((e.href = t), (t = e.href)),
|
5206 |
+
(e.href = t),
|
5207 |
+
{
|
5208 |
+
href: e.href,
|
5209 |
+
protocol: e.protocol ? e.protocol.replace(/:$/, "") : "",
|
5210 |
+
port: e.port,
|
5211 |
+
host: e.host,
|
5212 |
+
hostname: e.hostname,
|
5213 |
+
pathname: "/" === e.pathname.charAt(0) ? e.pathname : "/" + e.pathname,
|
5214 |
+
search: e.search ? e.search.replace(/^\?/, "") : "",
|
5215 |
+
hash: e.hash ? e.hash.replace(/^#/, "") : "",
|
5216 |
+
}
|
5217 |
+
);
|
5218 |
+
});
|
5219 |
+
function S(o) {
|
5220 |
+
return new u(function (n) {
|
5221 |
+
function t(t) {
|
5222 |
+
var e = t.type,
|
5223 |
+
t = 0;
|
5224 |
+
"load" === e ? (t = 200) : "error" === e && (t = 500), n(o.respondWith(r.responseText, { status: t }));
|
5225 |
+
}
|
5226 |
+
var r = new XDomainRequest();
|
5227 |
+
(o.abort = function () {
|
5228 |
+
return r.abort();
|
5229 |
+
}),
|
5230 |
+
r.open(o.method, o.getUrl()),
|
5231 |
+
o.timeout && (r.timeout = o.timeout),
|
5232 |
+
(r.onload = t),
|
5233 |
+
(r.onabort = t),
|
5234 |
+
(r.onerror = t),
|
5235 |
+
(r.ontimeout = t),
|
5236 |
+
(r.onprogress = function () {}),
|
5237 |
+
r.send(o.getBody());
|
5238 |
+
});
|
5239 |
+
}
|
5240 |
+
var T = i && "withCredentials" in new XMLHttpRequest();
|
5241 |
+
function j(a) {
|
5242 |
+
return new u(function (n) {
|
5243 |
+
var r,
|
5244 |
+
t = a.jsonp || "callback",
|
5245 |
+
o = a.jsonpCallback || "_jsonp" + Math.random().toString(36).substr(2),
|
5246 |
+
i = null,
|
5247 |
+
e = function (t) {
|
5248 |
+
var e = t.type,
|
5249 |
+
t = 0;
|
5250 |
+
"load" === e && null !== i ? (t = 200) : "error" === e && (t = 500), t && window[o] && (delete window[o], document.body.removeChild(r)), n(a.respondWith(i, { status: t }));
|
5251 |
+
};
|
5252 |
+
(window[o] = function (t) {
|
5253 |
+
i = JSON.stringify(t);
|
5254 |
+
}),
|
5255 |
+
(a.abort = function () {
|
5256 |
+
e({ type: "abort" });
|
5257 |
+
}),
|
5258 |
+
(a.params[t] = o),
|
5259 |
+
a.timeout && setTimeout(a.abort, a.timeout),
|
5260 |
+
((r = document.createElement("script")).src = a.getUrl()),
|
5261 |
+
(r.type = "text/javascript"),
|
5262 |
+
(r.async = !0),
|
5263 |
+
(r.onload = e),
|
5264 |
+
(r.onerror = e),
|
5265 |
+
document.body.appendChild(r);
|
5266 |
+
});
|
5267 |
+
}
|
5268 |
+
function E(o) {
|
5269 |
+
return new u(function (n) {
|
5270 |
+
function t(t) {
|
5271 |
+
var e = o.respondWith("response" in r ? r.response : r.responseText, { status: 1223 === r.status ? 204 : r.status, statusText: 1223 === r.status ? "No Content" : c(r.statusText) });
|
5272 |
+
g(c(r.getAllResponseHeaders()).split("\n"), function (t) {
|
5273 |
+
e.headers.append(t.slice(0, t.indexOf(":")), t.slice(t.indexOf(":") + 1));
|
5274 |
+
}),
|
5275 |
+
n(e);
|
5276 |
+
}
|
5277 |
+
var r = new XMLHttpRequest();
|
5278 |
+
(o.abort = function () {
|
5279 |
+
return r.abort();
|
5280 |
+
}),
|
5281 |
+
o.progress && ("GET" === o.method ? r.addEventListener("progress", o.progress) : /^(POST|PUT)$/i.test(o.method) && r.upload.addEventListener("progress", o.progress)),
|
5282 |
+
r.open(o.method, o.getUrl(), !0),
|
5283 |
+
o.timeout && (r.timeout = o.timeout),
|
5284 |
+
o.responseType && "responseType" in r && (r.responseType = o.responseType),
|
5285 |
+
(o.withCredentials || o.credentials) && (r.withCredentials = !0),
|
5286 |
+
o.crossOrigin || o.headers.set("X-Requested-With", "XMLHttpRequest"),
|
5287 |
+
o.headers.forEach(function (t, e) {
|
5288 |
+
r.setRequestHeader(e, t);
|
5289 |
+
}),
|
5290 |
+
(r.onload = t),
|
5291 |
+
(r.onabort = t),
|
5292 |
+
(r.onerror = t),
|
5293 |
+
(r.ontimeout = t),
|
5294 |
+
r.send(o.getBody());
|
5295 |
+
});
|
5296 |
+
}
|
5297 |
+
function M(a) {
|
5298 |
+
var s = require("got");
|
5299 |
+
return new u(function (e) {
|
5300 |
+
var n,
|
5301 |
+
t = a.getUrl(),
|
5302 |
+
r = a.getBody(),
|
5303 |
+
o = a.method,
|
5304 |
+
i = {};
|
5305 |
+
a.headers.forEach(function (t, e) {
|
5306 |
+
i[e] = t;
|
5307 |
+
}),
|
5308 |
+
s(t, { body: r, method: o, headers: i }).then(
|
5309 |
+
(n = function (t) {
|
5310 |
+
var n = a.respondWith(t.body, { status: t.statusCode, statusText: c(t.statusMessage) });
|
5311 |
+
g(t.headers, function (t, e) {
|
5312 |
+
n.headers.set(e, t);
|
5313 |
+
}),
|
5314 |
+
e(n);
|
5315 |
+
}),
|
5316 |
+
function (t) {
|
5317 |
+
return n(t.response);
|
5318 |
+
}
|
5319 |
+
);
|
5320 |
+
});
|
5321 |
+
}
|
5322 |
+
var P = function (a) {
|
5323 |
+
var s,
|
5324 |
+
c = [I],
|
5325 |
+
l = [];
|
5326 |
+
function t(i) {
|
5327 |
+
return new u(function (e, n) {
|
5328 |
+
function r() {
|
5329 |
+
var t;
|
5330 |
+
d((s = c.pop())) ? s.call(a, i, o) : ((t = "Invalid interceptor of type " + typeof s + ", must be a function"), "undefined" != typeof console && f && console.warn("[VueResource warn]: " + t), o());
|
5331 |
+
}
|
5332 |
+
function o(t) {
|
5333 |
+
if (d(t)) l.unshift(t);
|
5334 |
+
else if (h(t))
|
5335 |
+
return (
|
5336 |
+
l.forEach(function (e) {
|
5337 |
+
t = m(
|
5338 |
+
t,
|
5339 |
+
function (t) {
|
5340 |
+
return e.call(a, t) || t;
|
5341 |
+
},
|
5342 |
+
n
|
5343 |
+
);
|
5344 |
+
}),
|
5345 |
+
void m(t, e, n)
|
5346 |
+
);
|
5347 |
+
r();
|
5348 |
+
}
|
5349 |
+
r();
|
5350 |
+
}, a);
|
5351 |
+
}
|
5352 |
+
return (
|
5353 |
+
h(a) || (a = null),
|
5354 |
+
(t.use = function (t) {
|
5355 |
+
c.push(t);
|
5356 |
+
}),
|
5357 |
+
t
|
5358 |
+
);
|
5359 |
+
};
|
5360 |
+
function I(t, e) {
|
5361 |
+
e((t.client || (i ? E : M))(t));
|
5362 |
+
}
|
5363 |
+
function L(t) {
|
5364 |
+
var n = this;
|
5365 |
+
(this.map = {}),
|
5366 |
+
g(t, function (t, e) {
|
5367 |
+
return n.append(e, t);
|
5368 |
+
});
|
5369 |
+
}
|
5370 |
+
function N(t, n) {
|
5371 |
+
return Object.keys(t).reduce(function (t, e) {
|
5372 |
+
return s(n) === s(e) ? e : t;
|
5373 |
+
}, null);
|
5374 |
+
}
|
5375 |
+
(L.prototype.has = function (t) {
|
5376 |
+
return null !== N(this.map, t);
|
5377 |
+
}),
|
5378 |
+
(L.prototype.get = function (t) {
|
5379 |
+
t = this.map[N(this.map, t)];
|
5380 |
+
return t ? t.join() : null;
|
5381 |
+
}),
|
5382 |
+
(L.prototype.getAll = function (t) {
|
5383 |
+
return this.map[N(this.map, t)] || [];
|
5384 |
+
}),
|
5385 |
+
(L.prototype.set = function (t, e) {
|
5386 |
+
this.map[
|
5387 |
+
(function (t) {
|
5388 |
+
if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(t)) throw new TypeError("Invalid character in header field name");
|
5389 |
+
return c(t);
|
5390 |
+
})(N(this.map, t) || t)
|
5391 |
+
] = [c(e)];
|
5392 |
+
}),
|
5393 |
+
(L.prototype.append = function (t, e) {
|
5394 |
+
var n = this.map[N(this.map, t)];
|
5395 |
+
n ? n.push(c(e)) : this.set(t, e);
|
5396 |
+
}),
|
5397 |
+
(L.prototype.delete = function (t) {
|
5398 |
+
delete this.map[N(this.map, t)];
|
5399 |
+
}),
|
5400 |
+
(L.prototype.deleteAll = function () {
|
5401 |
+
this.map = {};
|
5402 |
+
}),
|
5403 |
+
(L.prototype.forEach = function (n, r) {
|
5404 |
+
var o = this;
|
5405 |
+
g(this.map, function (t, e) {
|
5406 |
+
g(t, function (t) {
|
5407 |
+
return n.call(r, t, e, o);
|
5408 |
+
});
|
5409 |
+
});
|
5410 |
+
});
|
5411 |
+
function D(t, e) {
|
5412 |
+
var n,
|
5413 |
+
r = e.url,
|
5414 |
+
o = e.headers,
|
5415 |
+
i = e.status,
|
5416 |
+
e = e.statusText;
|
5417 |
+
(this.url = r),
|
5418 |
+
(this.ok = 200 <= i && i < 300),
|
5419 |
+
(this.status = i || 0),
|
5420 |
+
(this.statusText = e || ""),
|
5421 |
+
(this.headers = new L(o)),
|
5422 |
+
p((this.body = t))
|
5423 |
+
? (this.bodyText = t)
|
5424 |
+
: ((o = t),
|
5425 |
+
"undefined" != typeof Blob &&
|
5426 |
+
o instanceof Blob &&
|
5427 |
+
((this.bodyBlob = t),
|
5428 |
+
(0 !== (o = t).type.indexOf("text") && -1 === o.type.indexOf("json")) ||
|
5429 |
+
(this.bodyText =
|
5430 |
+
((n = t),
|
5431 |
+
new u(function (t) {
|
5432 |
+
var e = new FileReader();
|
5433 |
+
e.readAsText(n),
|
5434 |
+
(e.onload = function () {
|
5435 |
+
t(e.result);
|
5436 |
+
});
|
5437 |
+
})))));
|
5438 |
+
}
|
5439 |
+
(D.prototype.blob = function () {
|
5440 |
+
return m(this.bodyBlob);
|
5441 |
+
}),
|
5442 |
+
(D.prototype.text = function () {
|
5443 |
+
return m(this.bodyText);
|
5444 |
+
}),
|
5445 |
+
(D.prototype.json = function () {
|
5446 |
+
return m(this.text(), function (t) {
|
5447 |
+
return JSON.parse(t);
|
5448 |
+
});
|
5449 |
+
}),
|
5450 |
+
Object.defineProperty(D.prototype, "data", {
|
5451 |
+
get: function () {
|
5452 |
+
return this.body;
|
5453 |
+
},
|
5454 |
+
set: function (t) {
|
5455 |
+
this.body = t;
|
5456 |
+
},
|
5457 |
+
});
|
5458 |
+
var F = function (t) {
|
5459 |
+
(this.body = null), (this.params = {}), _(this, t, { method: (t = t.method || "GET") ? t.toUpperCase() : "" }), this.headers instanceof L || (this.headers = new L(this.headers));
|
5460 |
+
};
|
5461 |
+
(F.prototype.getUrl = function () {
|
5462 |
+
return A(this);
|
5463 |
+
}),
|
5464 |
+
(F.prototype.getBody = function () {
|
5465 |
+
return this.body;
|
5466 |
+
}),
|
5467 |
+
(F.prototype.respondWith = function (t, e) {
|
5468 |
+
return new D(t, _(e || {}, { url: this.getUrl() }));
|
5469 |
+
});
|
5470 |
+
t = { "Content-Type": "application/json;charset=utf-8" };
|
5471 |
+
function R(t) {
|
5472 |
+
var e = this || {},
|
5473 |
+
n = P(e.$vm);
|
5474 |
+
return (
|
5475 |
+
(function (n) {
|
5476 |
+
r.call(arguments, 1).forEach(function (t) {
|
5477 |
+
for (var e in t) void 0 === n[e] && (n[e] = t[e]);
|
5478 |
+
});
|
5479 |
+
})(t || {}, e.$options, R.options),
|
5480 |
+
R.interceptors.forEach(function (t) {
|
5481 |
+
p(t) && (t = R.interceptor[t]), d(t) && n.use(t);
|
5482 |
+
}),
|
5483 |
+
n(new F(t)).then(
|
5484 |
+
function (t) {
|
5485 |
+
return t.ok ? t : u.reject(t);
|
5486 |
+
},
|
5487 |
+
function (t) {
|
5488 |
+
var e;
|
5489 |
+
return t instanceof Error && ((e = t), "undefined" != typeof console && console.error(e)), u.reject(t);
|
5490 |
+
}
|
5491 |
+
)
|
5492 |
+
);
|
5493 |
+
}
|
5494 |
+
function z(n, r, t, o) {
|
5495 |
+
var i = this || {},
|
5496 |
+
a = {};
|
5497 |
+
return (
|
5498 |
+
g((t = _({}, z.actions, t)), function (t, e) {
|
5499 |
+
(t = b({ url: n, params: _({}, r) }, o, t)),
|
5500 |
+
(a[e] = function () {
|
5501 |
+
return (i.$http || R)(
|
5502 |
+
(function (t, e) {
|
5503 |
+
var n,
|
5504 |
+
r = _({}, t),
|
5505 |
+
t = {};
|
5506 |
+
switch (e.length) {
|
5507 |
+
case 2:
|
5508 |
+
(t = e[0]), (n = e[1]);
|
5509 |
+
break;
|
5510 |
+
case 1:
|
5511 |
+
/^(POST|PUT|PATCH)$/i.test(r.method) ? (n = e[0]) : (t = e[0]);
|
5512 |
+
break;
|
5513 |
+
case 0:
|
5514 |
+
break;
|
5515 |
+
default:
|
5516 |
+
throw "Expected up to 2 arguments [params, body], got " + e.length + " arguments";
|
5517 |
+
}
|
5518 |
+
return (r.body = n), (r.params = _({}, r.params, t)), r;
|
5519 |
+
})(t, arguments)
|
5520 |
+
);
|
5521 |
+
});
|
5522 |
+
}),
|
5523 |
+
a
|
5524 |
+
);
|
5525 |
+
}
|
5526 |
+
function H(n) {
|
5527 |
+
H.installed ||
|
5528 |
+
(e(n),
|
5529 |
+
(n.url = A),
|
5530 |
+
(n.http = R),
|
5531 |
+
(n.resource = z),
|
5532 |
+
(n.Promise = u),
|
5533 |
+
Object.defineProperties(n.prototype, {
|
5534 |
+
$url: {
|
5535 |
+
get: function () {
|
5536 |
+
return y(n.url, this, this.$options.url);
|
5537 |
+
},
|
5538 |
+
},
|
5539 |
+
$http: {
|
5540 |
+
get: function () {
|
5541 |
+
return y(n.http, this, this.$options.http);
|
5542 |
+
},
|
5543 |
+
},
|
5544 |
+
$resource: {
|
5545 |
+
get: function () {
|
5546 |
+
return n.resource.bind(this);
|
5547 |
+
},
|
5548 |
+
},
|
5549 |
+
$promise: {
|
5550 |
+
get: function () {
|
5551 |
+
var e = this;
|
5552 |
+
return function (t) {
|
5553 |
+
return new n.Promise(t, e);
|
5554 |
+
};
|
5555 |
+
},
|
5556 |
+
},
|
5557 |
+
}));
|
5558 |
+
}
|
5559 |
+
return (
|
5560 |
+
(R.options = {}),
|
5561 |
+
(R.headers = { put: t, post: t, patch: t, delete: t, common: { Accept: "application/json, text/plain, */*" }, custom: {} }),
|
5562 |
+
(R.interceptor = {
|
5563 |
+
before: function (t, e) {
|
5564 |
+
d(t.before) && t.before.call(this, t), e();
|
5565 |
+
},
|
5566 |
+
method: function (t, e) {
|
5567 |
+
t.emulateHTTP && /^(PUT|PATCH|DELETE)$/i.test(t.method) && (t.headers.set("X-HTTP-Method-Override", t.method), (t.method = "POST")), e();
|
5568 |
+
},
|
5569 |
+
jsonp: function (t, e) {
|
5570 |
+
"JSONP" == t.method && (t.client = j), e();
|
5571 |
+
},
|
5572 |
+
json: function (t, e) {
|
5573 |
+
var o = t.headers.get("Content-Type") || "";
|
5574 |
+
h(t.body) && 0 === o.indexOf("application/json") && (t.body = JSON.stringify(t.body)),
|
5575 |
+
e(function (r) {
|
5576 |
+
return r.bodyText
|
5577 |
+
? m(r.text(), function (t) {
|
5578 |
+
if (0 === (o = r.headers.get("Content-Type") || "").indexOf("application/json") || ((n = (e = t).match(/^\[|^\{(?!\{)/)) && { "[": /]$/, "{": /}$/ }[n[0]].test(e)))
|
5579 |
+
try {
|
5580 |
+
r.body = JSON.parse(t);
|
5581 |
+
} catch (t) {
|
5582 |
+
r.body = null;
|
5583 |
+
}
|
5584 |
+
else r.body = t;
|
5585 |
+
var e, n;
|
5586 |
+
return r;
|
5587 |
+
})
|
5588 |
+
: r;
|
5589 |
+
});
|
5590 |
+
},
|
5591 |
+
form: function (t, e) {
|
5592 |
+
var n;
|
5593 |
+
(n = t.body),
|
5594 |
+
"undefined" != typeof FormData && n instanceof FormData
|
5595 |
+
? t.headers.delete("Content-Type")
|
5596 |
+
: h(t.body) && t.emulateJSON && ((t.body = A.params(t.body)), t.headers.set("Content-Type", "application/x-www-form-urlencoded")),
|
5597 |
+
e();
|
5598 |
+
},
|
5599 |
+
header: function (n, t) {
|
5600 |
+
g(_({}, R.headers.common, n.crossOrigin ? {} : R.headers.custom, R.headers[s(n.method)]), function (t, e) {
|
5601 |
+
n.headers.has(e) || n.headers.set(e, t);
|
5602 |
+
}),
|
5603 |
+
t();
|
5604 |
+
},
|
5605 |
+
cors: function (t, e) {
|
5606 |
+
var n, r;
|
5607 |
+
i && ((n = A.parse(location.href)), ((r = A.parse(t.getUrl())).protocol === n.protocol && r.host === n.host) || ((t.crossOrigin = !0), (t.emulateHTTP = !1), T || (t.client = S))), e();
|
5608 |
+
},
|
5609 |
+
}),
|
5610 |
+
(R.interceptors = ["before", "method", "jsonp", "json", "form", "header", "cors"]),
|
5611 |
+
["get", "delete", "head", "jsonp"].forEach(function (n) {
|
5612 |
+
R[n] = function (t, e) {
|
5613 |
+
return this(_(e || {}, { url: t, method: n }));
|
5614 |
+
};
|
5615 |
+
}),
|
5616 |
+
["post", "put", "patch"].forEach(function (r) {
|
5617 |
+
R[r] = function (t, e, n) {
|
5618 |
+
return this(_(n || {}, { url: t, method: r, body: e }));
|
5619 |
+
};
|
5620 |
+
}),
|
5621 |
+
(z.actions = { get: { method: "GET" }, save: { method: "POST" }, query: { method: "GET" }, update: { method: "PUT" }, remove: { method: "DELETE" }, delete: { method: "DELETE" } }),
|
5622 |
+
"undefined" != typeof window && window.Vue && window.Vue.use(H),
|
5623 |
+
H
|
5624 |
+
);
|
5625 |
+
})
|
5626 |
+
|
inc/admin/class-lp-reset-data.php
CHANGED
@@ -42,38 +42,120 @@ class LP_Reset_Data {
|
|
42 |
}
|
43 |
}
|
44 |
global $wpdb;
|
45 |
-
|
46 |
//LP_Debug::startTransaction();
|
47 |
-
$query
|
48 |
SELECT user_item_id
|
49 |
FROM {$wpdb->learnpress_user_items}
|
50 |
WHERE user_id = %d AND item_id = %d
|
51 |
", $user_id, $item_id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
|
54 |
-
$query = "
|
55 |
SELECT DISTINCT parent_id AS parent, item_id
|
56 |
FROM {$wpdb->learnpress_user_items}
|
57 |
-
WHERE user_item_id IN(" . join( ',', $user_item_ids ) . ")
|
58 |
-
";
|
59 |
$parents = $wpdb->get_results( $query );
|
60 |
|
61 |
-
|
62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
DELETE
|
64 |
FROM {$wpdb->learnpress_user_itemmeta}
|
65 |
WHERE learnpress_user_item_id IN(" . join( ',', $format ) . ")
|
66 |
", $user_item_ids );
|
67 |
-
$wpdb->query( $query );
|
68 |
|
69 |
-
|
|
|
|
|
70 |
DELETE
|
71 |
FROM {$wpdb->learnpress_user_items}
|
72 |
WHERE user_id = %d AND item_id = %d
|
73 |
", $user_id, $item_id );
|
74 |
|
75 |
-
|
|
|
|
|
76 |
|
|
|
77 |
if ( $parents ) {
|
78 |
foreach ( $parents as $parent ) {
|
79 |
if ( $retaken_items = learn_press_get_user_item_meta( $parent->parent, '_retaken_items', true ) ) {
|
@@ -88,6 +170,7 @@ class LP_Reset_Data {
|
|
88 |
}
|
89 |
|
90 |
echo __( 'Item progress deleted', 'learnpress' );
|
|
|
91 |
} else {
|
92 |
echo __( 'No data found', 'learnpress' );
|
93 |
}
|
@@ -278,8 +361,7 @@ class LP_Reset_Data {
|
|
278 |
// Delete course
|
279 |
$user_item_ids = wp_list_pluck( $user_item_courses, 'user_item_id' );
|
280 |
self::delete_user_items_by_id( $user_item_ids );
|
281 |
-
}
|
282 |
-
catch ( Exception $ex ) {
|
283 |
//LP_Debug::rollbackTransaction();
|
284 |
}
|
285 |
|
@@ -348,4 +430,4 @@ class LP_Reset_Data {
|
|
348 |
}
|
349 |
}
|
350 |
|
351 |
-
LP_Reset_Data::init();
|
42 |
}
|
43 |
}
|
44 |
global $wpdb;
|
|
|
45 |
//LP_Debug::startTransaction();
|
46 |
+
$query = $wpdb->prepare( "
|
47 |
SELECT user_item_id
|
48 |
FROM {$wpdb->learnpress_user_items}
|
49 |
WHERE user_id = %d AND item_id = %d
|
50 |
", $user_id, $item_id );
|
51 |
+
$user_item_ids = $wpdb->get_col( $query );
|
52 |
+
//declare input_type
|
53 |
+
$input_type = '';
|
54 |
+
// Check input is course or (lesson || quiz)
|
55 |
+
$query_check_type = $wpdb->prepare( "
|
56 |
+
SELECT item_type
|
57 |
+
FROM {$wpdb->learnpress_user_items}
|
58 |
+
WHERE user_id = %d AND item_id = %d
|
59 |
+
", $user_id, $item_id );
|
60 |
+
$input_type = $wpdb->get_results( $query_check_type );
|
61 |
+
|
62 |
+
// check exist $user_item_ids && $input_type
|
63 |
+
if ( $user_item_ids && $input_type ) {
|
64 |
|
65 |
+
// Select parent id of item_id
|
66 |
+
$query = $wpdb->prepare ("
|
67 |
SELECT DISTINCT parent_id AS parent, item_id
|
68 |
FROM {$wpdb->learnpress_user_items}
|
69 |
+
WHERE user_item_id IN(" . join( ',', $user_item_ids ) . ") AND 1 = %d
|
70 |
+
", 1);
|
71 |
$parents = $wpdb->get_results( $query );
|
72 |
|
73 |
+
if ( $parents[0]->parent == 0 ) {
|
74 |
+
|
75 |
+
/* ------------------------------
|
76 |
+
Process in table LP user itemmeta
|
77 |
+
-------------------------------- */
|
78 |
+
// List all user_item_id of quiz with item_id
|
79 |
+
$query = $wpdb->prepare( "
|
80 |
+
SELECT user_item_id
|
81 |
+
FROM {$wpdb->learnpress_user_items}
|
82 |
+
WHERE ref_id = %d AND item_type = %s
|
83 |
+
", $item_id, 'lp_quiz' );
|
84 |
+
|
85 |
+
$results = $wpdb->get_results( $query );
|
86 |
+
foreach ( $results as $result ) {
|
87 |
+
$items[] = $result->user_item_id;
|
88 |
+
}
|
89 |
+
|
90 |
+
if ( ! empty( $items ) ) {
|
91 |
+
|
92 |
+
//Delete result in table user itemmeta
|
93 |
+
$query = $wpdb->prepare( "
|
94 |
+
DELETE FROM {$wpdb->learnpress_user_itemmeta}
|
95 |
+
WHERE 1 = %d
|
96 |
+
AND learnpress_user_item_id IN(" . join( ',', $items ) . ")
|
97 |
+
", 1);
|
98 |
+
// check $items != null
|
99 |
+
|
100 |
+
$wpdb->query( $query );
|
101 |
+
}
|
102 |
+
|
103 |
+
// Delete all field with learnpress_user_item_id = $user_item_ids
|
104 |
+
$query = $wpdb->prepare( "
|
105 |
+
DELETE FROM {$wpdb->learnpress_user_itemmeta}
|
106 |
+
WHERE 1 = %d
|
107 |
+
AND learnpress_user_item_id IN(" . join( ',', $user_item_ids ) . ")
|
108 |
+
", 1 );
|
109 |
+
|
110 |
+
$wpdb->query( $query );
|
111 |
+
|
112 |
+
/*------------------------------------
|
113 |
+
* Process in table LP user items
|
114 |
+
* ----------------------------------*/
|
115 |
+
|
116 |
+
//Update status in table learnpress user items
|
117 |
+
$null_time = '0000-00-00 00:00:00';
|
118 |
+
$current_time = current_time( 'mysql' );
|
119 |
+
$query = $wpdb->prepare( "
|
120 |
+
UPDATE {$wpdb->learnpress_user_items}
|
121 |
+
SET status = %s , start_time = %s , end_time = %s
|
122 |
+
WHERE user_id = %d AND item_id = %d
|
123 |
+
", 'enrolled', $current_time , $null_time , $user_id, $item_id );
|
124 |
+
$wpdb->query( $query );
|
125 |
+
|
126 |
+
//Delete lesson & quiz in table lp user items
|
127 |
+
|
128 |
+
$query = $wpdb->prepare( "
|
129 |
+
DELETE
|
130 |
+
FROM {$wpdb->learnpress_user_items}
|
131 |
+
WHERE user_id = %d AND ref_id = %d AND ref_type = %s
|
132 |
+
", $user_id, $item_id, 'lp_course' );
|
133 |
+
$wpdb->query( $query );
|
134 |
+
|
135 |
+
|
136 |
+
} else {
|
137 |
+
|
138 |
+
// Delete all result in table lp user itemmeta
|
139 |
+
$format = array_fill( 0, sizeof( $user_item_ids ), '%d' );
|
140 |
+
$query = $wpdb->prepare( "
|
141 |
DELETE
|
142 |
FROM {$wpdb->learnpress_user_itemmeta}
|
143 |
WHERE learnpress_user_item_id IN(" . join( ',', $format ) . ")
|
144 |
", $user_item_ids );
|
|
|
145 |
|
146 |
+
$wpdb->query( $query );
|
147 |
+
|
148 |
+
$query = $wpdb->prepare( "
|
149 |
DELETE
|
150 |
FROM {$wpdb->learnpress_user_items}
|
151 |
WHERE user_id = %d AND item_id = %d
|
152 |
", $user_id, $item_id );
|
153 |
|
154 |
+
$wpdb->query( $query );
|
155 |
+
|
156 |
+
}
|
157 |
|
158 |
+
// general handling for all item & course
|
159 |
if ( $parents ) {
|
160 |
foreach ( $parents as $parent ) {
|
161 |
if ( $retaken_items = learn_press_get_user_item_meta( $parent->parent, '_retaken_items', true ) ) {
|
170 |
}
|
171 |
|
172 |
echo __( 'Item progress deleted', 'learnpress' );
|
173 |
+
|
174 |
} else {
|
175 |
echo __( 'No data found', 'learnpress' );
|
176 |
}
|
361 |
// Delete course
|
362 |
$user_item_ids = wp_list_pluck( $user_item_courses, 'user_item_id' );
|
363 |
self::delete_user_items_by_id( $user_item_ids );
|
364 |
+
} catch ( Exception $ex ) {
|
|
|
365 |
//LP_Debug::rollbackTransaction();
|
366 |
}
|
367 |
|
430 |
}
|
431 |
}
|
432 |
|
433 |
+
LP_Reset_Data::init();
|
inc/admin/views/tools/course/html-user-item.php
CHANGED
@@ -16,7 +16,7 @@ defined( 'ABSPATH' ) or die();
|
|
16 |
<table>
|
17 |
<tr>
|
18 |
<td><strong><?php _e( 'User ID or Email', 'learnpress' ); ?></strong></td>
|
19 |
-
<td><strong><?php _e( 'Item ID (
|
20 |
</tr>
|
21 |
<tr>
|
22 |
<td><input type="text" v-model="user_id" @keyup="update($event)"></td>
|
@@ -39,7 +39,7 @@ $localize = array(
|
|
39 |
window.$Vue = window.$Vue || Vue;
|
40 |
|
41 |
jQuery(function ($) {
|
42 |
-
|
43 |
|
44 |
new $Vue({
|
45 |
el: '#learn-press-reset-user-item',
|
@@ -93,4 +93,4 @@ $localize = array(
|
|
93 |
});
|
94 |
});
|
95 |
|
96 |
-
</script>
|
16 |
<table>
|
17 |
<tr>
|
18 |
<td><strong><?php _e( 'User ID or Email', 'learnpress' ); ?></strong></td>
|
19 |
+
<td><strong><?php _e( 'Course ID or Item ID (quiz or lesson)', 'learnpress' ); ?></strong></td>
|
20 |
</tr>
|
21 |
<tr>
|
22 |
<td><input type="text" v-model="user_id" @keyup="update($event)"></td>
|
39 |
window.$Vue = window.$Vue || Vue;
|
40 |
|
41 |
jQuery(function ($) {
|
42 |
+
var js_localize = <?php echo wp_json_encode( $localize );?>
|
43 |
|
44 |
new $Vue({
|
45 |
el: '#learn-press-reset-user-item',
|
93 |
});
|
94 |
});
|
95 |
|
96 |
+
</script>
|
inc/class-lp-checkout.php
CHANGED
@@ -74,7 +74,7 @@ class LP_Checkout {
|
|
74 |
* Process customer when checking out.
|
75 |
*
|
76 |
* @param array $result
|
77 |
-
* @param int
|
78 |
*
|
79 |
* @return mixed
|
80 |
*/
|
@@ -118,8 +118,7 @@ class LP_Checkout {
|
|
118 |
}
|
119 |
|
120 |
$order->save();
|
121 |
-
}
|
122 |
-
catch ( Exception $ex ) {
|
123 |
if ( $ex->getCode() && $message = $ex->getMessage() ) {
|
124 |
$result['message'] = $message;
|
125 |
}
|
@@ -147,8 +146,8 @@ class LP_Checkout {
|
|
147 |
}
|
148 |
|
149 |
/**
|
150 |
-
* @param array
|
151 |
-
* @param array
|
152 |
* @param LP_Checkout $checkout
|
153 |
*
|
154 |
* @return array
|
@@ -334,8 +333,7 @@ class LP_Checkout {
|
|
334 |
}
|
335 |
$wpdb->query( 'COMMIT' );
|
336 |
|
337 |
-
}
|
338 |
-
catch ( Exception $e ) {
|
339 |
// There was an error adding order data!
|
340 |
$wpdb->query( 'ROLLBACK' );
|
341 |
learn_press_add_message( $e->getMessage() );
|
@@ -609,8 +607,7 @@ class LP_Checkout {
|
|
609 |
}
|
610 |
}
|
611 |
}
|
612 |
-
}
|
613 |
-
catch ( Exception $e ) {
|
614 |
$has_error = $e->getMessage();
|
615 |
learn_press_add_message( $has_error, 'error' );
|
616 |
}
|
74 |
* Process customer when checking out.
|
75 |
*
|
76 |
* @param array $result
|
77 |
+
* @param int $order_id
|
78 |
*
|
79 |
* @return mixed
|
80 |
*/
|
118 |
}
|
119 |
|
120 |
$order->save();
|
121 |
+
} catch ( Exception $ex ) {
|
|
|
122 |
if ( $ex->getCode() && $message = $ex->getMessage() ) {
|
123 |
$result['message'] = $message;
|
124 |
}
|
146 |
}
|
147 |
|
148 |
/**
|
149 |
+
* @param array $errors
|
150 |
+
* @param array $fields
|
151 |
* @param LP_Checkout $checkout
|
152 |
*
|
153 |
* @return array
|
333 |
}
|
334 |
$wpdb->query( 'COMMIT' );
|
335 |
|
336 |
+
} catch ( Exception $e ) {
|
|
|
337 |
// There was an error adding order data!
|
338 |
$wpdb->query( 'ROLLBACK' );
|
339 |
learn_press_add_message( $e->getMessage() );
|
607 |
}
|
608 |
}
|
609 |
}
|
610 |
+
} catch ( Exception $e ) {
|
|
|
611 |
$has_error = $e->getMessage();
|
612 |
learn_press_add_message( $has_error, 'error' );
|
613 |
}
|
inc/class-lp-database.php
CHANGED
@@ -8,10 +8,10 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
8 |
* Class LP_Database
|
9 |
*/
|
10 |
class LP_Database {
|
11 |
-
|
12 |
public $wpdb;
|
13 |
public $tb_lp_user_items, $tb_lp_user_itemmeta;
|
14 |
-
public $tb_posts, $tb_postmeta;
|
15 |
public $tb_lp_order_items, $tb_lp_order_itemmeta;
|
16 |
public $tb_lp_sections, $tb_lp_section_items;
|
17 |
public $tb_lp_quiz_questions;
|
@@ -23,6 +23,7 @@ class LP_Database {
|
|
23 |
global $wpdb;
|
24 |
|
25 |
$this->wpdb = $wpdb;
|
|
|
26 |
$this->tb_posts = $this->wpdb->posts;
|
27 |
$this->tb_postmeta = $this->wpdb->postmeta;
|
28 |
$this->tb_lp_user_items = $this->wpdb->prefix . 'learnpress_user_items';
|
8 |
* Class LP_Database
|
9 |
*/
|
10 |
class LP_Database {
|
11 |
+
private static $_instance;
|
12 |
public $wpdb;
|
13 |
public $tb_lp_user_items, $tb_lp_user_itemmeta;
|
14 |
+
public $tb_posts, $tb_postmeta, $tb_users;
|
15 |
public $tb_lp_order_items, $tb_lp_order_itemmeta;
|
16 |
public $tb_lp_sections, $tb_lp_section_items;
|
17 |
public $tb_lp_quiz_questions;
|
23 |
global $wpdb;
|
24 |
|
25 |
$this->wpdb = $wpdb;
|
26 |
+
$this->tb_users = $this->wpdb->users;
|
27 |
$this->tb_posts = $this->wpdb->posts;
|
28 |
$this->tb_postmeta = $this->wpdb->postmeta;
|
29 |
$this->tb_lp_user_items = $this->wpdb->prefix . 'learnpress_user_items';
|
inc/class-lp-datetime.php
CHANGED
@@ -33,8 +33,8 @@ class LP_Datetime extends DateTime {
|
|
33 |
/**
|
34 |
* Constructor.
|
35 |
*
|
36 |
-
* @param
|
37 |
-
* @param
|
38 |
*/
|
39 |
public function __construct( $date = '', $tz = null ) {
|
40 |
if ( empty( self::$gmt ) || empty( self::$stz ) ) {
|
@@ -86,11 +86,11 @@ class LP_Datetime extends DateTime {
|
|
86 |
/**
|
87 |
* Get default timezone from param and wp settings
|
88 |
*
|
89 |
-
* @since 3.1.0
|
90 |
-
*
|
91 |
* @param mixed $tz
|
92 |
*
|
93 |
* @return DateTimeZone|null|string
|
|
|
|
|
94 |
*/
|
95 |
public static function get_default_timezone( $tz ) {
|
96 |
if ( empty( self::$def_timezone ) ) {
|
@@ -149,7 +149,7 @@ class LP_Datetime extends DateTime {
|
|
149 |
}
|
150 |
|
151 |
/**
|
152 |
-
* @param
|
153 |
*
|
154 |
* @return mixed
|
155 |
*/
|
@@ -221,12 +221,12 @@ class LP_Datetime extends DateTime {
|
|
221 |
/**
|
222 |
* Gets the date as a formatted string.
|
223 |
*
|
224 |
-
* @param
|
225 |
-
* @param
|
226 |
*
|
227 |
* @return string The date string in the specified format format.
|
228 |
*/
|
229 |
-
public function format( $format, $local = true ) {
|
230 |
if ( '0000-00-00 00:00:00' === $this->raw_date ) {
|
231 |
return '';
|
232 |
}
|
@@ -265,7 +265,7 @@ class LP_Datetime extends DateTime {
|
|
265 |
}
|
266 |
|
267 |
/**
|
268 |
-
* @param
|
269 |
*
|
270 |
* @return string
|
271 |
*/
|
@@ -276,7 +276,7 @@ class LP_Datetime extends DateTime {
|
|
276 |
/**
|
277 |
* Gets the date as an SQL datetime string.
|
278 |
*
|
279 |
-
* @param
|
280 |
*
|
281 |
* @return string
|
282 |
*/
|
@@ -288,7 +288,7 @@ class LP_Datetime extends DateTime {
|
|
288 |
* Gets the date as an RFC 822 string. IETF RFC 2822 supercedes RFC 822 and its definition
|
289 |
* can be found at the IETF Web site.
|
290 |
*
|
291 |
-
* @param
|
292 |
*
|
293 |
* @return string
|
294 |
*/
|
@@ -332,4 +332,4 @@ class LP_Datetime extends DateTime {
|
|
332 |
public static function getSqlNullDate() {
|
333 |
return '0000-00-00 00:00:00';
|
334 |
}
|
335 |
-
}
|
33 |
/**
|
34 |
* Constructor.
|
35 |
*
|
36 |
+
* @param string $date
|
37 |
+
* @param mixed $tz
|
38 |
*/
|
39 |
public function __construct( $date = '', $tz = null ) {
|
40 |
if ( empty( self::$gmt ) || empty( self::$stz ) ) {
|
86 |
/**
|
87 |
* Get default timezone from param and wp settings
|
88 |
*
|
|
|
|
|
89 |
* @param mixed $tz
|
90 |
*
|
91 |
* @return DateTimeZone|null|string
|
92 |
+
* @since 3.1.0
|
93 |
+
*
|
94 |
*/
|
95 |
public static function get_default_timezone( $tz ) {
|
96 |
if ( empty( self::$def_timezone ) ) {
|
149 |
}
|
150 |
|
151 |
/**
|
152 |
+
* @param string $name The name of the property.
|
153 |
*
|
154 |
* @return mixed
|
155 |
*/
|
221 |
/**
|
222 |
* Gets the date as a formatted string.
|
223 |
*
|
224 |
+
* @param string $format The date format specification string (see {@link PHP_MANUAL#date})
|
225 |
+
* @param boolean $local True to return the date string in the local time zone, false to return it in GMT.
|
226 |
*
|
227 |
* @return string The date string in the specified format format.
|
228 |
*/
|
229 |
+
public function format( $format = '', $local = true ) {
|
230 |
if ( '0000-00-00 00:00:00' === $this->raw_date ) {
|
231 |
return '';
|
232 |
}
|
265 |
}
|
266 |
|
267 |
/**
|
268 |
+
* @param boolean $local True to return the date string in the local time zone, false to return it in GMT.
|
269 |
*
|
270 |
* @return string
|
271 |
*/
|
276 |
/**
|
277 |
* Gets the date as an SQL datetime string.
|
278 |
*
|
279 |
+
* @param boolean $local True to return the date string in the local time zone, false to return it in GMT.
|
280 |
*
|
281 |
* @return string
|
282 |
*/
|
288 |
* Gets the date as an RFC 822 string. IETF RFC 2822 supercedes RFC 822 and its definition
|
289 |
* can be found at the IETF Web site.
|
290 |
*
|
291 |
+
* @param boolean $local True to return the date string in the local time zone, false to return it in GMT.
|
292 |
*
|
293 |
* @return string
|
294 |
*/
|
332 |
public static function getSqlNullDate() {
|
333 |
return '0000-00-00 00:00:00';
|
334 |
}
|
335 |
+
}
|
inc/class-lp-emails.php
CHANGED
@@ -156,7 +156,7 @@ if ( ! class_exists( 'LP_Emails' ) ) {
|
|
156 |
'learn_press_course_submit_rejected',
|
157 |
'learn_press_course_submit_approved',
|
158 |
'learn_press_course_submit_for_reviewer',
|
159 |
-
'learn_press_user_enrolled_course',
|
160 |
|
161 |
// New order
|
162 |
'learn-press/order/status-pending-to-processing',
|
156 |
'learn_press_course_submit_rejected',
|
157 |
'learn_press_course_submit_approved',
|
158 |
'learn_press_course_submit_for_reviewer',
|
159 |
+
//'learn_press_user_enrolled_course',
|
160 |
|
161 |
// New order
|
162 |
'learn-press/order/status-pending-to-processing',
|
inc/class-lp-request-handler.php
CHANGED
@@ -67,15 +67,22 @@ class LP_Request {
|
|
67 |
|
68 |
public static function maybe_redirect_checkout( $result, $order_id ) {
|
69 |
$course_id = get_transient( 'checkout_enroll_course_id' );
|
|
|
70 |
if ( ! $course_id ) {
|
71 |
if ( isset( $_REQUEST['enroll-course'] ) && $_REQUEST['enroll-course'] ) {
|
72 |
$course_id = absint( $_REQUEST['enroll-course'] );
|
73 |
}
|
74 |
}
|
|
|
75 |
if ( $course_id ) {
|
76 |
-
$course
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
79 |
self::do_enroll( $course_id, $order_id, 'enroll-course', $first_item );
|
80 |
delete_transient( 'checkout_enroll_course_id' );
|
81 |
unset( $result['redirect'] );
|
@@ -244,8 +251,7 @@ class LP_Request {
|
|
244 |
/**
|
245 |
* @see LP_Request::do_enroll()
|
246 |
*/
|
247 |
-
$
|
248 |
-
$first_item = ( $course_items[0] ) ? $course_items[0] : 0;
|
249 |
do_action( "learn-press/{$action}-handler/enroll", $course_id, $order->get_id(), $action, $first_item );
|
250 |
}
|
251 |
|
67 |
|
68 |
public static function maybe_redirect_checkout( $result, $order_id ) {
|
69 |
$course_id = get_transient( 'checkout_enroll_course_id' );
|
70 |
+
|
71 |
if ( ! $course_id ) {
|
72 |
if ( isset( $_REQUEST['enroll-course'] ) && $_REQUEST['enroll-course'] ) {
|
73 |
$course_id = absint( $_REQUEST['enroll-course'] );
|
74 |
}
|
75 |
}
|
76 |
+
|
77 |
if ( $course_id ) {
|
78 |
+
$course = learn_press_get_course( $course_id );
|
79 |
+
|
80 |
+
if ( ! $course ) {
|
81 |
+
return $result;
|
82 |
+
}
|
83 |
+
|
84 |
+
$first_item = LP_Course_DB::getInstance()->get_first_item( $course_id );
|
85 |
+
|
86 |
self::do_enroll( $course_id, $order_id, 'enroll-course', $first_item );
|
87 |
delete_transient( 'checkout_enroll_course_id' );
|
88 |
unset( $result['redirect'] );
|
251 |
/**
|
252 |
* @see LP_Request::do_enroll()
|
253 |
*/
|
254 |
+
$first_item = LP_Course_DB::getInstance()->get_first_item( $course_id );
|
|
|
255 |
do_action( "learn-press/{$action}-handler/enroll", $course_id, $order->get_id(), $action, $first_item );
|
256 |
}
|
257 |
|
inc/course/abstract-course.php
CHANGED
@@ -140,7 +140,7 @@ if ( ! function_exists( 'LP_Abstract_Course' ) ) {
|
|
140 |
'course_result' => get_post_meta( $id, '_lp_course_result', true ),
|
141 |
'passing_condition' => get_post_meta( $id, '_lp_passing_condition', true ),
|
142 |
'payment' => get_post_meta( $id, '_lp_payment', true ),
|
143 |
-
'final_quiz' => get_post_meta( $id, '_lp_final_quiz', true ),
|
144 |
'external_link' => get_post_meta( $id, '_lp_external_link_buy_course', true ),
|
145 |
'external_link_text' => get_post_meta( $id, '_lp_external_link_text', true ),
|
146 |
)
|
140 |
'course_result' => get_post_meta( $id, '_lp_course_result', true ),
|
141 |
'passing_condition' => get_post_meta( $id, '_lp_passing_condition', true ),
|
142 |
'payment' => get_post_meta( $id, '_lp_payment', true ),
|
143 |
+
'final_quiz' => (int) get_post_meta( $id, '_lp_final_quiz', true ),
|
144 |
'external_link' => get_post_meta( $id, '_lp_external_link_buy_course', true ),
|
145 |
'external_link_text' => get_post_meta( $id, '_lp_external_link_text', true ),
|
146 |
)
|
inc/course/class-lp-course-database.php
CHANGED
@@ -10,9 +10,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
* @since 3.2.7.5
|
11 |
*/
|
12 |
class LP_Course_DB extends LP_Database {
|
13 |
-
|
14 |
|
15 |
-
|
16 |
parent::__construct();
|
17 |
}
|
18 |
|
@@ -46,6 +46,82 @@ class LP_Course_DB extends LP_Database {
|
|
46 |
|
47 |
return (int) $this->wpdb->get_var( $query );
|
48 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
|
51 |
LP_Course_DB::getInstance();
|
10 |
* @since 3.2.7.5
|
11 |
*/
|
12 |
class LP_Course_DB extends LP_Database {
|
13 |
+
private static $_instance;
|
14 |
|
15 |
+
protected function __construct() {
|
16 |
parent::__construct();
|
17 |
}
|
18 |
|
46 |
|
47 |
return (int) $this->wpdb->get_var( $query );
|
48 |
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Get first item of course
|
52 |
+
*
|
53 |
+
* @param int $course_id
|
54 |
+
*
|
55 |
+
* @return int
|
56 |
+
*/
|
57 |
+
public function get_first_item( $course_id = 0 ) {
|
58 |
+
/**
|
59 |
+
* Get cache
|
60 |
+
*/
|
61 |
+
$first_item_id = wp_cache_get( 'first_item_id', LP_COURSE_CPT );
|
62 |
+
|
63 |
+
if ( ! $first_item_id ) {
|
64 |
+
$query = $this->wpdb->prepare( "
|
65 |
+
SELECT item_id FROM $this->tb_lp_section_items AS items
|
66 |
+
INNER JOIN $this->tb_lp_sections AS sections
|
67 |
+
ON items.section_id = sections.section_id
|
68 |
+
AND sections.section_course_id = %d
|
69 |
+
",
|
70 |
+
$course_id
|
71 |
+
);
|
72 |
+
|
73 |
+
$first_item_id = (int) $this->wpdb->get_var( $query );
|
74 |
+
|
75 |
+
//Set cache
|
76 |
+
wp_cache_set( 'first_item_id', $first_item_id, LP_COURSE_CPT );
|
77 |
+
}
|
78 |
+
|
79 |
+
return $first_item_id;
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Get items of course
|
84 |
+
*
|
85 |
+
* @param int $course_id
|
86 |
+
* @param bool $publish_only
|
87 |
+
*/
|
88 |
+
public function get_items_of_course( $course_id = 0, $publish_only = true ) {
|
89 |
+
$where = '';
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Get course
|
93 |
+
*
|
94 |
+
* Please clear cache when add/delete item to course
|
95 |
+
*/
|
96 |
+
$course_items = wp_cache_get( 'lp-course-items-' . $course_id, 'lp-course-items' );
|
97 |
+
|
98 |
+
if ( ! $course_items ) {
|
99 |
+
if ( $publish_only ) {
|
100 |
+
$where = $this->wpdb->prepare( "
|
101 |
+
AND c.post_status = %s
|
102 |
+
AND it.post_status = %s
|
103 |
+
", 'publish', 'publish' );
|
104 |
+
}
|
105 |
+
|
106 |
+
$query = $this->wpdb->prepare( "
|
107 |
+
SELECT item_id id, it.post_type `type`, si.section_id
|
108 |
+
FROM {$this->tb_lp_section_items} si
|
109 |
+
INNER JOIN {$this->tb_lp_sections} s ON si.section_id = s.section_id
|
110 |
+
INNER JOIN {$this->tb_posts} c ON s.section_course_id = c.ID
|
111 |
+
INNER JOIN {$this->tb_posts} it ON it.ID = si.item_id
|
112 |
+
WHERE c.ID = %d
|
113 |
+
{$where}
|
114 |
+
ORDER BY s.section_order, si.item_order, si.section_item_id ASC
|
115 |
+
", $course_id );
|
116 |
+
|
117 |
+
$course_items = $this->wpdb->get_results( $query );
|
118 |
+
|
119 |
+
//Set course
|
120 |
+
wp_cache_set( 'lp-course-items-' . $course_id, $course_items, 'lp-course-items' );
|
121 |
+
}
|
122 |
+
|
123 |
+
return $course_items;
|
124 |
+
}
|
125 |
}
|
126 |
|
127 |
LP_Course_DB::getInstance();
|
inc/course/class-lp-course-item.php
CHANGED
@@ -135,7 +135,8 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
135 |
$curd->update_items_format( $course->get_id() );
|
136 |
}
|
137 |
}
|
138 |
-
$format = get_post_meta( $this->get_id(), 'post_format',
|
|
|
139 |
|
140 |
if ( ! $format ) {
|
141 |
$format = 'standard';
|
@@ -159,7 +160,7 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
159 |
* Get class of item.
|
160 |
*
|
161 |
* @param string $more
|
162 |
-
* @param int
|
163 |
*
|
164 |
* @return array
|
165 |
*/
|
@@ -178,7 +179,8 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
178 |
|
179 |
$t = microtime( true );
|
180 |
|
181 |
-
if ( false === ( $classes = LP_Object_Cache::get( 'item-' . $user_id . '-' . $this->get_id(),
|
|
|
182 |
|
183 |
$curd = new LP_User_Item_CURD();
|
184 |
$all_items = $curd->parse_items_classes( $course_id, $user_id, $more );
|
@@ -192,7 +194,8 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
192 |
$GLOBALS['get_class'] += microtime( true ) - $t;
|
193 |
|
194 |
|
195 |
-
return apply_filters( 'learn-press/course-item-class-cached', $classes, $this->get_item_type(),
|
|
|
196 |
}
|
197 |
|
198 |
/**
|
@@ -257,7 +260,7 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
257 |
/**
|
258 |
* Get instance of an item from post
|
259 |
*
|
260 |
-
* @param WP_Post|int
|
261 |
* @param LP_Course|LP_Abstract_Course|int|null $course
|
262 |
*
|
263 |
* @return mixed|void|LP_Course_Item
|
@@ -281,7 +284,8 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
281 |
if ( learn_press_is_support_course_item_type( $item_type ) ) {
|
282 |
$type = str_replace( 'lp_', '', $item_type );
|
283 |
|
284 |
-
$class = apply_filters( 'learn-press/course-item-object-class', false, $type, $item_type,
|
|
|
285 |
|
286 |
if ( is_string( $class ) && class_exists( $class ) ) {
|
287 |
$item = new $class( $post->ID, $post );
|
@@ -321,7 +325,8 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
321 |
public function get_template() {
|
322 |
$item_type = $this->get_item_type();
|
323 |
|
324 |
-
return apply_filters( 'learn-press/section-item-template', 'item-' . str_replace( 'lp_', '', $item_type ),
|
|
|
325 |
}
|
326 |
|
327 |
/**
|
@@ -346,14 +351,18 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
346 |
* Create nonce for checking actions on an item.
|
347 |
*
|
348 |
* @param string $action
|
349 |
-
* @param int
|
350 |
-
* @param int
|
351 |
*
|
352 |
* @return string
|
353 |
*/
|
354 |
public function create_nonce( $action = '', $course_id = 0, $user_id = 0 ) {
|
355 |
if ( ! $course_id ) {
|
356 |
-
|
|
|
|
|
|
|
|
|
357 |
}
|
358 |
|
359 |
if ( ! $user_id ) {
|
@@ -370,8 +379,8 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
370 |
*
|
371 |
* @param string $nonce
|
372 |
* @param string $action
|
373 |
-
* @param int
|
374 |
-
* @param int
|
375 |
*
|
376 |
* @return false|int
|
377 |
*/
|
@@ -448,7 +457,8 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
448 |
}
|
449 |
}
|
450 |
|
451 |
-
return apply_filters( 'learn-press/item-status-classes', $status_classes, $this->get_id(), $course_id,
|
|
|
452 |
}
|
453 |
|
454 |
/**
|
@@ -523,7 +533,7 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
523 |
|
524 |
if ( ! $course ) {
|
525 |
$blocked = 'yes';
|
526 |
-
}
|
527 |
$blocked = 'no';
|
528 |
} else {
|
529 |
if ( $user ) {
|
@@ -542,7 +552,8 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
542 |
$is_blocked = $blocked;
|
543 |
}
|
544 |
|
545 |
-
return apply_filters( 'learn-press/course-item/is-blocked', $is_blocked === 'yes' ? true : false,
|
|
|
546 |
}
|
547 |
|
548 |
protected function _parse_item_block_status( $course_id, $user_id, $cache_key ) {
|
@@ -568,13 +579,15 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
568 |
if ( $item = $course->get_item( $course_item ) ) {
|
569 |
if ( $item->is_preview() ) {
|
570 |
$blocked_items[ $course_item ] = 'no';
|
571 |
-
} elseif ( ! $block_item_types || is_array( $block_item_types ) && ! in_array( $item->get_post_type(),
|
|
|
572 |
$blocked_items[ $course_item ] = 'no';
|
573 |
}
|
574 |
}
|
575 |
}
|
576 |
|
577 |
-
$blocked_items = apply_filters( 'learn-press/course-item/parse-block-statuses', $blocked_items, $course_id,
|
|
|
578 |
|
579 |
LP_Object_Cache::set( $cache_key, $blocked_items, 'learn-press/blocked-items' );
|
580 |
|
@@ -582,8 +595,8 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
582 |
}
|
583 |
|
584 |
/**
|
585 |
-
* @param LP_User
|
586 |
-
* @param LP_Course
|
587 |
* @param LP_User_Item_Course $course_item_data
|
588 |
*
|
589 |
* @return string
|
@@ -592,11 +605,12 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
592 |
|
593 |
if ( $is_admin = in_array( 'administrator', $user->get_roles() ) ) {
|
594 |
$blocked = 'no';
|
595 |
-
}
|
596 |
$blocked = 'no';
|
597 |
|
598 |
// fixed option block lessons not working
|
599 |
-
if ( $course->is_block_item_content() && $course_item_data->get_finishing_type() == 'click' && $user->has_course_status( $course->get_id(),
|
|
|
600 |
$blocked = 'yes';
|
601 |
}
|
602 |
|
@@ -630,12 +644,12 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
630 |
|
631 |
// Todo: check duplicated condition
|
632 |
if ( $course->is_block_item_content() && $course_item_data->get_finishing_type() == 'click' &&
|
633 |
-
|
634 |
$blocked_by = 'by_finish_course';
|
635 |
}
|
636 |
|
637 |
if ( $course->is_block_item_content_duration() &&
|
638 |
-
|
639 |
$blocked_by = 'by_duration_expires';
|
640 |
}
|
641 |
|
@@ -654,4 +668,4 @@ if ( ! class_exists( 'LP_Course_Item' ) ) {
|
|
654 |
public function offsetUnset( $offset ) {
|
655 |
}
|
656 |
}
|
657 |
-
}
|
135 |
$curd->update_items_format( $course->get_id() );
|
136 |
}
|
137 |
}
|
138 |
+
$format = get_post_meta( $this->get_id(), 'post_format',
|
139 |
+
true );
|
140 |
|
141 |
if ( ! $format ) {
|
142 |
$format = 'standard';
|
160 |
* Get class of item.
|
161 |
*
|
162 |
* @param string $more
|
163 |
+
* @param int $user_id
|
164 |
*
|
165 |
* @return array
|
166 |
*/
|
179 |
|
180 |
$t = microtime( true );
|
181 |
|
182 |
+
if ( false === ( $classes = LP_Object_Cache::get( 'item-' . $user_id . '-' . $this->get_id(),
|
183 |
+
'learn-press/post-classes' ) ) ) {
|
184 |
|
185 |
$curd = new LP_User_Item_CURD();
|
186 |
$all_items = $curd->parse_items_classes( $course_id, $user_id, $more );
|
194 |
$GLOBALS['get_class'] += microtime( true ) - $t;
|
195 |
|
196 |
|
197 |
+
return apply_filters( 'learn-press/course-item-class-cached', $classes, $this->get_item_type(),
|
198 |
+
$this->get_id(), $course_id );
|
199 |
}
|
200 |
|
201 |
/**
|
260 |
/**
|
261 |
* Get instance of an item from post
|
262 |
*
|
263 |
+
* @param WP_Post|int $post
|
264 |
* @param LP_Course|LP_Abstract_Course|int|null $course
|
265 |
*
|
266 |
* @return mixed|void|LP_Course_Item
|
284 |
if ( learn_press_is_support_course_item_type( $item_type ) ) {
|
285 |
$type = str_replace( 'lp_', '', $item_type );
|
286 |
|
287 |
+
$class = apply_filters( 'learn-press/course-item-object-class', false, $type, $item_type,
|
288 |
+
$item_id );
|
289 |
|
290 |
if ( is_string( $class ) && class_exists( $class ) ) {
|
291 |
$item = new $class( $post->ID, $post );
|
325 |
public function get_template() {
|
326 |
$item_type = $this->get_item_type();
|
327 |
|
328 |
+
return apply_filters( 'learn-press/section-item-template', 'item-' . str_replace( 'lp_', '', $item_type ),
|
329 |
+
$item_type );
|
330 |
}
|
331 |
|
332 |
/**
|
351 |
* Create nonce for checking actions on an item.
|
352 |
*
|
353 |
* @param string $action
|
354 |
+
* @param int $course_id
|
355 |
+
* @param int $user_id
|
356 |
*
|
357 |
* @return string
|
358 |
*/
|
359 |
public function create_nonce( $action = '', $course_id = 0, $user_id = 0 ) {
|
360 |
if ( ! $course_id ) {
|
361 |
+
if ( ! $this->get_course() ) {
|
362 |
+
$course_id = 0;
|
363 |
+
} else {
|
364 |
+
$course_id = $this->get_course()->get_id();
|
365 |
+
}
|
366 |
}
|
367 |
|
368 |
if ( ! $user_id ) {
|
379 |
*
|
380 |
* @param string $nonce
|
381 |
* @param string $action
|
382 |
+
* @param int $course_id
|
383 |
+
* @param int $user_id
|
384 |
*
|
385 |
* @return false|int
|
386 |
*/
|
457 |
}
|
458 |
}
|
459 |
|
460 |
+
return apply_filters( 'learn-press/item-status-classes', $status_classes, $this->get_id(), $course_id,
|
461 |
+
$user_id );
|
462 |
}
|
463 |
|
464 |
/**
|
533 |
|
534 |
if ( ! $course ) {
|
535 |
$blocked = 'yes';
|
536 |
+
} elseif ( ! $course->is_required_enroll() || $this->is_preview() ) {
|
537 |
$blocked = 'no';
|
538 |
} else {
|
539 |
if ( $user ) {
|
552 |
$is_blocked = $blocked;
|
553 |
}
|
554 |
|
555 |
+
return apply_filters( 'learn-press/course-item/is-blocked', $is_blocked === 'yes' ? true : false,
|
556 |
+
$this->get_id(), $course_id, $user_id );
|
557 |
}
|
558 |
|
559 |
protected function _parse_item_block_status( $course_id, $user_id, $cache_key ) {
|
579 |
if ( $item = $course->get_item( $course_item ) ) {
|
580 |
if ( $item->is_preview() ) {
|
581 |
$blocked_items[ $course_item ] = 'no';
|
582 |
+
} elseif ( ! $block_item_types || is_array( $block_item_types ) && ! in_array( $item->get_post_type(),
|
583 |
+
$block_item_types ) ) {
|
584 |
$blocked_items[ $course_item ] = 'no';
|
585 |
}
|
586 |
}
|
587 |
}
|
588 |
|
589 |
+
$blocked_items = apply_filters( 'learn-press/course-item/parse-block-statuses', $blocked_items, $course_id,
|
590 |
+
$user_id );
|
591 |
|
592 |
LP_Object_Cache::set( $cache_key, $blocked_items, 'learn-press/blocked-items' );
|
593 |
|
595 |
}
|
596 |
|
597 |
/**
|
598 |
+
* @param LP_User $user
|
599 |
+
* @param LP_Course $course
|
600 |
* @param LP_User_Item_Course $course_item_data
|
601 |
*
|
602 |
* @return string
|
605 |
|
606 |
if ( $is_admin = in_array( 'administrator', $user->get_roles() ) ) {
|
607 |
$blocked = 'no';
|
608 |
+
} elseif ( $user->has_course_status( $course->get_id(), array( 'enrolled', 'finished' ) ) ) {
|
609 |
$blocked = 'no';
|
610 |
|
611 |
// fixed option block lessons not working
|
612 |
+
if ( $course->is_block_item_content() && $course_item_data->get_finishing_type() == 'click' && $user->has_course_status( $course->get_id(),
|
613 |
+
'finished' ) ) {
|
614 |
$blocked = 'yes';
|
615 |
}
|
616 |
|
644 |
|
645 |
// Todo: check duplicated condition
|
646 |
if ( $course->is_block_item_content() && $course_item_data->get_finishing_type() == 'click' &&
|
647 |
+
$user->has_course_status( $course->get_id(), 'finished' ) ) {
|
648 |
$blocked_by = 'by_finish_course';
|
649 |
}
|
650 |
|
651 |
if ( $course->is_block_item_content_duration() &&
|
652 |
+
$course_item_data->is_exceeded() < 0 && $blocked_by !== 'by_finish_course' ) {
|
653 |
$blocked_by = 'by_duration_expires';
|
654 |
}
|
655 |
|
668 |
public function offsetUnset( $offset ) {
|
669 |
}
|
670 |
}
|
671 |
+
}
|
inc/course/lp-course-functions.php
CHANGED
@@ -1144,10 +1144,16 @@ function learn_press_get_course_results_tooltip( $course_id ) {
|
|
1144 |
|
1145 |
function learn_press_course_passing_condition( $value, $format, $course_id ) {
|
1146 |
|
1147 |
-
$course
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1148 |
|
1149 |
-
if ( $quiz_id = $course->get_final_quiz() ) {
|
1150 |
-
$quiz = learn_press_get_quiz( $quiz_id );
|
1151 |
$value = absint( $quiz->get_passing_grade() );
|
1152 |
|
1153 |
if ( $format ) {
|
@@ -1260,9 +1266,11 @@ function learn_press_reload_page_when_duration_expires() {
|
|
1260 |
}
|
1261 |
|
1262 |
$course = learn_press_get_the_course();
|
|
|
|
|
1263 |
|
1264 |
if ( $course->is_block_item_content_duration() === true &&
|
1265 |
-
|
1266 |
echo '<input type="hidden" class="course-item-is-blocked" value="' . $course->expires_to_milliseconds() . '">';
|
1267 |
}
|
1268 |
}
|
1144 |
|
1145 |
function learn_press_course_passing_condition( $value, $format, $course_id ) {
|
1146 |
|
1147 |
+
$course = learn_press_get_course( $course_id );
|
1148 |
+
$quiz_id = $course->get_final_quiz();
|
1149 |
+
|
1150 |
+
if ( $quiz_id ) {
|
1151 |
+
$quiz = learn_press_get_quiz( $quiz_id );
|
1152 |
+
|
1153 |
+
if ( ! $quiz ) {
|
1154 |
+
return $value;
|
1155 |
+
}
|
1156 |
|
|
|
|
|
1157 |
$value = absint( $quiz->get_passing_grade() );
|
1158 |
|
1159 |
if ( $format ) {
|
1266 |
}
|
1267 |
|
1268 |
$course = learn_press_get_the_course();
|
1269 |
+
$user = learn_press_get_current_user();
|
1270 |
+
$course_data = $user->get_course_data( $course->get_id() );
|
1271 |
|
1272 |
if ( $course->is_block_item_content_duration() === true &&
|
1273 |
+
! empty( $course ) && $course->expires_to_milliseconds() > 0 && $course_data->get_status() == 'enrolled' ) {
|
1274 |
echo '<input type="hidden" class="course-item-is-blocked" value="' . $course->expires_to_milliseconds() . '">';
|
1275 |
}
|
1276 |
}
|
inc/curds/class-lp-user-curd.php
CHANGED
@@ -424,7 +424,6 @@ class LP_User_CURD extends LP_Object_Data_CURD implements LP_Interface_CURD {
|
|
424 |
* @since 3.2.6.10
|
425 |
*/
|
426 |
public function read_course( $user_id = null, $course_id = null, $force = false ) {
|
427 |
-
#LP_Debug::logTime( __FUNCTION__ );
|
428 |
if ( is_null( $user_id ) ) {
|
429 |
$user_id = get_current_user_id();
|
430 |
}
|
@@ -472,8 +471,6 @@ class LP_User_CURD extends LP_Object_Data_CURD implements LP_Interface_CURD {
|
|
472 |
|
473 |
LP_Object_Cache::set( 'course-' . $user_id . '-' . $course_id, $result, 'learn-press/user-item-courses' );
|
474 |
|
475 |
-
#LP_Debug::logTime( __FUNCTION__ );
|
476 |
-
|
477 |
return $result;
|
478 |
}
|
479 |
|
@@ -1792,4 +1789,4 @@ class LP_User_CURD extends LP_Object_Data_CURD implements LP_Interface_CURD {
|
|
1792 |
}
|
1793 |
|
1794 |
|
1795 |
-
}
|
424 |
* @since 3.2.6.10
|
425 |
*/
|
426 |
public function read_course( $user_id = null, $course_id = null, $force = false ) {
|
|
|
427 |
if ( is_null( $user_id ) ) {
|
428 |
$user_id = get_current_user_id();
|
429 |
}
|
471 |
|
472 |
LP_Object_Cache::set( 'course-' . $user_id . '-' . $course_id, $result, 'learn-press/user-item-courses' );
|
473 |
|
|
|
|
|
474 |
return $result;
|
475 |
}
|
476 |
|
1789 |
}
|
1790 |
|
1791 |
|
1792 |
+
}
|
inc/emails/types/class-lp-email-type-enrolled-course.php
CHANGED
@@ -77,9 +77,10 @@ class LP_Email_Type_Enrolled_Course extends LP_Email {
|
|
77 |
public function get_object( $object_id = '', $more = '' ) {
|
78 |
$user = learn_press_get_user( $this->user_id );
|
79 |
$course = learn_press_get_course( $this->course_id );
|
80 |
-
$
|
|
|
|
|
81 |
$object = array();
|
82 |
-
|
83 |
if ( $course ) {
|
84 |
$object = apply_filters(
|
85 |
'lp/email/type_enrolled/data',
|
77 |
public function get_object( $object_id = '', $more = '' ) {
|
78 |
$user = learn_press_get_user( $this->user_id );
|
79 |
$course = learn_press_get_course( $this->course_id );
|
80 |
+
$order_id = $user->get_course_order( $this->course_id, false );
|
81 |
+
$order = learn_press_get_order($order_id);
|
82 |
+
|
83 |
$object = array();
|
|
|
84 |
if ( $course ) {
|
85 |
$object = apply_filters(
|
86 |
'lp/email/type_enrolled/data',
|
inc/lesson/class-lp-lesson-database.php
CHANGED
@@ -8,7 +8,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
8 |
* Class LP_Lesson_DB
|
9 |
*/
|
10 |
class LP_Lesson_DB extends LP_Database {
|
11 |
-
|
12 |
|
13 |
public function __construct() {
|
14 |
parent::__construct();
|
8 |
* Class LP_Lesson_DB
|
9 |
*/
|
10 |
class LP_Lesson_DB extends LP_Database {
|
11 |
+
private static $_instance;
|
12 |
|
13 |
public function __construct() {
|
14 |
parent::__construct();
|
inc/lp-core-functions.php
CHANGED
@@ -2162,9 +2162,7 @@ function learn_press_print_notices( $clear = true ) {
|
|
2162 |
* @return mixed
|
2163 |
*/
|
2164 |
function learn_press_get_login_url( $redirect = null ) {
|
2165 |
-
|
2166 |
-
// @deprecated
|
2167 |
-
$url = apply_filters( 'learn_press_login_url', wp_login_url( $redirect ) );
|
2168 |
|
2169 |
if ( 'yes' === LP()->settings()->get( 'enable_login_profile' ) && $profile_page = learn_press_get_page_link( 'profile' ) ) {
|
2170 |
$a = parse_url( $url );
|
2162 |
* @return mixed
|
2163 |
*/
|
2164 |
function learn_press_get_login_url( $redirect = null ) {
|
2165 |
+
$url = wp_login_url( $redirect );
|
|
|
|
|
2166 |
|
2167 |
if ( 'yes' === LP()->settings()->get( 'enable_login_profile' ) && $profile_page = learn_press_get_page_link( 'profile' ) ) {
|
2168 |
$a = parse_url( $url );
|
inc/lp-template-functions.php
CHANGED
@@ -7,2273 +7,2279 @@
|
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
-
|
11 |
}
|
12 |
/**
|
13 |
* New functions since 3.0.0
|
14 |
*/
|
15 |
if ( ! function_exists( 'learn_press_course_purchase_button' ) ) {
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
// if ( $user->has_enrolled_course( $course->get_id() )) {
|
59 |
//
|
60 |
// return;
|
61 |
// }
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
|
71 |
|
72 |
-
|
73 |
-
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
|
80 |
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
|
86 |
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
|
95 |
-
|
96 |
-
|
97 |
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
|
104 |
-
|
105 |
|
106 |
-
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
|
114 |
-
|
115 |
-
|
116 |
|
117 |
-
|
118 |
|
119 |
-
|
120 |
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
|
|
|
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
|
132 |
-
|
133 |
-
|
134 |
}
|
135 |
|
136 |
if ( ! function_exists( 'learn_press_course_enroll_button' ) ) {
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
|
|
151 |
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
|
|
|
|
156 |
|
157 |
-
|
158 |
-
|
159 |
|
160 |
-
|
161 |
-
|
162 |
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
|
167 |
-
|
168 |
-
|
169 |
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
|
174 |
-
|
175 |
-
|
176 |
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
|
190 |
-
|
191 |
-
|
192 |
|
193 |
-
|
194 |
-
|
195 |
|
196 |
-
|
197 |
|
198 |
-
|
|
|
199 |
|
200 |
-
|
201 |
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
|
206 |
}
|
207 |
|
208 |
if ( ! function_exists( 'learn_press_course_retake_button' ) ) {
|
209 |
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
}
|
270 |
|
271 |
if ( ! function_exists( 'learn_press_course_continue_button' ) ) {
|
272 |
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
|
314 |
-
|
315 |
-
|
316 |
}
|
317 |
|
318 |
|
319 |
if ( ! function_exists( 'learn_press_course_finish_button' ) ) {
|
320 |
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
|
344 |
-
|
345 |
-
|
346 |
}
|
347 |
|
348 |
if ( ! function_exists( 'learn_press_course_external_button' ) ) {
|
349 |
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
|
360 |
-
|
361 |
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
}
|
371 |
|
372 |
if ( ! function_exists( 'learn_press_add_course_buttons' ) ) {
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
}
|
381 |
|
382 |
if ( ! function_exists( 'learn_press_remove_course_buttons' ) ) {
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
}
|
391 |
|
392 |
if ( ! function_exists( 'learn_press_curriculum_section_title' ) ) {
|
393 |
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
|
405 |
}
|
406 |
|
407 |
if ( ! function_exists( 'learn_press_curriculum_section_content' ) ) {
|
408 |
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
|
420 |
}
|
421 |
|
422 |
if ( ! function_exists( 'learn_press_checkout_form_login' ) ) {
|
423 |
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
|
435 |
-
|
436 |
-
|
437 |
|
438 |
}
|
439 |
|
440 |
if ( ! function_exists( 'learn_press_checkout_form_register' ) ) {
|
441 |
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
|
453 |
-
|
454 |
-
|
455 |
|
456 |
}
|
457 |
|
458 |
if ( ! function_exists( 'learn_press_order_review' ) ) {
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
}
|
469 |
|
470 |
if ( ! function_exists( 'learn_press_order_payment' ) ) {
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
}
|
482 |
|
483 |
if ( ! function_exists( 'learn_press_order_guest_email' ) ) {
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
}
|
503 |
|
504 |
if ( ! function_exists( 'learn_press_order_comment' ) ) {
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
}
|
514 |
|
515 |
if ( ! function_exists( 'learn_press_user_profile_header' ) ) {
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
|
528 |
-
|
529 |
-
|
530 |
}
|
531 |
|
532 |
if ( ! function_exists( 'learn_press_user_profile_content' ) ) {
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
|
545 |
-
|
546 |
-
|
547 |
}
|
548 |
|
549 |
if ( ! function_exists( 'learn_press_user_profile_footer' ) ) {
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
}
|
559 |
|
560 |
if ( ! function_exists( 'learn_press_user_profile_tabs' ) ) {
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
|
573 |
-
|
574 |
-
|
575 |
}
|
576 |
|
577 |
if ( ! function_exists( 'learn_press_single_course_summary' ) ) {
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
}
|
589 |
|
590 |
if ( ! function_exists( 'learn_press_course_price' ) ) {
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
|
606 |
-
|
607 |
-
|
608 |
}
|
609 |
|
610 |
if ( ! function_exists( 'learn_press_course_meta_start_wrapper' ) ) {
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
}
|
618 |
|
619 |
if ( ! function_exists( 'learn_press_course_meta_end_wrapper' ) ) {
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
625 |
-
|
626 |
}
|
627 |
|
628 |
if ( ! function_exists( 'learn_press_course_students' ) ) {
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
|
635 |
}
|
636 |
|
637 |
if ( ! function_exists( 'learn_press_course_status' ) ) {
|
638 |
-
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
|
643 |
-
|
644 |
}
|
645 |
|
646 |
if ( ! function_exists( 'learn_press_courses_loop_item_instructor' ) ) {
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
652 |
-
|
653 |
}
|
654 |
|
655 |
if ( ! function_exists( 'learn_press_course_tabs' ) ) {
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
}
|
664 |
|
665 |
if ( ! function_exists( 'learn_press_course_item_content' ) ) {
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
}
|
698 |
|
699 |
if ( ! function_exists( 'learn_press_get_course_tabs' ) ) {
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
|
704 |
-
|
705 |
-
|
706 |
-
|
707 |
-
|
708 |
-
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
718 |
-
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
-
|
767 |
-
|
768 |
-
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
|
775 |
|
776 |
}
|
777 |
|
778 |
if ( ! function_exists( 'learn_press_content_item_quiz_title' ) ) {
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
}
|
783 |
|
784 |
if ( ! function_exists( 'learn_press_content_item_quiz_intro' ) ) {
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
789 |
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
|
802 |
-
|
803 |
-
|
804 |
-
|
805 |
|
806 |
-
|
807 |
-
|
808 |
}
|
809 |
|
810 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_content' ) ) {
|
811 |
|
812 |
-
|
813 |
-
|
814 |
-
|
815 |
-
|
816 |
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
|
830 |
-
|
831 |
}
|
832 |
|
833 |
if ( ! function_exists( 'learn_press_content_item_summary_question_title' ) ) {
|
834 |
|
835 |
-
|
836 |
-
|
837 |
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
}
|
844 |
|
845 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_progress' ) ) {
|
846 |
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
|
852 |
-
|
853 |
-
|
854 |
-
|
855 |
|
856 |
-
|
857 |
-
|
858 |
-
|
859 |
|
860 |
-
|
861 |
-
|
862 |
-
|
863 |
-
|
864 |
}
|
865 |
|
866 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_countdown' ) ) {
|
867 |
|
868 |
-
|
869 |
-
|
870 |
|
871 |
-
|
872 |
-
|
873 |
-
|
874 |
-
|
875 |
}
|
876 |
|
877 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_result' ) ) {
|
878 |
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
|
891 |
-
|
892 |
-
|
893 |
}
|
894 |
|
895 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_question' ) ) {
|
896 |
|
897 |
-
|
898 |
-
|
899 |
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
|
904 |
}
|
905 |
|
906 |
if ( ! function_exists( 'learn_press_content_item_summary_question_content' ) ) {
|
907 |
|
908 |
-
|
909 |
-
|
910 |
|
911 |
-
|
912 |
|
913 |
-
|
914 |
|
915 |
-
|
916 |
-
|
917 |
-
|
918 |
|
919 |
-
|
920 |
-
|
921 |
-
|
922 |
}
|
923 |
|
924 |
if ( ! function_exists( 'learn_press_content_item_summary_question' ) ) {
|
925 |
|
926 |
-
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
|
946 |
-
|
947 |
-
|
948 |
}
|
949 |
|
950 |
if ( ! function_exists( 'learn_press_content_item_summary_question_explanation' ) ) {
|
951 |
|
952 |
-
|
953 |
-
|
954 |
-
|
955 |
-
|
956 |
-
|
957 |
-
|
958 |
-
|
959 |
-
|
960 |
-
|
961 |
-
|
962 |
-
|
963 |
-
|
964 |
-
|
965 |
-
|
966 |
-
|
967 |
-
|
968 |
-
|
969 |
-
|
970 |
-
|
971 |
-
|
972 |
-
|
973 |
-
|
974 |
-
|
975 |
-
|
976 |
-
|
977 |
-
|
978 |
-
|
979 |
-
|
980 |
-
|
981 |
-
|
982 |
-
|
983 |
-
|
984 |
-
|
985 |
-
|
986 |
-
|
987 |
-
|
988 |
-
|
989 |
-
|
990 |
-
|
991 |
-
|
992 |
-
|
993 |
}
|
994 |
|
995 |
if ( ! function_exists( 'learn_press_content_item_summary_question_hint' ) ) {
|
996 |
|
997 |
-
|
998 |
-
|
999 |
-
|
1000 |
-
|
1001 |
-
|
1002 |
-
|
1003 |
-
|
1004 |
-
|
1005 |
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
1009 |
|
1010 |
-
|
1011 |
-
|
1012 |
-
|
1013 |
|
1014 |
-
|
1015 |
-
|
1016 |
-
|
1017 |
|
1018 |
-
|
1019 |
-
|
1020 |
|
1021 |
-
|
1022 |
}
|
1023 |
|
1024 |
if ( ! function_exists( 'learn_press_content_item_summary_question_numbers' ) ) {
|
1025 |
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
|
1031 |
-
|
1032 |
-
|
1033 |
-
|
1034 |
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
1038 |
|
1039 |
-
|
1040 |
-
|
1041 |
-
|
1042 |
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
|
1047 |
-
|
1048 |
|
1049 |
-
|
1050 |
-
|
1051 |
-
|
1052 |
|
1053 |
-
|
1054 |
|
1055 |
-
|
1056 |
-
|
1057 |
-
|
1058 |
|
1059 |
-
|
1060 |
-
|
1061 |
-
|
1062 |
-
|
1063 |
|
1064 |
-
|
1065 |
-
|
1066 |
}
|
1067 |
|
1068 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_buttons' ) ) {
|
1069 |
|
1070 |
-
|
1071 |
-
|
1072 |
-
|
1073 |
}
|
1074 |
|
1075 |
|
1076 |
if ( ! function_exists( 'learn_press_quiz_nav_buttons' ) ) {
|
1077 |
|
1078 |
-
|
1079 |
-
|
1080 |
-
|
1081 |
-
|
1082 |
|
1083 |
-
|
1084 |
-
|
1085 |
-
|
1086 |
|
1087 |
-
|
1088 |
-
|
1089 |
-
|
1090 |
|
1091 |
-
|
1092 |
-
|
1093 |
-
|
1094 |
|
1095 |
-
|
1096 |
-
|
1097 |
}
|
1098 |
|
1099 |
if ( ! function_exists( 'learn_press_quiz_start_button' ) ) {
|
1100 |
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
|
1106 |
-
|
1107 |
-
|
1108 |
-
|
1109 |
|
1110 |
-
|
1111 |
-
|
1112 |
-
|
1113 |
-
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
|
1118 |
-
|
1119 |
-
|
1120 |
-
|
1121 |
-
|
1122 |
|
1123 |
-
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
|
1128 |
-
|
1129 |
-
|
1130 |
-
|
1131 |
-
|
1132 |
|
1133 |
-
|
1134 |
-
|
1135 |
}
|
1136 |
|
1137 |
if ( ! function_exists( 'learn_press_quiz_continue_button' ) ) {
|
1138 |
|
1139 |
-
|
1140 |
-
|
1141 |
-
|
1142 |
-
|
1143 |
|
1144 |
-
|
1145 |
-
|
1146 |
-
|
1147 |
|
1148 |
-
|
1149 |
-
|
1150 |
-
|
1151 |
|
1152 |
-
|
1153 |
-
|
1154 |
-
|
1155 |
|
1156 |
-
|
1157 |
-
|
1158 |
}
|
1159 |
|
1160 |
if ( ! function_exists( 'learn_press_quiz_complete_button' ) ) {
|
1161 |
|
1162 |
-
|
1163 |
-
|
1164 |
-
|
1165 |
-
|
1166 |
|
1167 |
-
|
1168 |
-
|
1169 |
-
|
1170 |
|
1171 |
-
|
1172 |
-
|
1173 |
-
|
1174 |
-
|
1175 |
-
|
1176 |
-
|
1177 |
}
|
1178 |
|
1179 |
if ( ! function_exists( 'learn_press_quiz_redo_button' ) ) {
|
1180 |
|
1181 |
-
|
1182 |
-
|
1183 |
-
|
1184 |
-
|
1185 |
|
1186 |
-
|
1187 |
-
|
1188 |
-
|
1189 |
|
1190 |
-
|
1191 |
-
|
1192 |
-
|
1193 |
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
|
1199 |
-
|
1200 |
-
|
1201 |
}
|
1202 |
|
1203 |
if ( ! function_exists( 'learn_press_quiz_result_button' ) ) {
|
1204 |
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
|
1218 |
-
|
1219 |
-
|
1220 |
-
|
1221 |
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
|
1226 |
-
|
1227 |
-
|
1228 |
}
|
1229 |
|
1230 |
if ( ! function_exists( 'learn_press_quiz_summary_button' ) ) {
|
1231 |
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
|
1249 |
-
|
1250 |
-
|
1251 |
}
|
1252 |
|
1253 |
if ( ! function_exists( 'learn_press_quiz_check_button' ) ) {
|
1254 |
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
|
1264 |
-
|
1265 |
-
|
1266 |
-
|
1267 |
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
|
1277 |
-
|
1278 |
-
|
1279 |
}
|
1280 |
|
1281 |
if ( ! function_exists( 'learn_press_quiz_hint_button' ) ) {
|
1282 |
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
|
1289 |
-
|
1290 |
-
|
1291 |
-
|
1292 |
|
1293 |
-
|
1294 |
-
|
1295 |
-
|
1296 |
|
1297 |
-
|
1298 |
-
|
1299 |
-
|
1300 |
-
|
1301 |
|
1302 |
-
|
1303 |
-
|
1304 |
-
|
1305 |
|
1306 |
-
|
1307 |
-
|
1308 |
-
|
1309 |
|
1310 |
-
|
1311 |
-
|
1312 |
-
|
1313 |
|
1314 |
-
|
1315 |
|
1316 |
-
|
1317 |
-
|
1318 |
-
|
1319 |
|
1320 |
-
|
1321 |
-
|
1322 |
}
|
1323 |
|
1324 |
if ( ! function_exists( 'learn_press_content_item_body_class' ) ) {
|
1325 |
|
1326 |
-
|
1327 |
-
|
1328 |
-
|
1329 |
-
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
1335 |
-
|
1336 |
-
|
1337 |
-
|
1338 |
-
|
1339 |
-
|
1340 |
-
|
1341 |
-
|
1342 |
|
1343 |
-
|
1344 |
-
|
1345 |
|
1346 |
}
|
1347 |
|
1348 |
if ( ! function_exists( 'learn_press_content_item_edit_links' ) ) {
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
1356 |
-
|
1357 |
-
|
1358 |
-
|
1359 |
-
|
1360 |
-
|
1361 |
-
|
1362 |
-
|
1363 |
-
|
1364 |
-
|
1365 |
-
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
|
1377 |
-
|
1378 |
-
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
|
1388 |
-
|
1389 |
-
|
1390 |
-
|
1391 |
-
|
1392 |
-
|
1393 |
-
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
}
|
1408 |
|
1409 |
add_filter( 'admin_bar_menu', 'learn_press_content_item_edit_links', 90 );
|
1410 |
|
1411 |
if ( ! function_exists( 'learn_press_control_displaying_course_item' ) ) {
|
1412 |
-
|
1413 |
-
|
1414 |
-
|
1415 |
-
|
1416 |
-
|
1417 |
-
|
1418 |
-
|
1419 |
-
|
1420 |
-
|
1421 |
-
|
1422 |
-
|
1423 |
-
|
1424 |
-
|
1425 |
-
|
1426 |
|
1427 |
-
|
1428 |
-
|
1429 |
-
|
1430 |
-
|
1431 |
|
1432 |
-
|
1433 |
-
|
1434 |
-
|
1435 |
-
|
1436 |
|
1437 |
-
|
1438 |
-
|
1439 |
-
|
1440 |
}
|
1441 |
|
1442 |
if ( ! function_exists( 'learn_press_profile_tab_orders' ) ) {
|
1443 |
-
|
1444 |
-
|
1445 |
-
|
1446 |
}
|
1447 |
|
1448 |
if ( ! function_exists( 'learn_press_profile_recover_order_form' ) ) {
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
}
|
1453 |
|
1454 |
if ( ! function_exists( 'learn_press_wrapper_start' ) ) {
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
1461 |
}
|
1462 |
|
1463 |
if ( ! function_exists( 'learn_press_wrapper_end' ) ) {
|
1464 |
-
|
1465 |
-
|
1466 |
-
|
1467 |
-
|
1468 |
-
|
1469 |
-
|
1470 |
}
|
1471 |
|
1472 |
if ( ! function_exists( 'learn_press_single_course_args' ) ) {
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
1477 |
-
|
1478 |
-
|
1479 |
-
|
1480 |
-
|
1481 |
-
|
1482 |
-
|
1483 |
-
|
1484 |
-
|
1485 |
-
|
1486 |
-
|
1487 |
-
|
1488 |
|
1489 |
-
|
1490 |
-
|
1491 |
}
|
1492 |
|
1493 |
if ( ! function_exists( 'learn_press_single_quiz_args' ) ) {
|
1494 |
-
|
1495 |
-
|
1496 |
-
|
1497 |
-
|
1498 |
-
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
|
1504 |
-
|
1505 |
-
|
1506 |
-
|
1507 |
-
|
1508 |
-
|
1509 |
-
|
1510 |
-
|
1511 |
-
|
1512 |
-
|
1513 |
-
|
1514 |
-
|
1515 |
-
|
1516 |
-
|
1517 |
-
|
1518 |
-
|
1519 |
-
|
1520 |
-
|
1521 |
}
|
1522 |
|
1523 |
if ( ! function_exists( 'learn_press_courses_loop_item_thumbnail' ) ) {
|
1524 |
-
|
1525 |
-
|
1526 |
-
|
1527 |
-
|
1528 |
-
|
1529 |
-
|
1530 |
}
|
1531 |
|
1532 |
if ( ! function_exists( 'learn_press_courses_loop_item_title' ) ) {
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
|
1537 |
-
|
1538 |
-
|
1539 |
}
|
1540 |
|
1541 |
if ( ! function_exists( 'learn_press_courses_loop_item_begin_meta' ) ) {
|
1542 |
-
|
1543 |
-
|
1544 |
-
|
1545 |
-
|
1546 |
-
|
1547 |
-
|
1548 |
}
|
1549 |
|
1550 |
if ( ! function_exists( 'learn_press_courses_loop_item_end_meta' ) ) {
|
1551 |
-
|
1552 |
-
|
1553 |
-
|
1554 |
-
|
1555 |
-
|
1556 |
-
|
1557 |
}
|
1558 |
|
1559 |
if ( ! function_exists( 'learn_press_courses_loop_item_introduce' ) ) {
|
1560 |
-
|
1561 |
-
|
1562 |
-
|
1563 |
-
|
1564 |
-
|
1565 |
-
|
1566 |
}
|
1567 |
|
1568 |
if ( ! function_exists( 'learn_press_courses_loop_item_price' ) ) {
|
1569 |
-
|
1570 |
-
|
1571 |
-
|
1572 |
-
|
1573 |
-
|
1574 |
-
|
1575 |
}
|
1576 |
|
1577 |
if ( ! function_exists( 'learn_press_begin_courses_loop' ) ) {
|
1578 |
-
|
1579 |
-
|
1580 |
-
|
1581 |
-
|
1582 |
-
|
1583 |
-
|
1584 |
}
|
1585 |
|
1586 |
if ( ! function_exists( 'learn_press_end_courses_loop' ) ) {
|
1587 |
-
|
1588 |
-
|
1589 |
-
|
1590 |
-
|
1591 |
-
|
1592 |
-
|
1593 |
}
|
1594 |
|
1595 |
if ( ! function_exists( 'learn_press_courses_loop_item_students' ) ) {
|
1596 |
-
|
1597 |
-
|
1598 |
-
|
1599 |
-
|
1600 |
-
|
1601 |
-
|
1602 |
}
|
1603 |
|
1604 |
if ( ! function_exists( 'learn_press_courses_pagination' ) ) {
|
1605 |
-
|
1606 |
-
|
1607 |
-
|
1608 |
-
|
1609 |
-
|
1610 |
-
|
1611 |
}
|
1612 |
|
1613 |
if ( ! function_exists( 'learn_press_breadcrumb' ) ) {
|
1614 |
-
|
1615 |
-
|
1616 |
-
|
1617 |
-
|
1618 |
-
|
1619 |
-
|
1620 |
-
|
1621 |
-
|
1622 |
-
|
1623 |
-
|
1624 |
-
|
1625 |
-
|
1626 |
-
|
1627 |
-
|
1628 |
-
|
1629 |
-
|
1630 |
-
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
|
1635 |
-
|
1636 |
|
1637 |
-
|
1638 |
-
|
1639 |
}
|
1640 |
|
1641 |
if ( ! function_exists( 'learn_press_search_form' ) ) {
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
-
|
1647 |
-
|
1648 |
-
|
1649 |
-
|
1650 |
-
|
1651 |
-
|
1652 |
-
|
1653 |
-
|
1654 |
-
|
1655 |
-
|
1656 |
}
|
1657 |
|
1658 |
if ( ! function_exists( 'learn_press_output_single_course_learning_summary' ) ) {
|
1659 |
-
|
1660 |
-
|
1661 |
-
|
1662 |
-
|
1663 |
-
|
1664 |
-
|
1665 |
}
|
1666 |
|
1667 |
if ( ! function_exists( 'learn_press_output_single_course_landing_summary' ) ) {
|
1668 |
-
|
1669 |
-
|
1670 |
-
|
1671 |
-
|
1672 |
-
|
1673 |
-
|
1674 |
}
|
1675 |
|
1676 |
if ( ! function_exists( 'learn_press_course_title' ) ) {
|
1677 |
-
|
1678 |
-
|
1679 |
-
|
1680 |
-
|
1681 |
-
|
1682 |
-
|
1683 |
}
|
1684 |
|
1685 |
if ( ! function_exists( 'learn_press_course_progress' ) ) {
|
1686 |
-
|
1687 |
-
|
1688 |
-
|
1689 |
-
|
1690 |
-
|
1691 |
-
|
1692 |
}
|
1693 |
|
1694 |
if ( ! function_exists( 'learn_press_course_finish_button' ) ) {
|
1695 |
-
|
1696 |
-
|
1697 |
-
|
1698 |
-
|
1699 |
-
|
1700 |
-
|
1701 |
}
|
1702 |
|
1703 |
if ( ! function_exists( 'learn_press_course_curriculum' ) ) {
|
1704 |
-
|
1705 |
-
|
1706 |
-
|
1707 |
-
|
1708 |
-
|
1709 |
-
|
1710 |
}
|
1711 |
|
1712 |
if ( ! function_exists( 'learn_press_course_categories' ) ) {
|
1713 |
-
|
1714 |
-
|
1715 |
-
|
1716 |
-
|
1717 |
-
|
1718 |
-
|
1719 |
}
|
1720 |
|
1721 |
if ( ! function_exists( 'learn_press_course_tags' ) ) {
|
1722 |
-
|
1723 |
-
|
1724 |
-
|
1725 |
-
|
1726 |
-
|
1727 |
-
|
1728 |
}
|
1729 |
|
1730 |
if ( ! function_exists( 'learn_press_course_instructor' ) ) {
|
1731 |
-
|
1732 |
-
|
1733 |
-
|
1734 |
-
|
1735 |
-
|
1736 |
-
|
1737 |
}
|
1738 |
|
1739 |
if ( ! function_exists( 'learn_press_content_single_item' ) ) {
|
1740 |
-
|
1741 |
|
1742 |
-
|
1743 |
-
|
1744 |
-
|
1745 |
-
|
1746 |
-
|
1747 |
-
|
1748 |
}
|
1749 |
|
1750 |
if ( ! function_exists( 'learn_press_content_single_course' ) ) {
|
1751 |
-
|
1752 |
|
1753 |
-
|
1754 |
-
|
1755 |
-
|
1756 |
-
|
1757 |
}
|
1758 |
|
1759 |
if ( ! function_exists( 'learn_press_course_buttons' ) ) {
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
1766 |
}
|
1767 |
|
1768 |
if ( ! function_exists( 'learn_press_course_remaining_time' ) ) {
|
1769 |
|
1770 |
-
|
1771 |
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
1775 |
|
1776 |
-
|
1777 |
-
|
1778 |
-
|
1779 |
|
1780 |
-
|
1781 |
-
|
1782 |
-
|
1783 |
|
1784 |
-
|
1785 |
-
|
1786 |
-
|
1787 |
|
1788 |
-
|
1789 |
-
|
1790 |
}
|
1791 |
|
1792 |
if ( ! function_exists( 'learn_press_course_thumbnail' ) ) {
|
1793 |
-
|
1794 |
-
|
1795 |
-
|
1796 |
-
|
1797 |
-
|
1798 |
-
|
1799 |
}
|
1800 |
|
1801 |
if ( ! function_exists( 'learn_press_single_course_description' ) ) {
|
1802 |
-
|
1803 |
-
|
1804 |
-
|
1805 |
-
|
1806 |
-
|
1807 |
-
|
1808 |
}
|
1809 |
|
1810 |
if ( ! function_exists( 'learn_press_single_course_lesson_content' ) ) {
|
1811 |
-
|
1812 |
-
|
1813 |
-
|
1814 |
-
|
1815 |
-
|
1816 |
-
|
1817 |
}
|
1818 |
|
1819 |
if ( ! function_exists( 'learn_press_single_course_content_item' ) ) {
|
1820 |
-
|
1821 |
-
|
1822 |
-
|
1823 |
-
|
1824 |
-
|
1825 |
-
|
1826 |
}
|
1827 |
|
1828 |
if ( ! function_exists( 'learn_press_section_item_meta' ) ) {
|
1829 |
-
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
-
|
1836 |
-
|
1837 |
-
|
1838 |
-
|
1839 |
-
|
1840 |
}
|
1841 |
|
1842 |
if ( ! function_exists( 'learn_press_order_details_table' ) ) {
|
1843 |
|
1844 |
-
|
1845 |
-
|
1846 |
-
|
1847 |
-
|
1848 |
-
|
1849 |
-
|
1850 |
-
|
1851 |
-
|
1852 |
-
|
1853 |
-
|
1854 |
-
|
1855 |
|
1856 |
-
|
1857 |
-
|
1858 |
-
|
1859 |
-
|
1860 |
}
|
1861 |
|
1862 |
if ( ! function_exists( 'learn_press_checkout_user_form' ) ) {
|
1863 |
-
|
1864 |
-
|
1865 |
-
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
}
|
1870 |
|
1871 |
if ( ! function_exists( 'learn_press_checkout_user_form_login' ) ) {
|
1872 |
-
|
1873 |
-
|
1874 |
-
|
1875 |
-
|
1876 |
-
|
1877 |
-
|
1878 |
}
|
1879 |
|
1880 |
if ( ! function_exists( 'learn_press_checkout_user_form_register' ) ) {
|
1881 |
-
|
1882 |
-
|
1883 |
-
|
1884 |
-
|
1885 |
-
|
1886 |
-
|
1887 |
}
|
1888 |
|
1889 |
if ( ! function_exists( 'learn_press_checkout_user_logged_in' ) ) {
|
1890 |
-
|
1891 |
-
|
1892 |
-
|
1893 |
-
|
1894 |
-
|
1895 |
-
|
1896 |
}
|
1897 |
|
1898 |
if ( ! function_exists( 'learn_press_enroll_script' ) ) {
|
1899 |
-
|
1900 |
-
|
1901 |
-
|
1902 |
-
|
1903 |
-
|
1904 |
-
|
1905 |
}
|
1906 |
|
1907 |
if ( ! function_exists( 'learn_press_output_user_profile_tabs' ) ) {
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
1914 |
-
|
1915 |
-
|
1916 |
-
|
1917 |
-
|
1918 |
-
|
1919 |
-
|
1920 |
}
|
1921 |
|
1922 |
if ( ! function_exists( 'learn_press_output_user_profile_order' ) ) {
|
1923 |
-
|
1924 |
-
|
1925 |
-
|
1926 |
-
|
1927 |
-
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
}
|
1933 |
if ( ! function_exists( 'learn_press_profile_tab_courses_all' ) ) {
|
1934 |
-
|
1935 |
-
|
1936 |
-
|
1937 |
-
|
1938 |
-
|
1939 |
-
|
1940 |
-
|
1941 |
-
|
1942 |
-
|
1943 |
-
|
1944 |
-
|
1945 |
-
|
1946 |
-
|
1947 |
-
|
1948 |
-
|
1949 |
-
|
1950 |
-
|
1951 |
-
|
1952 |
}
|
1953 |
|
1954 |
if ( ! function_exists( 'learn_press_profile_tab_courses_learning' ) ) {
|
1955 |
-
|
1956 |
-
|
1957 |
-
|
1958 |
-
|
1959 |
-
|
1960 |
-
|
1961 |
-
|
1962 |
-
|
1963 |
-
|
1964 |
-
|
1965 |
-
|
1966 |
-
|
1967 |
-
|
1968 |
-
|
1969 |
-
|
1970 |
-
|
1971 |
-
|
1972 |
-
|
1973 |
}
|
1974 |
|
1975 |
if ( ! function_exists( 'learn_press_profile_tab_courses_purchased' ) ) {
|
1976 |
-
|
1977 |
-
|
1978 |
-
|
1979 |
-
|
1980 |
-
|
1981 |
-
|
1982 |
-
|
1983 |
-
|
1984 |
-
|
1985 |
-
|
1986 |
-
|
1987 |
-
|
1988 |
-
|
1989 |
-
|
1990 |
-
|
1991 |
-
|
1992 |
-
|
1993 |
-
|
1994 |
}
|
1995 |
|
1996 |
if ( ! function_exists( 'learn_press_profile_tab_courses_finished' ) ) {
|
1997 |
-
|
1998 |
-
|
1999 |
-
|
2000 |
-
|
2001 |
-
|
2002 |
-
|
2003 |
-
|
2004 |
-
|
2005 |
-
|
2006 |
-
|
2007 |
-
|
2008 |
-
|
2009 |
-
|
2010 |
-
|
2011 |
-
|
2012 |
-
|
2013 |
-
|
2014 |
-
|
2015 |
}
|
2016 |
|
2017 |
if ( ! function_exists( 'learn_press_profile_tab_courses_own' ) ) {
|
2018 |
-
|
2019 |
-
|
2020 |
-
|
2021 |
-
|
2022 |
-
|
2023 |
-
|
2024 |
-
|
2025 |
-
|
2026 |
-
|
2027 |
-
|
2028 |
-
|
2029 |
-
|
2030 |
-
|
2031 |
-
|
2032 |
-
|
2033 |
-
|
2034 |
-
|
2035 |
-
|
2036 |
}
|
2037 |
|
2038 |
if ( ! function_exists( 'learn_press_after_profile_tab_loop_course' ) ) {
|
2039 |
-
|
2040 |
-
|
2041 |
-
|
2042 |
-
|
2043 |
-
|
2044 |
-
|
2045 |
-
|
2046 |
-
|
2047 |
-
|
2048 |
-
|
2049 |
-
|
2050 |
-
|
2051 |
|
2052 |
-
|
2053 |
}
|
2054 |
|
2055 |
|
2056 |
if ( ! function_exists( 'learn_press_output_user_profile_info' ) ) {
|
2057 |
-
|
2058 |
-
|
2059 |
-
|
2060 |
-
|
2061 |
-
|
2062 |
-
|
2063 |
-
|
2064 |
-
|
2065 |
-
|
2066 |
-
|
2067 |
-
|
2068 |
-
|
2069 |
}
|
2070 |
|
2071 |
/* QUIZ TEMPLATES */
|
2072 |
if ( ! function_exists( 'learn_press_single_quiz_title' ) ) {
|
2073 |
-
|
2074 |
-
|
2075 |
-
|
2076 |
-
|
2077 |
-
|
2078 |
-
|
2079 |
}
|
2080 |
|
2081 |
if ( ! function_exists( 'learn_press_course_loop_item_buttons' ) ) {
|
2082 |
-
|
2083 |
-
|
2084 |
-
|
2085 |
}
|
2086 |
|
2087 |
if ( ! function_exists( 'learn_press_course_loop_item_user_progress' ) ) {
|
2088 |
-
|
2089 |
-
|
2090 |
-
|
2091 |
|
2092 |
-
|
2093 |
-
|
2094 |
-
|
2095 |
|
2096 |
-
|
2097 |
-
|
2098 |
-
|
2099 |
-
|
2100 |
}
|
2101 |
|
2102 |
if ( ! function_exists( 'learn_press_course_item_class' ) ) {
|
2103 |
-
|
2104 |
-
|
2105 |
-
|
2106 |
-
|
2107 |
-
|
2108 |
-
|
2109 |
-
|
2110 |
-
|
2111 |
-
|
2112 |
-
|
2113 |
}
|
2114 |
|
2115 |
if ( ! function_exists( 'learn_press_course_lesson_class' ) ) {
|
2116 |
-
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
-
|
2121 |
-
|
2122 |
-
|
2123 |
-
|
2124 |
-
|
2125 |
-
|
2126 |
-
|
2127 |
-
|
2128 |
-
|
2129 |
-
|
2130 |
-
|
2131 |
-
|
2132 |
-
|
2133 |
-
|
2134 |
-
|
2135 |
-
|
2136 |
-
|
2137 |
-
|
2138 |
-
|
2139 |
-
|
2140 |
-
|
2141 |
-
|
2142 |
-
|
2143 |
-
|
2144 |
-
|
2145 |
-
|
2146 |
-
|
2147 |
-
|
2148 |
-
|
2149 |
-
|
2150 |
-
|
2151 |
-
|
2152 |
-
|
2153 |
-
|
2154 |
-
|
2155 |
-
|
2156 |
-
|
2157 |
-
|
2158 |
-
|
2159 |
-
|
2160 |
-
|
2161 |
-
|
2162 |
-
|
2163 |
-
|
2164 |
-
|
2165 |
-
|
2166 |
-
|
2167 |
-
|
2168 |
-
|
2169 |
-
|
2170 |
-
|
2171 |
-
|
2172 |
-
|
2173 |
-
|
2174 |
-
|
2175 |
-
|
2176 |
}
|
2177 |
|
2178 |
if ( ! function_exists( 'learn_press_course_quiz_class' ) ) {
|
2179 |
-
|
2180 |
-
|
2181 |
-
|
2182 |
-
|
2183 |
-
|
2184 |
-
|
2185 |
-
|
2186 |
-
|
2187 |
-
|
2188 |
-
|
2189 |
-
|
2190 |
-
|
2191 |
-
|
2192 |
-
|
2193 |
-
|
2194 |
-
|
2195 |
-
|
2196 |
-
|
2197 |
-
|
2198 |
-
|
2199 |
-
|
2200 |
-
|
2201 |
-
|
2202 |
-
|
2203 |
-
|
2204 |
-
|
2205 |
-
|
2206 |
-
|
2207 |
-
|
2208 |
-
|
2209 |
-
|
2210 |
-
|
2211 |
-
|
2212 |
-
|
2213 |
-
|
2214 |
-
|
2215 |
-
|
2216 |
-
|
2217 |
-
|
2218 |
-
|
2219 |
-
|
2220 |
-
|
2221 |
-
|
2222 |
-
|
2223 |
-
|
2224 |
-
|
2225 |
-
|
2226 |
-
|
2227 |
-
|
2228 |
-
|
2229 |
-
|
2230 |
-
|
2231 |
-
|
2232 |
-
|
2233 |
}
|
2234 |
|
2235 |
if ( ! function_exists( 'learn_press_message' ) ) {
|
2236 |
-
|
2237 |
-
|
2238 |
-
|
2239 |
-
|
2240 |
-
|
2241 |
-
|
2242 |
-
|
2243 |
-
|
2244 |
-
|
2245 |
}
|
2246 |
|
2247 |
/******************************/
|
2248 |
|
2249 |
|
2250 |
if ( ! function_exists( 'learn_press_course_class' ) ) {
|
2251 |
-
|
2252 |
-
|
2253 |
-
|
2254 |
-
|
2255 |
-
|
2256 |
-
|
2257 |
-
|
2258 |
-
|
2259 |
-
|
2260 |
-
|
2261 |
-
|
2262 |
-
|
2263 |
-
|
2264 |
-
|
2265 |
-
|
2266 |
-
|
2267 |
-
|
2268 |
-
|
2269 |
-
|
2270 |
-
|
2271 |
-
|
2272 |
-
|
2273 |
-
|
2274 |
-
|
2275 |
-
|
2276 |
-
|
2277 |
}
|
2278 |
/**
|
2279 |
* When the_post is called, put course data into a global.
|
@@ -2284,38 +2290,38 @@ if ( ! function_exists( 'learn_press_course_class' ) ) {
|
|
2284 |
*/
|
2285 |
function learn_press_setup_object_data( $post ) {
|
2286 |
|
2287 |
-
|
2288 |
|
2289 |
-
|
2290 |
-
|
2291 |
-
|
2292 |
|
2293 |
-
|
2294 |
-
|
2295 |
-
|
2296 |
|
2297 |
-
|
2298 |
-
|
2299 |
-
|
2300 |
-
|
2301 |
|
2302 |
-
|
2303 |
-
|
2304 |
-
|
2305 |
-
|
2306 |
|
2307 |
|
2308 |
-
|
2309 |
}
|
2310 |
|
2311 |
add_action( 'the_post', 'learn_press_setup_object_data' );
|
2312 |
|
2313 |
function learn_press_setup_user() {
|
2314 |
-
|
2315 |
}
|
2316 |
|
2317 |
if ( ! is_admin() ) {
|
2318 |
-
|
2319 |
}
|
2320 |
|
2321 |
/**
|
@@ -2327,16 +2333,16 @@ if ( ! is_admin() ) {
|
|
2327 |
|
2328 |
function learn_press_display_message( $message, $type = 'success' ) {
|
2329 |
|
2330 |
-
|
2331 |
-
|
2332 |
-
|
2333 |
|
2334 |
-
|
2335 |
-
|
2336 |
-
|
2337 |
|
2338 |
-
|
2339 |
-
|
2340 |
}
|
2341 |
|
2342 |
/**
|
@@ -2347,10 +2353,10 @@ function learn_press_display_message( $message, $type = 'success' ) {
|
|
2347 |
* @return string
|
2348 |
*/
|
2349 |
function learn_press_get_messages( $clear = false ) {
|
2350 |
-
|
2351 |
-
|
2352 |
|
2353 |
-
|
2354 |
}
|
2355 |
|
2356 |
/**
|
@@ -2363,42 +2369,42 @@ function learn_press_get_messages( $clear = false ) {
|
|
2363 |
*/
|
2364 |
function learn_press_add_message( $message, $type = 'success', $options = array(), $current_user = true ) {
|
2365 |
|
2366 |
-
|
2367 |
-
|
2368 |
-
|
2369 |
|
2370 |
-
|
2371 |
-
|
2372 |
-
|
2373 |
-
|
2374 |
-
|
2375 |
-
|
2376 |
|
2377 |
-
|
2378 |
-
|
2379 |
-
|
2380 |
-
|
2381 |
-
|
2382 |
|
2383 |
-
|
2384 |
|
2385 |
-
|
2386 |
|
2387 |
-
|
2388 |
-
|
2389 |
-
|
2390 |
|
2391 |
-
|
2392 |
|
2393 |
-
|
2394 |
}
|
2395 |
|
2396 |
function learn_press_get_message( $message, $type = 'success' ) {
|
2397 |
-
|
2398 |
-
|
2399 |
-
|
2400 |
|
2401 |
-
|
2402 |
}
|
2403 |
|
2404 |
/**
|
@@ -2411,35 +2417,35 @@ function learn_press_get_message( $message, $type = 'success' ) {
|
|
2411 |
*
|
2412 |
*/
|
2413 |
function learn_press_remove_message( $id = '', $type = '' ) {
|
2414 |
-
|
2415 |
-
|
2416 |
-
|
2417 |
-
|
2418 |
-
|
2419 |
-
|
2420 |
-
|
2421 |
-
|
2422 |
-
|
2423 |
-
|
2424 |
-
|
2425 |
-
|
2426 |
-
|
2427 |
-
|
2428 |
-
|
2429 |
-
|
2430 |
-
|
2431 |
-
|
2432 |
-
|
2433 |
-
|
2434 |
-
|
2435 |
-
|
2436 |
-
|
2437 |
-
|
2438 |
-
|
2439 |
-
|
2440 |
-
|
2441 |
-
|
2442 |
-
|
2443 |
}
|
2444 |
|
2445 |
/**
|
@@ -2448,167 +2454,167 @@ function learn_press_remove_message( $id = '', $type = '' ) {
|
|
2448 |
* @param bool
|
2449 |
*/
|
2450 |
function learn_press_print_messages( $clear = true ) {
|
2451 |
-
|
2452 |
-
|
2453 |
-
|
2454 |
-
|
2455 |
-
|
2456 |
}
|
2457 |
|
2458 |
function learn_press_message_count( $type = '' ) {
|
2459 |
-
|
2460 |
-
|
2461 |
-
|
2462 |
-
|
2463 |
-
|
2464 |
-
|
2465 |
-
|
2466 |
-
|
2467 |
-
|
2468 |
-
|
2469 |
|
2470 |
-
|
2471 |
}
|
2472 |
|
2473 |
function learn_press_session_message_id() {
|
2474 |
-
|
2475 |
}
|
2476 |
|
2477 |
function learn_press_clear_messages() {
|
2478 |
-
|
2479 |
-
|
2480 |
}
|
2481 |
|
2482 |
/**
|
2483 |
* Displays messages before main content
|
2484 |
*/
|
2485 |
function _learn_press_print_messages() {
|
2486 |
-
|
2487 |
-
|
2488 |
-
|
2489 |
-
|
2490 |
-
|
2491 |
}
|
2492 |
|
2493 |
add_action( 'learn_press_before_main_content', '_learn_press_print_messages', 50 );
|
2494 |
add_action( 'learn-press/before-course-item-content', '_learn_press_print_messages', 50 );
|
2495 |
|
2496 |
if ( ! function_exists( 'learn_press_page_controller' ) ) {
|
2497 |
-
|
2498 |
-
|
2499 |
-
|
2500 |
-
|
2501 |
-
|
2502 |
-
|
2503 |
-
|
2504 |
-
|
2505 |
-
|
2506 |
-
|
2507 |
-
|
2508 |
-
|
2509 |
-
|
2510 |
-
|
2511 |
-
|
2512 |
-
|
2513 |
-
|
2514 |
-
|
2515 |
-
|
2516 |
-
|
2517 |
-
|
2518 |
-
|
2519 |
-
|
2520 |
-
|
2521 |
-
|
2522 |
-
|
2523 |
-
|
2524 |
-
|
2525 |
-
|
2526 |
-
|
2527 |
-
|
2528 |
-
|
2529 |
-
|
2530 |
-
|
2531 |
-
|
2532 |
-
|
2533 |
-
|
2534 |
-
|
2535 |
-
|
2536 |
-
|
2537 |
-
|
2538 |
-
|
2539 |
-
|
2540 |
-
|
2541 |
-
|
2542 |
-
|
2543 |
-
|
2544 |
-
|
2545 |
-
|
2546 |
-
|
2547 |
-
|
2548 |
-
|
2549 |
-
|
2550 |
-
|
2551 |
-
|
2552 |
-
|
2553 |
-
|
2554 |
-
|
2555 |
-
|
2556 |
-
|
2557 |
-
|
2558 |
-
|
2559 |
-
|
2560 |
-
|
2561 |
-
|
2562 |
}
|
2563 |
//add_filter( 'template_include', 'learn_press_page_controller' );
|
2564 |
|
2565 |
if ( ! function_exists( 'learn_press_page_title' ) ) {
|
2566 |
|
2567 |
-
|
2568 |
-
|
2569 |
-
|
2570 |
-
|
2571 |
-
|
2572 |
-
|
2573 |
-
|
2574 |
-
|
2575 |
|
2576 |
-
|
2577 |
-
|
2578 |
|
2579 |
-
|
2580 |
-
|
2581 |
-
|
2582 |
|
2583 |
-
|
2584 |
|
2585 |
-
|
2586 |
|
2587 |
-
|
2588 |
|
2589 |
-
|
2590 |
-
|
2591 |
|
2592 |
-
|
2593 |
|
2594 |
-
|
2595 |
|
2596 |
-
|
2597 |
-
|
2598 |
-
|
2599 |
-
|
2600 |
-
|
2601 |
-
|
2602 |
}
|
2603 |
|
2604 |
function learn_press_template_redirect() {
|
2605 |
-
|
2606 |
|
2607 |
-
|
2608 |
-
|
2609 |
-
|
2610 |
-
|
2611 |
-
|
2612 |
}
|
2613 |
|
2614 |
add_action( 'template_redirect', 'learn_press_template_redirect' );
|
@@ -2623,35 +2629,35 @@ add_action( 'template_redirect', 'learn_press_template_redirect' );
|
|
2623 |
* @return string
|
2624 |
*/
|
2625 |
function learn_press_get_template_part( $slug, $name = '' ) {
|
2626 |
-
|
2627 |
-
|
2628 |
-
|
2629 |
-
|
2630 |
-
|
2631 |
-
|
2632 |
-
|
2633 |
-
|
2634 |
-
|
2635 |
|
2636 |
-
|
2637 |
-
|
2638 |
-
|
2639 |
-
|
2640 |
|
2641 |
-
|
2642 |
-
|
2643 |
-
|
2644 |
-
|
2645 |
|
2646 |
-
|
2647 |
-
|
2648 |
-
|
2649 |
-
|
2650 |
-
|
2651 |
-
|
2652 |
-
|
2653 |
|
2654 |
-
|
2655 |
}
|
2656 |
|
2657 |
/**
|
@@ -2665,31 +2671,31 @@ function learn_press_get_template_part( $slug, $name = '' ) {
|
|
2665 |
* @return void
|
2666 |
*/
|
2667 |
function learn_press_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
|
2668 |
-
|
2669 |
-
|
2670 |
-
|
2671 |
|
2672 |
-
|
2673 |
-
|
2674 |
-
|
2675 |
|
2676 |
-
|
2677 |
|
2678 |
-
|
2679 |
-
|
2680 |
|
2681 |
-
|
2682 |
-
|
2683 |
-
|
2684 |
-
|
2685 |
-
|
2686 |
-
|
2687 |
-
|
2688 |
|
2689 |
-
|
2690 |
|
2691 |
-
|
2692 |
-
|
2693 |
}
|
2694 |
|
2695 |
/**
|
@@ -2705,10 +2711,10 @@ function learn_press_get_template( $template_name, $args = array(), $template_pa
|
|
2705 |
*
|
2706 |
*/
|
2707 |
function learn_press_get_template_content( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
|
2708 |
-
|
2709 |
-
|
2710 |
|
2711 |
-
|
2712 |
}
|
2713 |
|
2714 |
/**
|
@@ -2729,29 +2735,29 @@ function learn_press_get_template_content( $template_name, $args = array(), $tem
|
|
2729 |
* @return string
|
2730 |
*/
|
2731 |
function learn_press_locate_template( $template_name, $template_path = '', $default_path = '' ) {
|
2732 |
-
|
2733 |
-
|
2734 |
-
|
2735 |
-
|
2736 |
-
if ( ! $default_path ) {
|
2737 |
-
$default_path = LP_PLUGIN_PATH . 'templates/';
|
2738 |
-
}
|
2739 |
|
2740 |
-
|
2741 |
-
|
2742 |
-
|
2743 |
-
trailingslashit( $template_path ) . $template_name,
|
2744 |
-
$template_name
|
2745 |
-
)
|
2746 |
-
);
|
2747 |
|
2748 |
-
|
2749 |
-
|
2750 |
-
|
2751 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2752 |
|
2753 |
-
|
2754 |
-
|
2755 |
}
|
2756 |
|
2757 |
/**
|
@@ -2762,134 +2768,134 @@ function learn_press_locate_template( $template_name, $template_path = '', $defa
|
|
2762 |
* @return string
|
2763 |
*/
|
2764 |
function learn_press_template_path( $slash = false ) {
|
2765 |
-
|
2766 |
}
|
2767 |
|
2768 |
|
2769 |
if ( ! function_exists( 'learn_press_is_404' ) ) {
|
2770 |
-
|
2771 |
-
|
2772 |
-
|
2773 |
-
|
2774 |
-
|
2775 |
-
|
2776 |
-
|
2777 |
-
|
2778 |
-
|
2779 |
-
|
2780 |
-
|
2781 |
}
|
2782 |
|
2783 |
if ( ! function_exists( 'learn_press_404_page' ) ) {
|
2784 |
-
|
2785 |
-
|
2786 |
-
|
2787 |
-
|
2788 |
-
|
2789 |
-
|
2790 |
}
|
2791 |
|
2792 |
if ( ! function_exists( 'learn_press_generate_template_information' ) ) {
|
2793 |
-
|
2794 |
-
|
2795 |
-
|
2796 |
-
|
2797 |
-
|
2798 |
-
|
2799 |
}
|
2800 |
|
2801 |
if ( ! function_exists( 'learn_press_course_remaining_time' ) ) {
|
2802 |
-
|
2803 |
-
|
2804 |
-
|
2805 |
-
|
2806 |
-
|
2807 |
-
|
2808 |
-
|
2809 |
-
|
2810 |
-
|
2811 |
}
|
2812 |
|
2813 |
//add_filter( 'template_include', 'learn_press_permission_view_quiz', 100 );
|
2814 |
function learn_press_permission_view_quiz( $template ) {
|
2815 |
-
|
2816 |
-
|
2817 |
-
|
2818 |
-
|
2819 |
-
|
2820 |
-
|
2821 |
-
|
2822 |
-
|
2823 |
-
|
2824 |
-
|
2825 |
-
|
2826 |
-
|
2827 |
-
|
2828 |
-
|
2829 |
-
|
2830 |
-
|
2831 |
-
|
2832 |
-
|
2833 |
}
|
2834 |
|
2835 |
|
2836 |
if ( ! function_exists( 'learn_press_item_meta_type' ) ) {
|
2837 |
-
|
2838 |
|
2839 |
-
|
2840 |
|
2841 |
<span class="lp-label lp-label-quiz"><?php _e( 'Quiz', 'learnpress' ); ?></span>
|
2842 |
|
2843 |
-
|
2844 |
|
2845 |
<span class="lp-label lp-label-final"><?php _e( 'Final', 'learnpress' ); ?></span>
|
2846 |
|
2847 |
-
|
2848 |
|
2849 |
-
|
2850 |
|
2851 |
<span class="lp-label lp-label-lesson"><?php _e( 'Lesson', 'learnpress' ); ?></span>
|
2852 |
-
|
2853 |
|
2854 |
<span class="lp-label lp-label-preview"><?php _e( 'Preview', 'learnpress' ); ?></span>
|
2855 |
|
2856 |
-
|
2857 |
|
2858 |
-
|
2859 |
|
2860 |
-
|
2861 |
|
2862 |
-
|
2863 |
-
|
2864 |
}
|
2865 |
|
2866 |
function learn_press_single_course_js() {
|
2867 |
-
|
2868 |
-
|
2869 |
-
|
2870 |
-
|
2871 |
-
|
2872 |
-
|
2873 |
-
|
2874 |
-
|
2875 |
-
|
2876 |
-
|
2877 |
-
|
2878 |
-
|
2879 |
-
|
2880 |
-
|
2881 |
-
|
2882 |
-
|
2883 |
-
|
2884 |
-
|
2885 |
-
|
2886 |
-
|
2887 |
-
|
2888 |
-
|
2889 |
-
|
2890 |
-
|
2891 |
-
|
2892 |
-
|
2893 |
}
|
2894 |
|
2895 |
///add_action( 'wp_head', 'learn_press_single_course_js' );
|
@@ -2900,645 +2906,645 @@ function learn_press_single_course_js() {
|
|
2900 |
|
2901 |
|
2902 |
if ( ! function_exists( 'learn_press_course_overview_tab' ) ) {
|
2903 |
-
|
2904 |
-
|
2905 |
-
|
2906 |
-
|
2907 |
-
|
2908 |
-
|
2909 |
-
|
2910 |
-
|
2911 |
}
|
2912 |
|
2913 |
if ( ! function_exists( 'learn_press_course_curriculum_tab' ) ) {
|
2914 |
-
|
2915 |
-
|
2916 |
-
|
2917 |
-
|
2918 |
-
|
2919 |
-
|
2920 |
-
|
2921 |
-
|
2922 |
}
|
2923 |
|
2924 |
if ( ! function_exists( 'learn_press_course_instructor_tab' ) ) {
|
2925 |
-
|
2926 |
-
|
2927 |
-
|
2928 |
-
|
2929 |
-
|
2930 |
-
|
2931 |
-
|
2932 |
-
|
2933 |
}
|
2934 |
|
2935 |
if ( ! function_exists( 'learn_press_sort_course_tabs' ) ) {
|
2936 |
|
2937 |
-
|
2938 |
-
|
2939 |
|
2940 |
-
|
2941 |
-
|
2942 |
}
|
2943 |
|
2944 |
if ( ! function_exists( 'learn_press_get_profile_display_name' ) ) {
|
2945 |
-
|
2946 |
-
|
2947 |
-
|
2948 |
-
|
2949 |
-
|
2950 |
-
|
2951 |
-
|
2952 |
-
|
2953 |
-
|
2954 |
-
|
2955 |
-
|
2956 |
-
|
2957 |
-
|
2958 |
-
|
2959 |
-
|
2960 |
-
|
2961 |
-
|
2962 |
-
|
2963 |
-
|
2964 |
-
|
2965 |
-
|
2966 |
-
|
2967 |
-
|
2968 |
-
|
2969 |
-
|
2970 |
-
|
2971 |
}
|
2972 |
|
2973 |
if ( ! function_exists( 'learn_press_profile_dashboard_logged_in' ) ) {
|
2974 |
-
|
2975 |
-
|
2976 |
-
|
2977 |
}
|
2978 |
|
2979 |
if ( ! function_exists( 'learn_press_profile_dashboard_user_bio' ) ) {
|
2980 |
-
|
2981 |
-
|
2982 |
|
2983 |
-
|
2984 |
-
|
2985 |
-
|
2986 |
|
2987 |
-
|
2988 |
-
|
2989 |
}
|
2990 |
|
2991 |
if ( ! function_exists( 'learn_press_profile_dashboard_not_logged_in' ) ) {
|
2992 |
-
|
2993 |
-
|
2994 |
|
2995 |
-
|
2996 |
-
|
2997 |
-
|
2998 |
|
2999 |
-
|
3000 |
-
|
3001 |
-
|
3002 |
|
3003 |
-
|
3004 |
-
|
3005 |
}
|
3006 |
|
3007 |
if ( ! function_exists( 'learn_press_profile_login_form' ) ) {
|
3008 |
-
|
3009 |
-
|
3010 |
|
3011 |
-
|
3012 |
-
|
3013 |
-
|
3014 |
-
|
3015 |
|
3016 |
-
|
3017 |
-
|
3018 |
-
|
3019 |
|
3020 |
-
|
3021 |
-
|
3022 |
-
|
3023 |
|
3024 |
-
|
3025 |
-
|
3026 |
}
|
3027 |
|
3028 |
if ( ! function_exists( 'learn_press_profile_register_form' ) ) {
|
3029 |
-
|
3030 |
-
|
3031 |
-
|
3032 |
-
|
3033 |
|
3034 |
-
|
3035 |
|
3036 |
-
|
3037 |
-
|
3038 |
-
|
3039 |
|
3040 |
-
|
3041 |
-
|
3042 |
-
|
3043 |
|
3044 |
-
|
3045 |
-
|
3046 |
}
|
3047 |
|
3048 |
if ( ! function_exists( 'learn_press_content_item_lesson_title' ) ) {
|
3049 |
-
|
3050 |
-
|
3051 |
-
|
3052 |
|
3053 |
-
|
3054 |
-
|
3055 |
|
3056 |
-
|
3057 |
-
|
3058 |
|
3059 |
-
|
3060 |
-
|
3061 |
-
|
3062 |
|
3063 |
-
|
3064 |
-
|
3065 |
}
|
3066 |
|
3067 |
if ( ! function_exists( 'learn_press_content_item_lesson_content' ) ) {
|
3068 |
-
|
3069 |
-
|
3070 |
-
|
3071 |
|
3072 |
-
|
3073 |
-
|
3074 |
|
3075 |
-
|
3076 |
-
|
3077 |
|
3078 |
-
|
3079 |
-
|
3080 |
-
|
3081 |
}
|
3082 |
|
3083 |
if ( ! function_exists( 'learn_press_content_item_lesson_content_blocked' ) ) {
|
3084 |
-
|
3085 |
-
|
3086 |
|
3087 |
-
|
3088 |
-
|
3089 |
-
|
3090 |
|
3091 |
-
|
3092 |
-
|
3093 |
}
|
3094 |
|
3095 |
if ( ! function_exists( 'learn_press_content_item_lesson_complete_button' ) ) {
|
3096 |
-
|
3097 |
-
|
3098 |
-
|
3099 |
-
|
3100 |
-
|
3101 |
-
|
3102 |
-
|
3103 |
-
|
3104 |
-
|
3105 |
-
|
3106 |
-
|
3107 |
|
3108 |
-
|
3109 |
-
|
3110 |
-
|
3111 |
|
3112 |
-
|
3113 |
-
|
3114 |
-
|
3115 |
|
3116 |
-
|
3117 |
-
|
3118 |
-
|
3119 |
-
|
3120 |
-
|
3121 |
-
|
3122 |
|
3123 |
-
|
3124 |
-
|
3125 |
}
|
3126 |
|
3127 |
if ( ! function_exists( 'learn_press_content_item_header' ) ) {
|
3128 |
-
|
3129 |
-
|
3130 |
-
|
3131 |
}
|
3132 |
|
3133 |
if ( ! function_exists( 'learn_press_content_item_footer' ) ) {
|
3134 |
-
|
3135 |
-
|
3136 |
-
|
3137 |
}
|
3138 |
|
3139 |
if ( ! function_exists( 'learn_press_content_item_review_quiz_title' ) ) {
|
3140 |
-
|
3141 |
-
|
3142 |
-
|
3143 |
-
|
3144 |
-
|
3145 |
}
|
3146 |
|
3147 |
if ( ! function_exists( 'learn_press_become_teacher_messages' ) ) {
|
3148 |
-
|
3149 |
-
|
3150 |
-
|
3151 |
-
|
3152 |
-
|
3153 |
|
3154 |
-
|
3155 |
-
|
3156 |
}
|
3157 |
|
3158 |
if ( ! function_exists( 'learn_press_become_teacher_heading' ) ) {
|
3159 |
|
3160 |
-
|
3161 |
-
|
3162 |
-
|
3163 |
-
|
3164 |
-
|
3165 |
-
|
3166 |
<h3><?php _e( 'Fill out the form and send us your requesting.', 'learnpress' ); ?></h3>
|
3167 |
-
|
3168 |
-
|
3169 |
}
|
3170 |
|
3171 |
if ( ! function_exists( 'learn_press_become_teacher_form_fields' ) ) {
|
3172 |
|
3173 |
-
|
3174 |
-
|
3175 |
-
|
3176 |
-
|
3177 |
-
|
3178 |
|
3179 |
-
|
3180 |
|
3181 |
-
|
3182 |
-
|
3183 |
-
|
3184 |
}
|
3185 |
|
3186 |
if ( ! function_exists( 'learn_press_become_teacher_button' ) ) {
|
3187 |
|
3188 |
-
|
3189 |
-
|
3190 |
-
|
3191 |
-
|
3192 |
-
|
3193 |
|
3194 |
-
|
3195 |
-
|
3196 |
}
|
3197 |
|
3198 |
if ( ! function_exists( 'learn_press_content_item_comments' ) ) {
|
3199 |
|
3200 |
-
|
3201 |
|
3202 |
-
|
3203 |
|
3204 |
-
|
3205 |
-
|
3206 |
-
|
3207 |
|
3208 |
-
|
3209 |
-
|
3210 |
-
|
3211 |
|
3212 |
-
|
3213 |
|
3214 |
-
|
3215 |
|
3216 |
-
|
3217 |
|
3218 |
-
|
3219 |
-
|
3220 |
-
|
3221 |
|
3222 |
-
|
3223 |
|
3224 |
-
|
3225 |
-
|
3226 |
}
|
3227 |
|
3228 |
if ( ! function_exists( 'learn_press_content_item_nav' ) ) {
|
3229 |
-
|
3230 |
-
|
3231 |
-
|
3232 |
-
|
3233 |
-
|
3234 |
-
|
3235 |
-
|
3236 |
-
|
3237 |
-
|
3238 |
-
|
3239 |
-
|
3240 |
-
|
3241 |
-
|
3242 |
-
|
3243 |
-
|
3244 |
-
|
3245 |
-
|
3246 |
-
|
3247 |
-
|
3248 |
}
|
3249 |
|
3250 |
function learn_press_disable_course_comment_form() {
|
3251 |
-
|
3252 |
}
|
3253 |
|
3254 |
function learn_press_course_comments_open( $open, $post_id ) {
|
3255 |
-
|
3256 |
-
|
3257 |
-
|
3258 |
-
|
3259 |
|
3260 |
-
|
3261 |
}
|
3262 |
|
3263 |
|
3264 |
if ( ! function_exists( 'learn_press_profile_mobile_menu' ) ) {
|
3265 |
-
|
3266 |
-
|
3267 |
-
|
3268 |
}
|
3269 |
|
3270 |
if ( ! function_exists( 'learn_press_profile_order_details' ) ) {
|
3271 |
-
|
3272 |
-
|
3273 |
|
3274 |
-
|
3275 |
-
|
3276 |
-
|
3277 |
|
3278 |
-
|
3279 |
-
|
3280 |
}
|
3281 |
|
3282 |
if ( ! function_exists( 'learn_press_profile_order_recover' ) ) {
|
3283 |
-
|
3284 |
-
|
3285 |
|
3286 |
-
|
3287 |
-
|
3288 |
-
|
3289 |
-
|
3290 |
-
|
3291 |
}
|
3292 |
|
3293 |
if ( ! function_exists( 'learn_press_profile_order_message' ) ) {
|
3294 |
-
|
3295 |
-
|
3296 |
|
3297 |
-
|
3298 |
-
|
3299 |
-
|
3300 |
-
|
3301 |
-
|
3302 |
}
|
3303 |
|
3304 |
function learn_press_is_content_item_only() {
|
3305 |
-
|
3306 |
}
|
3307 |
|
3308 |
function learn_press_label_html( $label, $type = '' ) {
|
3309 |
-
|
3310 |
<span class="lp-label label-<?php echo esc_attr( $type ? $type : $label ); ?>">
|
3311 |
<?php echo $label; ?>
|
3312 |
</span>
|
3313 |
-
|
3314 |
}
|
3315 |
|
3316 |
// Fix issue with course content is duplicated if theme use the_content instead of $course->get_description()
|
3317 |
function learn_press_course_the_content( $content ) {
|
3318 |
-
|
3319 |
-
|
3320 |
-
|
3321 |
-
|
3322 |
-
|
3323 |
-
|
3324 |
-
|
3325 |
-
|
3326 |
-
|
3327 |
-
|
3328 |
|
3329 |
-
|
3330 |
}
|
3331 |
|
3332 |
//add_action( 'template_redirect', 'learn_press_check_access_lesson' );
|
3333 |
|
3334 |
function learn_press_check_access_lesson() {
|
3335 |
-
|
3336 |
-
|
3337 |
-
|
3338 |
-
|
3339 |
-
|
3340 |
-
|
3341 |
-
|
3342 |
-
|
3343 |
-
|
3344 |
-
|
3345 |
-
|
3346 |
-
|
3347 |
-
|
3348 |
-
|
3349 |
-
|
3350 |
-
|
3351 |
-
|
3352 |
-
|
3353 |
-
|
3354 |
-
|
3355 |
-
|
3356 |
-
|
3357 |
-
|
3358 |
-
|
3359 |
-
|
3360 |
-
|
3361 |
-
|
3362 |
-
|
3363 |
-
|
3364 |
}
|
3365 |
|
3366 |
function learn_press_get_course_redirect( $link ) {
|
3367 |
|
3368 |
-
|
3369 |
-
|
3370 |
-
|
3371 |
-
|
3372 |
-
|
3373 |
-
|
3374 |
-
|
3375 |
-
|
3376 |
-
|
3377 |
-
|
3378 |
-
|
3379 |
-
|
3380 |
-
|
3381 |
-
|
3382 |
-
|
3383 |
-
|
3384 |
-
|
3385 |
-
|
3386 |
-
|
3387 |
-
|
3388 |
-
|
3389 |
-
|
3390 |
-
|
3391 |
-
|
3392 |
-
|
3393 |
-
|
3394 |
-
|
3395 |
-
|
3396 |
-
|
3397 |
-
|
3398 |
-
|
3399 |
-
|
3400 |
-
|
3401 |
-
|
3402 |
-
|
3403 |
-
|
3404 |
-
|
3405 |
-
|
3406 |
-
|
3407 |
-
|
3408 |
-
|
3409 |
-
|
3410 |
-
|
3411 |
-
|
3412 |
-
|
3413 |
-
|
3414 |
-
|
3415 |
-
|
3416 |
-
|
3417 |
-
|
3418 |
-
|
3419 |
-
|
3420 |
-
|
3421 |
-
|
3422 |
}
|
3423 |
|
3424 |
/**
|
3425 |
* @param LP_Quiz $item
|
3426 |
*/
|
3427 |
function learn_press_quiz_meta_final( $item ) {
|
3428 |
-
|
3429 |
-
|
3430 |
-
|
3431 |
-
|
3432 |
-
|
3433 |
}
|
3434 |
|
3435 |
/**
|
3436 |
* @param LP_Quiz $item
|
3437 |
*/
|
3438 |
function learn_press_quiz_meta_questions( $item ) {
|
3439 |
-
|
3440 |
-
|
3441 |
-
|
3442 |
}
|
3443 |
|
3444 |
/**
|
3445 |
* @param LP_Quiz|LP_Lesson $item
|
3446 |
*/
|
3447 |
function learn_press_item_meta_duration( $item ) {
|
3448 |
-
|
3449 |
-
|
3450 |
-
|
3451 |
-
|
3452 |
-
|
3453 |
-
|
3454 |
-
|
3455 |
-
|
3456 |
-
|
3457 |
-
|
3458 |
-
|
3459 |
-
|
3460 |
-
|
3461 |
}
|
3462 |
|
3463 |
function learn_press_course_item_edit_link( $item_id, $course_id ) {
|
3464 |
-
|
3465 |
-
|
3466 |
<p class="edit-course-item-link">
|
3467 |
<a href="<?php echo get_edit_post_link( $item_id ); ?>"><?php _e( 'Edit this item', 'learnpress' ); ?></a>
|
3468 |
</p>
|
3469 |
-
|
3470 |
}
|
3471 |
|
3472 |
function learn_press_comments_template_query_args( $comment_args ) {
|
3473 |
-
|
3474 |
-
|
3475 |
-
|
3476 |
-
|
3477 |
|
3478 |
-
|
3479 |
}
|
3480 |
|
3481 |
if ( ! function_exists( 'learn_press_filter_get_comments_number' ) ) {
|
3482 |
-
|
3483 |
-
|
3484 |
|
3485 |
-
|
3486 |
-
|
3487 |
-
|
3488 |
|
3489 |
-
|
3490 |
-
|
3491 |
-
|
3492 |
|
3493 |
-
|
3494 |
-
|
3495 |
-
|
3496 |
-
|
3497 |
-
|
3498 |
-
|
3499 |
-
|
3500 |
|
3501 |
-
|
3502 |
|
3503 |
-
|
3504 |
-
|
3505 |
|
3506 |
-
|
3507 |
-
|
3508 |
-
|
3509 |
|
3510 |
-
|
3511 |
-
|
3512 |
}
|
3513 |
|
3514 |
if ( ! function_exists( 'learn_press_back_to_class_button' ) ) {
|
3515 |
-
|
3516 |
-
|
3517 |
-
|
3518 |
-
|
3519 |
-
|
3520 |
-
|
3521 |
|
3522 |
<a href="<?php echo learn_press_get_page_link( 'courses' ); ?>"><?php _e( 'Back to class',
|
3523 |
-
|
3524 |
-
|
3525 |
-
|
3526 |
}
|
3527 |
|
3528 |
if ( ! function_exists( 'learn_press_reset_single_item_summary_content' ) ) {
|
3529 |
-
|
3530 |
-
|
3531 |
-
|
3532 |
-
|
3533 |
-
|
3534 |
-
|
3535 |
|
3536 |
-
|
3537 |
-
|
3538 |
|
3539 |
-
|
3540 |
-
|
3541 |
-
|
3542 |
}
|
3543 |
|
3544 |
//function learn_press_course_item_class( $defaults, $this->get_item_type(), $this->get_id()){
|
@@ -3579,27 +3585,27 @@ if ( ! function_exists( 'learn_press_reset_single_item_summary_content' ) ) {
|
|
3579 |
* @since 3.0.0
|
3580 |
*/
|
3581 |
function learn_press_body_classes( $classes ) {
|
3582 |
-
|
3583 |
|
3584 |
-
|
3585 |
-
|
3586 |
-
|
3587 |
|
3588 |
-
|
3589 |
-
|
3590 |
-
|
3591 |
-
|
3592 |
-
|
3593 |
-
|
3594 |
|
3595 |
-
|
3596 |
-
|
3597 |
-
|
3598 |
-
|
3599 |
-
|
3600 |
-
|
3601 |
|
3602 |
-
|
3603 |
}
|
3604 |
|
3605 |
add_filter( 'body_class', 'learn_press_body_classes', 10 );
|
@@ -3614,173 +3620,173 @@ add_filter( 'body_class', 'learn_press_body_classes', 10 );
|
|
3614 |
*
|
3615 |
*/
|
3616 |
function learn_press_is_learning_course( $course_id = 0 ) {
|
3617 |
-
|
3618 |
-
|
3619 |
-
|
3620 |
-
|
3621 |
-
|
3622 |
-
|
3623 |
-
|
3624 |
-
|
3625 |
-
|
3626 |
-
|
3627 |
-
|
3628 |
|
3629 |
-
|
3630 |
-
|
3631 |
-
|
3632 |
|
3633 |
-
|
3634 |
}
|
3635 |
|
3636 |
function learn_press_get_color_schemas() {
|
3637 |
-
|
3638 |
-
|
3639 |
-
|
3640 |
-
|
3641 |
-
|
3642 |
-
|
3643 |
-
|
3644 |
-
|
3645 |
-
|
3646 |
-
|
3647 |
-
|
3648 |
-
|
3649 |
-
|
3650 |
-
|
3651 |
-
|
3652 |
-
|
3653 |
-
|
3654 |
-
|
3655 |
-
|
3656 |
-
|
3657 |
-
|
3658 |
-
|
3659 |
-
|
3660 |
-
|
3661 |
-
|
3662 |
-
|
3663 |
-
|
3664 |
-
|
3665 |
-
|
3666 |
-
|
3667 |
-
|
3668 |
-
|
3669 |
-
|
3670 |
-
|
3671 |
-
|
3672 |
-
|
3673 |
-
|
3674 |
-
|
3675 |
-
|
3676 |
-
|
3677 |
-
|
3678 |
-
|
3679 |
-
|
3680 |
-
|
3681 |
-
|
3682 |
-
|
3683 |
-
|
3684 |
-
|
3685 |
-
|
3686 |
-
|
3687 |
-
|
3688 |
-
|
3689 |
-
|
3690 |
-
|
3691 |
-
|
3692 |
-
|
3693 |
-
|
3694 |
-
|
3695 |
-
|
3696 |
-
|
3697 |
-
|
3698 |
-
|
3699 |
-
|
3700 |
-
|
3701 |
-
|
3702 |
-
|
3703 |
-
|
3704 |
-
|
3705 |
-
|
3706 |
-
|
3707 |
-
|
3708 |
-
|
3709 |
-
|
3710 |
-
|
3711 |
-
|
3712 |
-
|
3713 |
-
|
3714 |
-
|
3715 |
-
|
3716 |
-
|
3717 |
-
|
3718 |
-
|
3719 |
-
|
3720 |
-
|
3721 |
-
|
3722 |
-
|
3723 |
-
|
3724 |
-
|
3725 |
-
|
3726 |
-
|
3727 |
-
|
3728 |
-
|
3729 |
-
|
3730 |
-
|
3731 |
-
|
3732 |
-
|
3733 |
-
|
3734 |
-
|
3735 |
-
|
3736 |
-
|
3737 |
-
|
3738 |
-
|
3739 |
-
|
3740 |
-
|
3741 |
-
|
3742 |
-
|
3743 |
-
|
3744 |
-
|
3745 |
-
|
3746 |
-
|
3747 |
-
|
3748 |
-
|
3749 |
-
|
3750 |
-
|
3751 |
-
|
3752 |
-
|
3753 |
-
|
3754 |
-
|
3755 |
-
|
3756 |
-
|
3757 |
-
|
3758 |
-
|
3759 |
-
|
3760 |
-
|
3761 |
-
|
3762 |
-
|
3763 |
-
|
3764 |
-
|
3765 |
-
|
3766 |
-
|
3767 |
-
|
3768 |
-
|
3769 |
-
|
3770 |
-
|
3771 |
-
|
3772 |
-
|
3773 |
-
|
3774 |
-
|
3775 |
-
|
3776 |
-
|
3777 |
-
|
3778 |
-
|
3779 |
-
|
3780 |
-
|
3781 |
-
|
3782 |
-
|
3783 |
-
|
3784 |
}
|
3785 |
|
3786 |
/**
|
@@ -3790,54 +3796,54 @@ function learn_press_get_color_schemas() {
|
|
3790 |
*/
|
3791 |
function learn_press_print_custom_styles() {
|
3792 |
|
3793 |
-
|
3794 |
-
|
3795 |
-
|
3796 |
-
|
3797 |
-
|
3798 |
-
|
3799 |
-
|
3800 |
-
|
3801 |
-
|
3802 |
-
|
3803 |
-
|
3804 |
-
|
3805 |
-
|
3806 |
-
|
3807 |
-
|
3808 |
-
|
3809 |
-
|
3810 |
-
|
3811 |
-
|
3812 |
-
|
3813 |
-
|
3814 |
-
|
3815 |
-
|
3816 |
-
|
3817 |
-
|
3818 |
-
|
3819 |
-
|
3820 |
-
|
3821 |
-
|
3822 |
-
|
3823 |
-
|
3824 |
-
|
3825 |
-
|
3826 |
-
|
3827 |
-
|
3828 |
-
|
3829 |
-
|
3830 |
-
|
3831 |
-
|
3832 |
-
|
3833 |
-
|
3834 |
-
|
3835 |
-
|
3836 |
-
|
3837 |
-
|
3838 |
-
|
3839 |
-
|
3840 |
-
|
3841 |
<style id="learn-press-custom-css">
|
3842 |
<?php
|
3843 |
foreach($css as $selector => $props){
|
@@ -3845,7 +3851,7 @@ function learn_press_print_custom_styles() {
|
|
3845 |
}
|
3846 |
?>
|
3847 |
</style>
|
3848 |
-
|
3849 |
}
|
3850 |
|
3851 |
add_action( 'wp_head', 'learn_press_print_custom_styles' );
|
@@ -3856,14 +3862,14 @@ add_action( 'wp_head', 'learn_press_print_custom_styles' );
|
|
3856 |
* of the courses.
|
3857 |
*/
|
3858 |
function learn_press_redirect_search() {
|
3859 |
-
|
3860 |
-
|
3861 |
-
|
3862 |
-
|
3863 |
-
|
3864 |
-
|
3865 |
-
|
3866 |
-
|
3867 |
}
|
3868 |
|
3869 |
/**
|
@@ -3874,53 +3880,53 @@ function learn_press_redirect_search() {
|
|
3874 |
*
|
3875 |
*/
|
3876 |
function learn_press_current_user_enrolled_course() {
|
3877 |
-
|
3878 |
-
|
3879 |
|
3880 |
-
|
3881 |
-
|
3882 |
-
|
3883 |
|
3884 |
-
|
3885 |
}
|
3886 |
|
3887 |
function learn_press_content_item_summary_class( $more = '', $echo = true ) {
|
3888 |
-
|
3889 |
-
|
3890 |
-
|
3891 |
-
|
3892 |
|
3893 |
-
|
3894 |
-
|
3895 |
-
|
3896 |
|
3897 |
-
|
3898 |
}
|
3899 |
|
3900 |
function learn_press_content_item_summary_classes( $classes ) {
|
3901 |
-
|
3902 |
-
|
3903 |
-
|
3904 |
|
3905 |
-
|
3906 |
-
|
3907 |
-
|
3908 |
|
3909 |
-
|
3910 |
-
|
3911 |
-
|
3912 |
|
3913 |
-
|
3914 |
-
|
3915 |
-
|
3916 |
|
3917 |
-
|
3918 |
}
|
3919 |
|
3920 |
function learn_press_maybe_load_comment_js() {
|
3921 |
-
|
3922 |
-
|
3923 |
-
|
3924 |
}
|
3925 |
|
3926 |
add_action( 'wp_enqueue_scripts', 'learn_press_maybe_load_comment_js' );
|
@@ -3975,36 +3981,36 @@ add_action( 'wp_enqueue_scripts', 'learn_press_maybe_load_comment_js' );
|
|
3975 |
}*/
|
3976 |
|
3977 |
function learn_press_term_conditions_template() {
|
3978 |
-
|
3979 |
-
|
3980 |
-
|
3981 |
-
|
3982 |
-
|
3983 |
}
|
3984 |
|
3985 |
add_action( 'learn-press/after-payment-methods', 'learn_press_term_conditions_template' );
|
3986 |
|
3987 |
function learn_press_get_link_current_question_instead_of_continue_button( $link, $item ) {
|
3988 |
-
|
3989 |
-
|
3990 |
|
3991 |
-
|
3992 |
-
|
3993 |
-
|
3994 |
|
3995 |
-
|
3996 |
|
3997 |
-
|
3998 |
-
|
3999 |
-
|
4000 |
|
4001 |
-
|
4002 |
-
|
4003 |
-
|
4004 |
-
|
4005 |
-
|
4006 |
|
4007 |
-
|
4008 |
}
|
4009 |
|
4010 |
add_filter( 'learn-press/course-item-link', 'learn_press_get_link_current_question_instead_of_continue_button', 10, 2 );
|
@@ -4013,12 +4019,12 @@ add_filter( 'learn-press/course-item-link', 'learn_press_get_link_current_questi
|
|
4013 |
* @since 3.2.6
|
4014 |
*/
|
4015 |
function learn_press_define_debug_mode() {
|
4016 |
-
|
4017 |
-
|
4018 |
-
|
4019 |
-
|
4020 |
<script>window.LP_DEBUG = true;</script>
|
4021 |
-
|
4022 |
}
|
4023 |
|
4024 |
add_action( 'admin_print_scripts', 'learn_press_define_debug_mode' );
|
7 |
* @version 1.0
|
8 |
*/
|
9 |
if ( ! defined( 'ABSPATH' ) ) {
|
10 |
+
exit; // Exit if accessed directly
|
11 |
}
|
12 |
/**
|
13 |
* New functions since 3.0.0
|
14 |
*/
|
15 |
if ( ! function_exists( 'learn_press_course_purchase_button' ) ) {
|
16 |
+
/**
|
17 |
+
* Purchase course button.
|
18 |
+
*/
|
19 |
+
function learn_press_course_purchase_button() {
|
20 |
+
$course = LP_Global::course();
|
21 |
+
$user = learn_press_get_user( get_current_user_id() );
|
22 |
+
|
23 |
+
if ( empty( $user ) || ! $course ) {
|
24 |
+
return;
|
25 |
+
}
|
26 |
+
|
27 |
+
$course_data = $user->get_course_data( $course->get_id() );
|
28 |
+
$is_finish = $course_data->is_finished();
|
29 |
+
$can_retake_course = $user->can_retake_course( $course->get_id() );
|
30 |
+
$purchased = $user->has_purchased_course( $course->get_id() );
|
31 |
+
|
32 |
+
// if free course
|
33 |
+
if ( $course->is_free() ) {
|
34 |
+
return;
|
35 |
+
}
|
36 |
+
|
37 |
+
// if has retake and has purchased
|
38 |
+
if ( $can_retake_course > 0 && $purchased ) {
|
39 |
+
return;
|
40 |
+
}
|
41 |
+
|
42 |
+
// if external link
|
43 |
+
if ( $course->get_external_link() ) {
|
44 |
+
return;
|
45 |
+
}
|
46 |
+
|
47 |
+
// If course is not published
|
48 |
+
if ( ! $course->is_publish() ) {
|
49 |
+
return;
|
50 |
+
}
|
51 |
+
|
52 |
+
// Course is not require enrolling
|
53 |
+
if ( ! $course->is_required_enroll() ) {
|
54 |
+
return;
|
55 |
+
}
|
56 |
+
|
57 |
+
//remove by tungnx 3.2.8.4
|
58 |
// if ( $user->has_enrolled_course( $course->get_id() )) {
|
59 |
//
|
60 |
// return;
|
61 |
// }
|
62 |
|
63 |
+
// If course is reached limitation.
|
64 |
+
if ( ! $course->is_in_stock() ) {
|
65 |
+
$message = apply_filters(
|
66 |
+
'learn-press/maximum-students-reach',
|
67 |
+
__( 'This course is out of stock', 'learnpress' )
|
68 |
+
);
|
69 |
+
learn_press_display_message( $message );
|
70 |
|
71 |
|
72 |
+
return;
|
73 |
+
}
|
74 |
|
75 |
+
// User can not purchase course
|
76 |
+
if ( ! $user->can_purchase_course( $course->get_id() ) ) {
|
77 |
+
return;
|
78 |
+
}
|
79 |
|
80 |
|
81 |
+
// If user has already purchased course but has not finished yet.
|
82 |
+
/*if ( $user->has_purchased_course( $course->get_id() ) && 'finished' !== $user->get_course_status( $course->get_id() ) ) {
|
83 |
+
return;
|
84 |
+
}*/
|
85 |
|
86 |
|
87 |
+
// If the order contains course is processing
|
88 |
+
if ( ( $order = $user->get_course_order( $course->get_id() ) ) && $order->get_status() === 'processing' ) {
|
89 |
+
$message = apply_filters(
|
90 |
+
'learn-press/order-processing-message',
|
91 |
+
__( 'Your order is waiting for processing', 'learnpress' )
|
92 |
+
);
|
93 |
+
learn_press_display_message( $message );
|
94 |
|
95 |
+
return;
|
96 |
+
}
|
97 |
|
98 |
+
$args_load_tmpl = array(
|
99 |
+
'template_name' => 'single-course/buttons/purchase.php',
|
100 |
+
'template_path' => '',
|
101 |
+
'default_path' => ''
|
102 |
+
);
|
103 |
|
104 |
+
$args_load_tmpl = apply_filters( 'learn-press/tmpl-button-purchase-course', $args_load_tmpl, $course );
|
105 |
|
106 |
+
if ( $is_finish ) {
|
107 |
|
108 |
+
//set for course finished
|
109 |
+
if ( $course->is_allow_repurchase_course() ) {
|
110 |
+
learn_press_get_template( $args_load_tmpl['template_name'], array( 'course' => $course ),
|
111 |
+
$args_load_tmpl['template_path'], $args_load_tmpl['default_path'] );
|
112 |
+
}
|
113 |
|
114 |
+
} elseif ( ! $is_finish ) {
|
115 |
+
// Set for unfinish course
|
116 |
|
117 |
+
// case1: has purchase
|
118 |
|
119 |
+
if ( $purchased ) {
|
120 |
|
121 |
+
if ( $course->is_allow_repurchase_course() &&
|
122 |
+
$user->user_check_blocked_duration( $course->get_id() ) == true &&
|
123 |
+
$course_data->get_status() == 'enrolled' ) {
|
124 |
+
learn_press_get_template( $args_load_tmpl['template_name'], array( 'course' => $course ),
|
125 |
+
$args_load_tmpl['template_path'], $args_load_tmpl['default_path'] );
|
126 |
+
}
|
127 |
|
128 |
+
// case2: not purchase
|
129 |
+
} else {
|
130 |
+
learn_press_get_template( $args_load_tmpl['template_name'], array( 'course' => $course ),
|
131 |
+
$args_load_tmpl['template_path'], $args_load_tmpl['default_path'] );
|
132 |
+
}
|
133 |
|
134 |
+
}
|
135 |
+
}
|
136 |
}
|
137 |
|
138 |
if ( ! function_exists( 'learn_press_course_enroll_button' ) ) {
|
139 |
+
/**
|
140 |
+
* Enroll course button.
|
141 |
+
*/
|
142 |
+
function learn_press_course_enroll_button() {
|
143 |
+
$user = learn_press_get_user( get_current_user_id() );
|
144 |
+
$course = LP_Global::course();
|
145 |
+
$purchased = $user->has_purchased_course( $course->get_id() );
|
146 |
+
$course_data = $user->get_course_data( $course->get_id() );
|
147 |
+
$is_finish = $course_data->is_finished();
|
148 |
+
$is_enrolled = $course_data->is_enrolled();
|
149 |
+
$can_retake_course = $user->can_retake_course( $course->get_id() );
|
150 |
+
|
151 |
+
if ( empty( $user ) ) {
|
152 |
+
return;
|
153 |
+
}
|
154 |
|
155 |
+
// if can retake course
|
156 |
+
if ( $can_retake_course > 0 && $purchased ) {
|
157 |
+
if ( $is_enrolled ) {
|
158 |
+
return;
|
159 |
+
}
|
160 |
+
}
|
161 |
|
162 |
+
if ( $course->get_external_link() ) {
|
163 |
+
learn_press_show_log( 'Course has external link' );
|
164 |
|
165 |
+
return;
|
166 |
+
}
|
167 |
|
168 |
+
// If course is not published
|
169 |
+
if ( ! $course->is_publish() ) {
|
170 |
+
learn_press_show_log( 'Course is not published' );
|
171 |
|
172 |
+
return;
|
173 |
+
}
|
174 |
|
175 |
+
// Locked course for user
|
176 |
+
if ( $user->is_locked_course( $course->get_id() ) ) {
|
177 |
+
learn_press_show_log( 'Course is locked' );
|
178 |
|
179 |
+
return;
|
180 |
+
}
|
181 |
|
182 |
+
// Course out of stock (full students)
|
183 |
+
if ( ! $course->is_in_stock() ) {
|
184 |
+
return;
|
185 |
+
}
|
186 |
+
// Course is not require enrolling
|
187 |
+
if ( ! $course->is_required_enroll() ) {
|
188 |
+
return;
|
189 |
+
}
|
190 |
+
// User can not enroll course
|
191 |
+
if ( ! $user->can_enroll_course( $course->get_id() ) ) {
|
192 |
+
return;
|
193 |
+
}
|
194 |
|
195 |
+
// For free course and user does not purchased
|
196 |
+
if ( ! $is_finish ) {
|
197 |
|
198 |
+
// set for course unfinished
|
199 |
+
if ( $purchased && ! in_array( $course_data->get_status(), array( 'enrolled' ) ) ) {
|
200 |
|
201 |
+
learn_press_get_template( 'single-course/buttons/enroll.php' );
|
202 |
|
203 |
+
} elseif ( ! $purchased && ( ! in_array( $course_data->get_status(),
|
204 |
+
array( 'enrolled' ) ) && $course->is_free() ) ) {
|
205 |
|
206 |
+
learn_press_get_template( 'single-course/buttons/enroll.php' );
|
207 |
|
208 |
+
}
|
209 |
+
}
|
210 |
+
}
|
211 |
|
212 |
}
|
213 |
|
214 |
if ( ! function_exists( 'learn_press_course_retake_button' ) ) {
|
215 |
|
216 |
+
/**
|
217 |
+
* Retake course button
|
218 |
+
*/
|
219 |
+
function learn_press_course_retake_button() {
|
220 |
+
|
221 |
+
if ( ! isset( $course ) ) {
|
222 |
+
$course = learn_press_get_course();
|
223 |
+
}
|
224 |
+
|
225 |
+
if ( ! $course ) {
|
226 |
+
return;
|
227 |
+
}
|
228 |
+
|
229 |
+
$retake_config = absint( get_post_meta( $course->get_id(), '_lp_retake_count', true ) );
|
230 |
+
|
231 |
+
if ( $retake_config == 0 ) {
|
232 |
+
return;
|
233 |
+
}
|
234 |
+
|
235 |
+
if ( ! learn_press_current_user_enrolled_course() && $course->get_external_link() ) {
|
236 |
+
return;
|
237 |
+
}
|
238 |
+
|
239 |
+
if ( ! isset( $user ) ) {
|
240 |
+
$user = learn_press_get_current_user();
|
241 |
+
}
|
242 |
+
|
243 |
+
if ( ! $user ) {
|
244 |
+
return;
|
245 |
+
}
|
246 |
+
|
247 |
+
// Check user have turn retake course
|
248 |
+
$can_retake_course = $user->can_retake_course( $course->get_id() );
|
249 |
+
if ( ! $can_retake_course ) {
|
250 |
+
return;
|
251 |
+
}
|
252 |
+
// Check user not enroll course
|
253 |
+
if ( ! $user->has_enrolled_course( $course->get_id() ) ) {
|
254 |
+
return;
|
255 |
+
}
|
256 |
+
|
257 |
+
// If user has not finished course
|
258 |
+
if ( ! $user->has_finished_course( $course->get_id() ) ) {
|
259 |
+
/**
|
260 |
+
* Check course duration not expire
|
261 |
+
*
|
262 |
+
* @author hungkv
|
263 |
+
* @since 3.2.7.7
|
264 |
+
*/
|
265 |
+
if ( ! $course->is_block_item_content_duration() ||
|
266 |
+
( $course->is_block_item_content_duration() && $course->expires_to_milliseconds() > 0 ) ) {
|
267 |
+
return;
|
268 |
+
}
|
269 |
+
}
|
270 |
+
|
271 |
+
$args = array( 'course' => $course, 'user' => $user, 'count' => $can_retake_course );
|
272 |
+
|
273 |
+
learn_press_get_template( 'single-course/buttons/retake.php', $args );
|
274 |
+
}
|
275 |
}
|
276 |
|
277 |
if ( ! function_exists( 'learn_press_course_continue_button' ) ) {
|
278 |
|
279 |
+
/**
|
280 |
+
* Retake course button
|
281 |
+
*/
|
282 |
+
function learn_press_course_continue_button() {
|
283 |
+
$user = LP_Global::user();
|
284 |
+
$course = LP_Global::course();
|
285 |
|
286 |
+
if ( ! learn_press_current_user_enrolled_course() && $course->get_external_link() ) {
|
287 |
+
return;
|
288 |
+
}
|
289 |
|
290 |
+
if ( ! $user ) {
|
291 |
+
return;
|
292 |
+
}
|
293 |
|
294 |
+
if ( false === ( $course_data = $user->get_course_data( $course->get_id() ) ) ) {
|
295 |
+
return;
|
296 |
+
}
|
297 |
|
298 |
+
if ( ! $course_data->is_available() ) {
|
299 |
+
return;
|
300 |
+
}
|
301 |
|
302 |
+
if ( $course_data->get_status() !== 'enrolled' ) {
|
303 |
+
return;
|
304 |
+
}
|
305 |
|
306 |
+
if ( ! $course_data->get_item_at( 0 ) ) {
|
307 |
+
return;
|
308 |
+
}
|
309 |
|
310 |
+
/**
|
311 |
+
* Check course duration expire
|
312 |
+
*
|
313 |
+
* @author hungkv
|
314 |
+
* @since 3.2.7.7
|
315 |
+
*/
|
316 |
+
if ( $course->is_block_item_content_duration() === true && $course->expires_to_milliseconds() <= 0 ) {
|
317 |
+
return;
|
318 |
+
}
|
319 |
|
320 |
+
learn_press_get_template( 'single-course/buttons/continue.php' );
|
321 |
+
}
|
322 |
}
|
323 |
|
324 |
|
325 |
if ( ! function_exists( 'learn_press_course_finish_button' ) ) {
|
326 |
|
327 |
+
/**
|
328 |
+
* Retake course button
|
329 |
+
*/
|
330 |
+
function learn_press_course_finish_button() {
|
331 |
+
$user = LP_Global::user();
|
332 |
+
$course = LP_Global::course();
|
333 |
|
334 |
+
if ( ! learn_press_current_user_enrolled_course() && $course->get_external_link() ) {
|
335 |
+
return;
|
336 |
+
}
|
337 |
|
338 |
+
if ( ! $user ) {
|
339 |
+
return;
|
340 |
+
}
|
341 |
|
342 |
+
if ( false === ( $course_data = $user->get_course_data( $course->get_id() ) ) ) {
|
343 |
+
return;
|
344 |
+
}
|
345 |
|
346 |
+
if ( ! $user->can_finish_course( $course->get_id() ) ) {
|
347 |
+
return;
|
348 |
+
}
|
349 |
|
350 |
+
learn_press_get_template( 'single-course/buttons/finish.php' );
|
351 |
+
}
|
352 |
}
|
353 |
|
354 |
if ( ! function_exists( 'learn_press_course_external_button' ) ) {
|
355 |
|
356 |
+
/**
|
357 |
+
* Retake course button
|
358 |
+
*/
|
359 |
+
function learn_press_course_external_button() {
|
360 |
+
$course = LP_Global::course();
|
361 |
|
362 |
+
if ( ! $link = $course->get_external_link() ) {
|
363 |
+
return;
|
364 |
+
}
|
365 |
|
366 |
+
$user = learn_press_get_current_user();
|
367 |
|
368 |
+
if ( ! $user->has_enrolled_course( $course->get_id() ) ) {
|
369 |
+
// Remove all other buttons
|
370 |
+
learn_press_remove_course_buttons();
|
371 |
+
learn_press_get_template( 'single-course/buttons/external-link.php' );
|
372 |
+
// Add back other buttons for other courses
|
373 |
+
add_action( 'learn-press/after-course-buttons', 'learn_press_add_course_buttons' );
|
374 |
+
}
|
375 |
+
}
|
376 |
}
|
377 |
|
378 |
if ( ! function_exists( 'learn_press_add_course_buttons' ) ) {
|
379 |
+
function learn_press_add_course_buttons() {
|
380 |
+
add_action( 'learn-press/course-buttons', 'learn_press_course_purchase_button', 10 );
|
381 |
+
add_action( 'learn-press/course-buttons', 'learn_press_course_enroll_button', 15 );
|
382 |
+
add_action( 'learn-press/course-buttons', 'learn_press_course_retake_button', 20 );
|
383 |
+
add_action( 'learn-press/course-buttons', 'learn_press_course_continue_button', 25 );
|
384 |
+
add_action( 'learn-press/course-buttons', 'learn_press_course_finish_button', 30 );
|
385 |
+
}
|
386 |
}
|
387 |
|
388 |
if ( ! function_exists( 'learn_press_remove_course_buttons' ) ) {
|
389 |
+
function learn_press_remove_course_buttons() {
|
390 |
+
remove_action( 'learn-press/course-buttons', 'learn_press_course_purchase_button', 10 );
|
391 |
+
remove_action( 'learn-press/course-buttons', 'learn_press_course_enroll_button', 15 );
|
392 |
+
remove_action( 'learn-press/course-buttons', 'learn_press_course_retake_button', 20 );
|
393 |
+
remove_action( 'learn-press/course-buttons', 'learn_press_course_continue_button', 25 );
|
394 |
+
remove_action( 'learn-press/course-buttons', 'learn_press_course_finish_button', 30 );
|
395 |
+
}
|
396 |
}
|
397 |
|
398 |
if ( ! function_exists( 'learn_press_curriculum_section_title' ) ) {
|
399 |
|
400 |
+
/**
|
401 |
+
* Section title
|
402 |
+
*
|
403 |
+
* @param LP_Course_Section $section
|
404 |
+
*
|
405 |
+
* @hooked learn-press/section-summary
|
406 |
+
*/
|
407 |
+
function learn_press_curriculum_section_title( $section ) {
|
408 |
+
learn_press_get_template( 'single-course/section/title.php', array( 'section' => $section ) );
|
409 |
+
}
|
410 |
|
411 |
}
|
412 |
|
413 |
if ( ! function_exists( 'learn_press_curriculum_section_content' ) ) {
|
414 |
|
415 |
+
/**
|
416 |
+
* Section content
|
417 |
+
*
|
418 |
+
* @param LP_Course_Section $section
|
419 |
+
*
|
420 |
+
* @hooked learn-press/section-summary
|
421 |
+
*/
|
422 |
+
function learn_press_curriculum_section_content( $section ) {
|
423 |
+
learn_press_get_template( 'single-course/section/content.php', array( 'section' => $section ) );
|
424 |
+
}
|
425 |
|
426 |
}
|
427 |
|
428 |
if ( ! function_exists( 'learn_press_checkout_form_login' ) ) {
|
429 |
|
430 |
+
/**
|
431 |
+
* Output login form before checkout form if user is not logged in
|
432 |
+
*
|
433 |
+
* @hooked learn-press/before-checkout-form
|
434 |
+
*/
|
435 |
+
function learn_press_checkout_form_login() {
|
436 |
|
437 |
+
if ( ! LP()->checkout()->is_enable_login() ) {
|
438 |
+
return;
|
439 |
+
}
|
440 |
|
441 |
+
learn_press_get_template( 'checkout/form-login.php' );
|
442 |
+
}
|
443 |
|
444 |
}
|
445 |
|
446 |
if ( ! function_exists( 'learn_press_checkout_form_register' ) ) {
|
447 |
|
448 |
+
/**
|
449 |
+
* Output register form before checkout form if user is not logged in.
|
450 |
+
*
|
451 |
+
* @hooked learn-press/before-checkout-form
|
452 |
+
*/
|
453 |
+
function learn_press_checkout_form_register() {
|
454 |
|
455 |
+
if ( ! LP()->checkout()->is_enable_register() ) {
|
456 |
+
return;
|
457 |
+
}
|
458 |
|
459 |
+
learn_press_get_template( 'checkout/form-register.php' );
|
460 |
+
}
|
461 |
|
462 |
}
|
463 |
|
464 |
if ( ! function_exists( 'learn_press_order_review' ) ) {
|
465 |
+
/**
|
466 |
+
* Output order details
|
467 |
+
*
|
468 |
+
* @hooked learn-press/checkout-order-review
|
469 |
+
*/
|
470 |
+
function learn_press_order_review() {
|
471 |
+
$cart = learn_press_get_checkout_cart();
|
472 |
+
learn_press_get_template( 'checkout/review-order.php', array( 'cart' => $cart ) );
|
473 |
+
}
|
474 |
}
|
475 |
|
476 |
if ( ! function_exists( 'learn_press_order_payment' ) ) {
|
477 |
+
/**
|
478 |
+
* Output payment methods
|
479 |
+
*
|
480 |
+
* @hooked learn-press/checkout-order-review
|
481 |
+
*/
|
482 |
+
function learn_press_order_payment() {
|
483 |
+
$available_gateways = LP_Gateways::instance()->get_available_payment_gateways();
|
484 |
+
|
485 |
+
learn_press_get_template( 'checkout/payment.php', array( 'available_gateways' => $available_gateways ) );
|
486 |
+
}
|
487 |
}
|
488 |
|
489 |
if ( ! function_exists( 'learn_press_order_guest_email' ) ) {
|
490 |
+
/**
|
491 |
+
* Output payment methods
|
492 |
+
*
|
493 |
+
* @hooked learn-press/checkout-order-review
|
494 |
+
*/
|
495 |
+
function learn_press_order_guest_email() {
|
496 |
+
$checkout = LP()->checkout();
|
497 |
+
$is_exists = $checkout->checkout_email_exists();
|
498 |
+
|
499 |
+
$args = array(
|
500 |
+
'checkout' => $checkout,
|
501 |
+
'is_exists' => $is_exists
|
502 |
+
);
|
503 |
+
|
504 |
+
if ( $checkout->is_enable_guest_checkout() && ! is_user_logged_in() ) {
|
505 |
+
learn_press_get_template( 'checkout/guest-email.php', $args );
|
506 |
+
}
|
507 |
+
}
|
508 |
}
|
509 |
|
510 |
if ( ! function_exists( 'learn_press_order_comment' ) ) {
|
511 |
+
/**
|
512 |
+
* Output order comment input
|
513 |
+
*
|
514 |
+
* @hooked learn-press/checkout-order-review
|
515 |
+
*/
|
516 |
+
function learn_press_order_comment() {
|
517 |
+
learn_press_get_template( 'checkout/order-comment.php' );
|
518 |
+
}
|
519 |
}
|
520 |
|
521 |
if ( ! function_exists( 'learn_press_user_profile_header' ) ) {
|
522 |
+
/**
|
523 |
+
* Output order comment input
|
524 |
+
*
|
525 |
+
* @hooked learn-press/before-user-profile
|
526 |
+
*/
|
527 |
+
function learn_press_user_profile_header( $user ) {
|
528 |
+
$profile = LP_Global::profile();
|
529 |
+
|
530 |
+
if ( $profile->get_user()->is_guest() ) {
|
531 |
+
return;
|
532 |
+
}
|
533 |
|
534 |
+
learn_press_get_template( 'profile/profile-cover.php', array( 'user' => $user ) );
|
535 |
+
}
|
536 |
}
|
537 |
|
538 |
if ( ! function_exists( 'learn_press_user_profile_content' ) ) {
|
539 |
+
/**
|
540 |
+
* Output order comment input
|
541 |
+
*
|
542 |
+
* @hooked learn-press/user-profile
|
543 |
+
*/
|
544 |
+
function learn_press_user_profile_content( $user ) {
|
545 |
+
$profile = LP_Global::profile();
|
546 |
+
|
547 |
+
if ( $profile->get_user()->is_guest() ) {
|
548 |
+
return;
|
549 |
+
}
|
550 |
|
551 |
+
learn_press_get_template( 'profile/content.php', array( 'user' => $user ) );
|
552 |
+
}
|
553 |
}
|
554 |
|
555 |
if ( ! function_exists( 'learn_press_user_profile_footer' ) ) {
|
556 |
+
/**
|
557 |
+
* Output order comment input
|
558 |
+
*
|
559 |
+
* @hooked learn-press/after-user-profile
|
560 |
+
*/
|
561 |
+
function learn_press_user_profile_footer( $user ) {
|
562 |
+
//learn_press_get_template( 'profile/footer.php', array( 'user' => $user ) );
|
563 |
+
}
|
564 |
}
|
565 |
|
566 |
if ( ! function_exists( 'learn_press_user_profile_tabs' ) ) {
|
567 |
+
/**
|
568 |
+
* Get tabs for user profile
|
569 |
+
*
|
570 |
+
* @param $user
|
571 |
+
*/
|
572 |
+
function learn_press_user_profile_tabs( $user = null ) {
|
573 |
+
$profile = LP_Global::profile();
|
574 |
+
|
575 |
+
if ( $profile->get_user()->is_guest() ) {
|
576 |
+
return;
|
577 |
+
}
|
578 |
|
579 |
+
learn_press_get_template( 'profile/tabs.php', array( 'user' => $user ) );
|
580 |
+
}
|
581 |
}
|
582 |
|
583 |
if ( ! function_exists( 'learn_press_single_course_summary' ) ) {
|
584 |
+
/**
|
585 |
+
* Display content of single course summary
|
586 |
+
*/
|
587 |
+
function learn_press_single_course_summary() {
|
588 |
+
if ( learn_press_is_learning_course() ) {
|
589 |
+
learn_press_get_template( 'single-course/content-learning.php' );
|
590 |
+
} else {
|
591 |
+
learn_press_get_template( 'single-course/content-landing.php' );
|
592 |
+
}
|
593 |
+
}
|
594 |
}
|
595 |
|
596 |
if ( ! function_exists( 'learn_press_course_price' ) ) {
|
597 |
+
/**
|
598 |
+
* Display course price.
|
599 |
+
*/
|
600 |
+
function learn_press_course_price() {
|
601 |
+
$user = LP_Global::user();
|
602 |
+
$course = LP_Global::course();
|
603 |
+
|
604 |
+
if ( ! $user ) {
|
605 |
+
return;
|
606 |
+
}
|
607 |
|
608 |
+
if ( $user && $user->has_enrolled_course( $course->get_id() ) ) {
|
609 |
+
return;
|
610 |
+
}
|
611 |
|
612 |
+
learn_press_get_template( 'single-course/price.php' );
|
613 |
+
}
|
614 |
}
|
615 |
|
616 |
if ( ! function_exists( 'learn_press_course_meta_start_wrapper' ) ) {
|
617 |
+
/**
|
618 |
+
* Output the thumbnail of the course within loop
|
619 |
+
*/
|
620 |
+
function learn_press_course_meta_start_wrapper() {
|
621 |
+
learn_press_get_template( 'global/course-meta-start.php' );
|
622 |
+
}
|
623 |
}
|
624 |
|
625 |
if ( ! function_exists( 'learn_press_course_meta_end_wrapper' ) ) {
|
626 |
+
/**
|
627 |
+
* Output the thumbnail of the course within loop
|
628 |
+
*/
|
629 |
+
function learn_press_course_meta_end_wrapper() {
|
630 |
+
learn_press_get_template( 'global/course-meta-end.php' );
|
631 |
+
}
|
632 |
}
|
633 |
|
634 |
if ( ! function_exists( 'learn_press_course_students' ) ) {
|
635 |
+
/**
|
636 |
+
* Display course students
|
637 |
+
*/
|
638 |
+
function learn_press_course_students() {
|
639 |
+
learn_press_get_template( 'single-course/students.php' );
|
640 |
+
}
|
641 |
}
|
642 |
|
643 |
if ( ! function_exists( 'learn_press_course_status' ) ) {
|
644 |
+
/**
|
645 |
+
* Display the title for single course
|
646 |
+
*/
|
647 |
+
function learn_press_course_status() {
|
648 |
+
learn_press_get_template( 'single-course/status.php' );
|
649 |
+
}
|
650 |
}
|
651 |
|
652 |
if ( ! function_exists( 'learn_press_courses_loop_item_instructor' ) ) {
|
653 |
+
/**
|
654 |
+
* Output the instructor of the course within loop
|
655 |
+
*/
|
656 |
+
function learn_press_courses_loop_item_instructor() {
|
657 |
+
learn_press_get_template( 'loop/course/instructor.php' );
|
658 |
+
}
|
659 |
}
|
660 |
|
661 |
if ( ! function_exists( 'learn_press_course_tabs' ) ) {
|
662 |
+
/*
|
663 |
+
* Output course tabs
|
664 |
+
*/
|
665 |
|
666 |
+
function learn_press_course_tabs() {
|
667 |
+
learn_press_get_template( 'single-course/tabs/tabs.php' );
|
668 |
+
}
|
669 |
}
|
670 |
|
671 |
if ( ! function_exists( 'learn_press_course_item_content' ) ) {
|
672 |
+
/**
|
673 |
+
* Get course item content template.
|
674 |
+
*
|
675 |
+
* @since 3.0.0
|
676 |
+
*/
|
677 |
+
function learn_press_course_item_content() {
|
678 |
+
$item = LP_Global::course_item();
|
679 |
+
|
680 |
+
/**
|
681 |
+
* Fix only for WPBakery load style inline
|
682 |
+
* custom CSS is provided, load inline style.
|
683 |
+
*
|
684 |
+
* @editor tuanta
|
685 |
+
* @since 3.2.8.1
|
686 |
+
*/
|
687 |
+
$shortcodes_custom_css = get_post_meta( $item->get_id(), '_wpb_shortcodes_custom_css', true );
|
688 |
+
|
689 |
+
if ( ! empty( $shortcodes_custom_css ) ) {
|
690 |
+
$shortcodes_custom_css = strip_tags( $shortcodes_custom_css );
|
691 |
+
echo '<style type="text/css" data-type="vc_shortcodes-custom-css">';
|
692 |
+
echo $shortcodes_custom_css;
|
693 |
+
echo '</style>';
|
694 |
+
}
|
695 |
+
// End
|
696 |
+
|
697 |
+
$item_template_name = learn_press_locate_template( 'single-course/content-item-' . $item->get_item_type() . '.php' );
|
698 |
+
|
699 |
+
if ( file_exists( $item_template_name ) ) {
|
700 |
+
learn_press_get_template( 'single-course/content-item-' . $item->get_item_type() . '.php' );
|
701 |
+
}
|
702 |
+
}
|
703 |
}
|
704 |
|
705 |
if ( ! function_exists( 'learn_press_get_course_tabs' ) ) {
|
706 |
+
/**
|
707 |
+
* Return an array of tabs display in single course page.
|
708 |
+
*
|
709 |
+
* @return array
|
710 |
+
*/
|
711 |
+
function learn_press_get_course_tabs() {
|
712 |
+
|
713 |
+
$course = learn_press_get_course();
|
714 |
+
$user = learn_press_get_current_user();
|
715 |
+
|
716 |
+
$defaults = array();
|
717 |
+
|
718 |
+
// Description tab - shows product content
|
719 |
+
if ( $course && $course->get_content() ) {
|
720 |
+
$defaults['overview'] = array(
|
721 |
+
'title' => __( 'Overview', 'learnpress' ),
|
722 |
+
'priority' => 10,
|
723 |
+
'callback' => 'learn_press_course_overview_tab'
|
724 |
+
);
|
725 |
+
}
|
726 |
+
|
727 |
+
// Curriculum
|
728 |
+
$defaults['curriculum'] = array(
|
729 |
+
'title' => __( 'Curriculum', 'learnpress' ),
|
730 |
+
'priority' => 30,
|
731 |
+
'callback' => 'learn_press_course_curriculum_tab'
|
732 |
+
);
|
733 |
+
|
734 |
+
$defaults['instructor'] = array(
|
735 |
+
'title' => __( 'Instructor', 'learnpress' ),
|
736 |
+
'priority' => 40,
|
737 |
+
'callback' => 'learn_press_course_instructor_tab'
|
738 |
+
);
|
739 |
+
|
740 |
+
|
741 |
+
// Filter
|
742 |
+
if ( $tabs = apply_filters( 'learn-press/course-tabs', $defaults ) ) {
|
743 |
+
// Sort tabs by priority
|
744 |
+
uasort( $tabs, 'learn_press_sort_list_by_priority_callback' );
|
745 |
+
$request_tab = ! empty( $_REQUEST['tab'] ) ? $_REQUEST['tab'] : '';
|
746 |
+
$has_active = false;
|
747 |
+
foreach ( $tabs as $k => $v ) {
|
748 |
+
$v['id'] = ! empty( $v['id'] ) ? $v['id'] : 'tab-' . $k;
|
749 |
+
|
750 |
+
if ( $request_tab === $v['id'] ) {
|
751 |
+
$v['active'] = true;
|
752 |
+
$has_active = $k;
|
753 |
+
} elseif ( isset( $v['active'] ) && $v['active'] ) {
|
754 |
+
$has_active = true;
|
755 |
+
}
|
756 |
+
$tabs[ $k ] = $v;
|
757 |
+
}
|
758 |
+
|
759 |
+
if ( ! $has_active ) {
|
760 |
+
/**
|
761 |
+
* Active Curriculum tab if user has enrolled course
|
762 |
+
*/
|
763 |
+
if ( $course && $user->has_course_status( $course->get_id(), array(
|
764 |
+
'enrolled',
|
765 |
+
'finished'
|
766 |
+
) ) && ! empty( $tabs['curriculum'] )
|
767 |
+
) {
|
768 |
+
$tabs['curriculum']['active'] = true;
|
769 |
+
} elseif ( ! empty( $tabs['overview'] ) ) {
|
770 |
+
$tabs['overview']['active'] = true;
|
771 |
+
} else {
|
772 |
+
$keys = array_keys( $tabs );
|
773 |
+
$first_key = reset( $keys );
|
774 |
+
$tabs[ $first_key ]['active'] = true;
|
775 |
+
}
|
776 |
+
}
|
777 |
+
}
|
778 |
+
|
779 |
+
return $tabs;
|
780 |
+
}
|
781 |
|
782 |
}
|
783 |
|
784 |
if ( ! function_exists( 'learn_press_content_item_quiz_title' ) ) {
|
785 |
+
function learn_press_content_item_quiz_title() {
|
786 |
+
learn_press_get_template( 'content-quiz/title.php' );
|
787 |
+
}
|
788 |
}
|
789 |
|
790 |
if ( ! function_exists( 'learn_press_content_item_quiz_intro' ) ) {
|
791 |
+
function learn_press_content_item_quiz_intro() {
|
792 |
+
$course = LP_Global::course();
|
793 |
+
$user = LP_Global::user();
|
794 |
+
$quiz = LP_Global::course_item_quiz();
|
795 |
|
796 |
+
if ( $user->has_quiz_status( array( 'started', 'completed' ), $quiz->get_id(), $course->get_id() ) ) {
|
797 |
+
return;
|
798 |
+
}
|
799 |
|
800 |
+
if ( ! $user ) {
|
801 |
+
return;
|
802 |
+
}
|
803 |
|
804 |
+
if ( ! $user->has_quiz_status( 'started', $quiz->get_id(), $course->get_id() ) ) {
|
805 |
+
//return;
|
806 |
+
}
|
807 |
|
808 |
+
if ( $quiz->get_viewing_question() ) {
|
809 |
+
return;
|
810 |
+
}
|
811 |
|
812 |
+
learn_press_get_template( 'content-quiz/intro.php' );
|
813 |
+
}
|
814 |
}
|
815 |
|
816 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_content' ) ) {
|
817 |
|
818 |
+
function learn_press_content_item_summary_quiz_content() {
|
819 |
+
$item = LP_Global::course_item();
|
820 |
+
$quiz = LP_Global::course_item_quiz();
|
821 |
+
$user = LP_Global::user();
|
822 |
|
823 |
+
if ( ! $user ) {
|
824 |
+
return;
|
825 |
+
}
|
826 |
|
827 |
+
/**
|
828 |
+
* Check if not start quiz (is showing question)
|
829 |
+
* and not completed quiz
|
830 |
+
*
|
831 |
+
* @editor tungnx
|
832 |
+
*/
|
833 |
+
if ( ! $item->get_viewing_question() && ! $user->has_completed_quiz( $quiz->get_id(), get_the_ID() ) ) {
|
834 |
+
learn_press_get_template( 'content-quiz/description.php' );
|
835 |
+
}
|
836 |
+
}
|
837 |
}
|
838 |
|
839 |
if ( ! function_exists( 'learn_press_content_item_summary_question_title' ) ) {
|
840 |
|
841 |
+
function learn_press_content_item_summary_question_title() {
|
842 |
+
$quiz = LP_Global::course_item_quiz();
|
843 |
|
844 |
+
if ( $question = $quiz->get_viewing_question() ) {
|
845 |
+
$title = $question->get_title( 'display' );
|
846 |
+
learn_press_get_template( 'content-question/title.php', array( 'title' => $title ) );
|
847 |
+
}
|
848 |
+
}
|
849 |
}
|
850 |
|
851 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_progress' ) ) {
|
852 |
|
853 |
+
function learn_press_content_item_summary_quiz_progress() {
|
854 |
+
$course = LP_Global::course();
|
855 |
+
$quiz = LP_Global::course_item_quiz();
|
856 |
+
$user = LP_Global::user();
|
857 |
|
858 |
+
if ( ! $user ) {
|
859 |
+
return;
|
860 |
+
}
|
861 |
|
862 |
+
if ( $user->has_quiz_status( array( 'viewed', '' ), $quiz->get_id(), $course->get_id() ) ) {
|
863 |
+
return;
|
864 |
+
}
|
865 |
|
866 |
+
if ( $question = $quiz->get_viewing_question() ) {
|
867 |
+
learn_press_get_template( 'content-quiz/progress.php' );
|
868 |
+
}
|
869 |
+
}
|
870 |
}
|
871 |
|
872 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_countdown' ) ) {
|
873 |
|
874 |
+
function learn_press_content_item_summary_quiz_countdown() {
|
875 |
+
$quiz = LP_Global::course_item_quiz();
|
876 |
|
877 |
+
if ( $question = $quiz->get_viewing_question() ) {
|
878 |
+
learn_press_get_template( 'content-quiz/countdown.php' );
|
879 |
+
}
|
880 |
+
}
|
881 |
}
|
882 |
|
883 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_result' ) ) {
|
884 |
|
885 |
+
function learn_press_content_item_summary_quiz_result() {
|
886 |
+
$quiz = LP_Global::course_item_quiz();
|
887 |
+
$user = LP_Global::user();
|
888 |
|
889 |
+
if ( ! $user ) {
|
890 |
+
return;
|
891 |
+
}
|
892 |
|
893 |
+
if ( ! $user->has_completed_quiz( $quiz->get_id(), get_the_ID() ) ) {
|
894 |
+
return;
|
895 |
+
}
|
896 |
|
897 |
+
learn_press_get_template( 'content-quiz/result.php' );
|
898 |
+
}
|
899 |
}
|
900 |
|
901 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_question' ) ) {
|
902 |
|
903 |
+
function learn_press_content_item_summary_quiz_question() {
|
904 |
+
$quiz = LP_Global::course_item_quiz();
|
905 |
|
906 |
+
if ( $question = $quiz->get_viewing_question() ) {
|
907 |
+
learn_press_get_template( 'content-question/content.php', array( 'question' => $question ) );
|
908 |
+
}
|
909 |
+
}
|
910 |
}
|
911 |
|
912 |
if ( ! function_exists( 'learn_press_content_item_summary_question_content' ) ) {
|
913 |
|
914 |
+
function learn_press_content_item_summary_question_content() {
|
915 |
+
$quiz = LP_Global::course_item_quiz();
|
916 |
|
917 |
+
if ( $question = $quiz->get_viewing_question() ) {
|
918 |
|
919 |
+
$content = $question->get_content();
|
920 |
|
921 |
+
if ( ! $content ) {
|
922 |
+
return;
|
923 |
+
}
|
924 |
|
925 |
+
learn_press_get_template( 'content-question/description.php', array( 'content' => $content ) );
|
926 |
+
}
|
927 |
+
}
|
928 |
}
|
929 |
|
930 |
if ( ! function_exists( 'learn_press_content_item_summary_question' ) ) {
|
931 |
|
932 |
+
/**
|
933 |
+
* Render content if quiz question.
|
934 |
+
*/
|
935 |
+
function learn_press_content_item_summary_question() {
|
936 |
+
$quiz = LP_Global::course_item_quiz();
|
937 |
+
if ( $question = $quiz->get_viewing_question() ) {
|
938 |
+
$course = LP_Global::course();
|
939 |
+
$user = LP_Global::user();
|
940 |
+
$answered = false;
|
941 |
+
$course_data = $user->get_course_data( $course->get_id() );
|
942 |
+
|
943 |
+
if ( $user_quiz = $course_data->get_item_quiz( $quiz->get_id() ) ) {
|
944 |
+
$answered = $user_quiz->get_question_answer( $question->get_id() );
|
945 |
+
$question->show_correct_answers( $user->has_checked_answer( $question->get_id(), $quiz->get_id(),
|
946 |
+
$course->get_id() ) ? 'yes' : false );
|
947 |
+
$question->disable_answers( $user_quiz->get_status() == 'completed' ? 'yes' : false );
|
948 |
+
$question->set_course( $course );
|
949 |
+
}
|
950 |
+
|
951 |
+
$question->render( $answered );
|
952 |
+
}
|
953 |
+
}
|
954 |
}
|
955 |
|
956 |
if ( ! function_exists( 'learn_press_content_item_summary_question_explanation' ) ) {
|
957 |
|
958 |
+
/**
|
959 |
+
* Render content if quiz question.
|
960 |
+
*/
|
961 |
+
function learn_press_content_item_summary_question_explanation() {
|
962 |
+
$quiz = LP_Global::course_item_quiz();
|
963 |
+
if ( $question = $quiz->get_viewing_question() ) {
|
964 |
+
$course = LP_Global::course();
|
965 |
+
$user = LP_Global::user();
|
966 |
+
|
967 |
+
if ( ! $user ) {
|
968 |
+
return;
|
969 |
+
}
|
970 |
+
|
971 |
+
$course_data = $user->get_course_data( $course->get_id() );
|
972 |
+
$user_quiz = $course_data->get_item_quiz( $quiz->get_id() );
|
973 |
+
$explanation = $question->get_explanation();
|
974 |
+
|
975 |
+
if ( ! $explanation ) {
|
976 |
+
return;
|
977 |
+
}
|
978 |
+
|
979 |
+
/**
|
980 |
+
* Show explanation of question if
|
981 |
+
*
|
982 |
+
* 1. Click check answer check button (Option 'Show Check Answer' value > 1)
|
983 |
+
* OR
|
984 |
+
* 2. Question answered is true
|
985 |
+
* OR
|
986 |
+
* 3. Option 'Review Questions' enable
|
987 |
+
* AND
|
988 |
+
* 3.1. Not retake OR Option 'Show Correct Answer' enable
|
989 |
+
*/
|
990 |
+
if ( $user_quiz->has_checked_question( $question->get_id() ) ||
|
991 |
+
$user_quiz->is_answered_true( $question->get_id() ) ||
|
992 |
+
( learn_press_is_review_questions() &&
|
993 |
+
( ! $user->can_retake_quiz( $quiz->get_id(), $course->get_id() ) ||
|
994 |
+
$quiz->get_show_result() ) ) ) {
|
995 |
+
learn_press_get_template( 'content-question/explanation.php', array( 'explanation' => $explanation ) );
|
996 |
+
}
|
997 |
+
}
|
998 |
+
}
|
999 |
}
|
1000 |
|
1001 |
if ( ! function_exists( 'learn_press_content_item_summary_question_hint' ) ) {
|
1002 |
|
1003 |
+
/**
|
1004 |
+
* Render content if quiz question.
|
1005 |
+
*/
|
1006 |
+
function learn_press_content_item_summary_question_hint() {
|
1007 |
+
$quiz = LP_Global::course_item_quiz();
|
1008 |
+
if ( $question = $quiz->get_viewing_question() ) {
|
1009 |
+
$course = LP_Global::course();
|
1010 |
+
$user = LP_Global::user();
|
1011 |
|
1012 |
+
if ( ! $user ) {
|
1013 |
+
return;
|
1014 |
+
}
|
1015 |
|
1016 |
+
$course_data = $user->get_course_data( $course->get_id() );
|
1017 |
+
$user_quiz = $course_data->get_item_quiz( $quiz->get_id() );
|
1018 |
+
$hint = $question->get_hint();
|
1019 |
|
1020 |
+
if ( ! $hint || ! $user_quiz->has_hinted_question( $question->get_id() ) || $user_quiz->has_checked_question( $question->get_id() ) ) {
|
1021 |
+
return;
|
1022 |
+
}
|
1023 |
|
1024 |
+
learn_press_get_template( 'content-question/hint.php', array( 'hint' => $hint ) );
|
1025 |
+
}
|
1026 |
|
1027 |
+
}
|
1028 |
}
|
1029 |
|
1030 |
if ( ! function_exists( 'learn_press_content_item_summary_question_numbers' ) ) {
|
1031 |
|
1032 |
+
function learn_press_content_item_summary_question_numbers() {
|
1033 |
+
$course = LP_Global::course();
|
1034 |
+
$user = LP_Global::user();
|
1035 |
+
$quiz = LP_Global::course_item_quiz();
|
1036 |
|
1037 |
+
if ( ! $quiz->get_show_hide_question() ) {
|
1038 |
+
return;
|
1039 |
+
}
|
1040 |
|
1041 |
+
if ( ! $user ) {
|
1042 |
+
return;
|
1043 |
+
}
|
1044 |
|
1045 |
+
if ( ! $user->has_quiz_status( array( 'started', 'completed' ), $quiz->get_id(), $course->get_id() ) ) {
|
1046 |
+
return;
|
1047 |
+
}
|
1048 |
|
1049 |
+
if ( ! $quiz->get_viewing_question() ) {
|
1050 |
+
return;
|
1051 |
+
}
|
1052 |
|
1053 |
+
$questions = $quiz->get_questions();
|
1054 |
|
1055 |
+
if ( ! $questions ) {
|
1056 |
+
return;
|
1057 |
+
}
|
1058 |
|
1059 |
+
$questions = array_values( $questions );
|
1060 |
|
1061 |
+
if ( count( $questions ) < 2 ) {
|
1062 |
+
return;
|
1063 |
+
}
|
1064 |
|
1065 |
+
$args = array(
|
1066 |
+
'quiz' => $quiz,
|
1067 |
+
'questions' => $questions
|
1068 |
+
);
|
1069 |
|
1070 |
+
learn_press_get_template( 'content-quiz/question-numbers.php', $args );
|
1071 |
+
}
|
1072 |
}
|
1073 |
|
1074 |
if ( ! function_exists( 'learn_press_content_item_summary_quiz_buttons' ) ) {
|
1075 |
|
1076 |
+
function learn_press_content_item_summary_quiz_buttons() {
|
1077 |
+
learn_press_get_template( 'content-quiz/buttons.php' );
|
1078 |
+
}
|
1079 |
}
|
1080 |
|
1081 |
|
1082 |
if ( ! function_exists( 'learn_press_quiz_nav_buttons' ) ) {
|
1083 |
|
1084 |
+
function learn_press_quiz_nav_buttons() {
|
1085 |
+
$course = LP_Global::course();
|
1086 |
+
$user = LP_Global::user();
|
1087 |
+
$quiz = LP_Global::course_item_quiz();
|
1088 |
|
1089 |
+
if ( ! $user ) {
|
1090 |
+
return;
|
1091 |
+
}
|
1092 |
|
1093 |
+
if ( ! $user->has_quiz_status( array( 'started', 'completed' ), $quiz->get_id(), $course->get_id() ) ) {
|
1094 |
+
return;
|
1095 |
+
}
|
1096 |
|
1097 |
+
if ( ! $quiz->get_viewing_question() ) {
|
1098 |
+
return;
|
1099 |
+
}
|
1100 |
|
1101 |
+
learn_press_get_template( 'content-quiz/buttons/nav.php' );
|
1102 |
+
}
|
1103 |
}
|
1104 |
|
1105 |
if ( ! function_exists( 'learn_press_quiz_start_button' ) ) {
|
1106 |
|
1107 |
+
function learn_press_quiz_start_button() {
|
1108 |
+
$course = LP_Global::course();
|
1109 |
+
$user = LP_Global::user();
|
1110 |
+
$quiz = LP_Global::course_item_quiz();
|
1111 |
|
1112 |
+
if ( ! $user ) {
|
1113 |
+
return;
|
1114 |
+
}
|
1115 |
|
1116 |
+
if ( $user->has_course_status( $course->get_id(), array( 'finished' ) ) || $user->has_quiz_status( array(
|
1117 |
+
'started',
|
1118 |
+
'completed'
|
1119 |
+
), $quiz->get_id(), $course->get_id() )
|
1120 |
+
) {
|
1121 |
+
return;
|
1122 |
+
}
|
1123 |
|
1124 |
+
if ( ! $user->has_course_status( $course->get_id(),
|
1125 |
+
array( 'enrolled' ) ) && $course->is_required_enroll() && ! $quiz->get_preview() ) {
|
1126 |
+
return;
|
1127 |
+
}
|
1128 |
|
1129 |
+
// Check quiz has any question
|
1130 |
+
if ( $quiz->count_questions() == 0 ) {
|
1131 |
+
return;
|
1132 |
+
}
|
1133 |
|
1134 |
+
$args = array(
|
1135 |
+
'course' => $course,
|
1136 |
+
'quiz' => $quiz,
|
1137 |
+
);
|
1138 |
|
1139 |
+
learn_press_get_template( 'content-quiz/buttons/start.php', $args );
|
1140 |
+
}
|
1141 |
}
|
1142 |
|
1143 |
if ( ! function_exists( 'learn_press_quiz_continue_button' ) ) {
|
1144 |
|
1145 |
+
function learn_press_quiz_continue_button() {
|
1146 |
+
$course = LP_Global::course();
|
1147 |
+
$user = LP_Global::user();
|
1148 |
+
$quiz = LP_Global::course_item_quiz();
|
1149 |
|
1150 |
+
if ( ! $user ) {
|
1151 |
+
return;
|
1152 |
+
}
|
1153 |
|
1154 |
+
if ( ! $user->has_quiz_status( 'started', $quiz->get_id(), $course->get_id() ) ) {
|
1155 |
+
return;
|
1156 |
+
}
|
1157 |
|
1158 |
+
if ( $quiz->get_viewing_question() ) {
|
1159 |
+
return;
|
1160 |
+
}
|
1161 |
|
1162 |
+
learn_press_get_template( 'content-quiz/buttons/continue.php' );
|
1163 |
+
}
|
1164 |
}
|
1165 |
|
1166 |
if ( ! function_exists( 'learn_press_quiz_complete_button' ) ) {
|
1167 |
|
1168 |
+
function learn_press_quiz_complete_button() {
|
1169 |
+
$course = LP_Global::course();
|
1170 |
+
$user = LP_Global::user();
|
1171 |
+
$quiz = LP_Global::course_item_quiz();
|
1172 |
|
1173 |
+
if ( ! $user ) {
|
1174 |
+
return;
|
1175 |
+
}
|
1176 |
|
1177 |
+
if ( $user->has_course_status( $course->get_id(), array( 'finished' ) ) || ! $user->has_quiz_status( 'started',
|
1178 |
+
$quiz->get_id(), $course->get_id() ) ) {
|
1179 |
+
return;
|
1180 |
+
}
|
1181 |
+
learn_press_get_template( 'content-quiz/buttons/complete.php' );
|
1182 |
+
}
|
1183 |
}
|
1184 |
|
1185 |
if ( ! function_exists( 'learn_press_quiz_redo_button' ) ) {
|
1186 |
|
1187 |
+
function learn_press_quiz_redo_button() {
|
1188 |
+
$course = LP_Global::course();
|
1189 |
+
$user = LP_Global::user();
|
1190 |
+
$quiz = LP_Global::course_item_quiz();
|
1191 |
|
1192 |
+
if ( ! $user ) {
|
1193 |
+
return;
|
1194 |
+
}
|
1195 |
|
1196 |
+
if ( ! $user->has_quiz_status( 'completed', $quiz->get_id(), $course->get_id() ) ) {
|
1197 |
+
return;
|
1198 |
+
}
|
1199 |
|
1200 |
+
if ( $user->has_course_status( $course->get_id(),
|
1201 |
+
array( 'finished' ) ) || ! $user->can_retake_quiz( $quiz->get_id(), $course->get_id() ) ) {
|
1202 |
+
return;
|
1203 |
+
}
|
1204 |
|
1205 |
+
learn_press_get_template( 'content-quiz/buttons/redo.php' );
|
1206 |
+
}
|
1207 |
}
|
1208 |
|
1209 |
if ( ! function_exists( 'learn_press_quiz_result_button' ) ) {
|
1210 |
|
1211 |
+
function learn_press_quiz_result_button() {
|
1212 |
+
$course = LP_Global::course();
|
1213 |
+
$user = LP_Global::user();
|
1214 |
+
$quiz = LP_Global::course_item_quiz();
|
1215 |
|
1216 |
+
if ( ! $user ) {
|
1217 |
+
return;
|
1218 |
+
}
|
1219 |
|
1220 |
+
if ( ! $user->has_quiz_status( 'completed', $quiz->get_id(), $course->get_id() ) ) {
|
1221 |
+
return;
|
1222 |
+
}
|
1223 |
|
1224 |
+
if ( LP_Global::quiz_question() ) {
|
1225 |
+
return;
|
1226 |
+
}
|
1227 |
|
1228 |
+
if ( ! $quiz->get_review_questions() ) {
|
1229 |
+
return;
|
1230 |
+
}
|
1231 |
|
1232 |
+
learn_press_get_template( 'content-quiz/buttons/review.php' );
|
1233 |
+
}
|
1234 |
}
|
1235 |
|
1236 |
if ( ! function_exists( 'learn_press_quiz_summary_button' ) ) {
|
1237 |
|
1238 |
+
function learn_press_quiz_summary_button() {
|
1239 |
+
$course = LP_Global::course();
|
1240 |
+
$user = LP_Global::user();
|
1241 |
+
$quiz = LP_Global::course_item_quiz();
|
1242 |
|
1243 |
+
if ( ! $user ) {
|
1244 |
+
return;
|
1245 |
+
}
|
1246 |
|
1247 |
+
if ( ! $user->has_quiz_status( 'completed', $quiz->get_id(), $course->get_id() ) ) {
|
1248 |
+
return;
|
1249 |
+
}
|
1250 |
|
1251 |
+
if ( ! learn_press_is_review_questions() ) {
|
1252 |
+
return;
|
1253 |
+
}
|
1254 |
|
1255 |
+
learn_press_get_template( 'content-quiz/buttons/summary.php' );
|
1256 |
+
}
|
1257 |
}
|
1258 |
|
1259 |
if ( ! function_exists( 'learn_press_quiz_check_button' ) ) {
|
1260 |
|
1261 |
+
function learn_press_quiz_check_button() {
|
1262 |
+
$course = LP_Global::course();
|
1263 |
+
$user = LP_Global::user();
|
1264 |
+
$quiz = LP_Global::course_item_quiz();
|
1265 |
|
1266 |
+
if ( ! $user ) {
|
1267 |
+
return;
|
1268 |
+
}
|
1269 |
|
1270 |
+
if ( ! $quiz->is_viewing_question() ) {
|
1271 |
+
return;
|
1272 |
+
}
|
1273 |
|
1274 |
+
if ( ! $user->can_check_answer( $quiz->get_id(), $course->get_id() ) ) {
|
1275 |
+
return;
|
1276 |
+
}
|
1277 |
|
1278 |
+
if ( $user->has_course_status( $course->get_id(), array( 'finished' ) ) || ! $user->has_quiz_status( 'started',
|
1279 |
+
$quiz->get_id(), $course->get_id() ) ) {
|
1280 |
+
return;
|
1281 |
+
}
|
1282 |
|
1283 |
+
learn_press_get_template( 'content-quiz/buttons/check.php' );
|
1284 |
+
}
|
1285 |
}
|
1286 |
|
1287 |
if ( ! function_exists( 'learn_press_quiz_hint_button' ) ) {
|
1288 |
|
1289 |
+
function learn_press_quiz_hint_button() {
|
1290 |
+
$course = LP_Global::course();
|
1291 |
+
$user = LP_Global::user();
|
1292 |
+
$quiz = LP_Global::course_item_quiz();
|
1293 |
+
$question = LP_Global::quiz_question();
|
1294 |
|
1295 |
+
if ( ! $quiz ) {
|
1296 |
+
return;
|
1297 |
+
}
|
1298 |
|
1299 |
+
if ( ! $quiz->is_viewing_question() ) {
|
1300 |
+
return;
|
1301 |
+
}
|
1302 |
|
1303 |
+
$hint = $question->get_hint();
|
1304 |
+
if ( ! $hint ) {
|
1305 |
+
return;
|
1306 |
+
}
|
1307 |
|
1308 |
+
if ( ! $user ) {
|
1309 |
+
return;
|
1310 |
+
}
|
1311 |
|
1312 |
+
if ( ! $user->can_hint_answer( $quiz->get_id(), $course->get_id() ) ) {
|
1313 |
+
return;
|
1314 |
+
}
|
1315 |
|
1316 |
+
if ( ! $user->has_quiz_status( 'started', $quiz->get_id(), $course->get_id() ) ) {
|
1317 |
+
return;
|
1318 |
+
}
|
1319 |
|
1320 |
+
$quiz_item = $user->get_quiz_data( $quiz->get_id(), $course->get_id() );
|
1321 |
|
1322 |
+
if ( $quiz_item && ( $quiz_item->has_checked_question( $question->get_id() ) || $quiz_item->is_answered( $question->get_id() ) ) ) {
|
1323 |
+
return;
|
1324 |
+
}
|
1325 |
|
1326 |
+
learn_press_get_template( 'content-quiz/buttons/hint.php', array( 'hint' => $hint ) );
|
1327 |
+
}
|
1328 |
}
|
1329 |
|
1330 |
if ( ! function_exists( 'learn_press_content_item_body_class' ) ) {
|
1331 |
|
1332 |
+
/**
|
1333 |
+
* Add custom classes into body tag in case user is viewing an item.
|
1334 |
+
*
|
1335 |
+
* @param array $classes
|
1336 |
+
*
|
1337 |
+
* @return array
|
1338 |
+
*/
|
1339 |
+
function learn_press_content_item_body_class( $classes ) {
|
1340 |
+
global $lp_course_item;
|
1341 |
+
|
1342 |
+
if ( $lp_course_item ) {
|
1343 |
+
$classes[] = 'course-item-popup';
|
1344 |
+
$classes[] = 'viewing-course-item';
|
1345 |
+
$classes[] = 'viewing-course-item-' . $lp_course_item->get_id();
|
1346 |
+
$classes[] = 'course-item-' . $lp_course_item->get_item_type();
|
1347 |
+
}
|
1348 |
|
1349 |
+
return $classes;
|
1350 |
+
}
|
1351 |
|
1352 |
}
|
1353 |
|
1354 |
if ( ! function_exists( 'learn_press_content_item_edit_links' ) ) {
|
1355 |
+
/**
|
1356 |
+
* Add edit links for course item question to admin bar.
|
1357 |
+
*/
|
1358 |
+
function learn_press_content_item_edit_links() {
|
1359 |
+
global $wp_admin_bar, $post, $lp_course_item, $lp_quiz_question;
|
1360 |
+
|
1361 |
+
if ( ! ( ! is_admin() && is_user_logged_in() ) ) {
|
1362 |
+
return;
|
1363 |
+
}
|
1364 |
+
|
1365 |
+
if ( is_learnpress() && $post && $post->ID === 0 ) {
|
1366 |
+
// This also remove the 'Edit Category' link when viewing course category!!!
|
1367 |
+
//$wp_admin_bar->remove_node( 'edit' );
|
1368 |
+
}
|
1369 |
+
|
1370 |
+
if ( ! is_user_member_of_blog() && ! is_super_admin() ) {
|
1371 |
+
//return;
|
1372 |
+
}
|
1373 |
+
|
1374 |
+
/**
|
1375 |
+
* Edit link for lesson/quiz or any other course's item.
|
1376 |
+
*/
|
1377 |
+
if ( $lp_course_item && ( $post_type_object = get_post_type_object( $lp_course_item->get_item_type() ) )
|
1378 |
+
&& current_user_can( 'edit_post', $lp_course_item->get_id() )
|
1379 |
+
&& $post_type_object->show_in_admin_bar
|
1380 |
+
&& $edit_post_link = get_edit_post_link( $lp_course_item->get_id() )
|
1381 |
+
) {
|
1382 |
+
$type = get_post_type( $lp_course_item->get_id() );
|
1383 |
+
|
1384 |
+
if ( apply_filters( 'learn-press/edit-admin-bar-button', true, $lp_course_item ) ) {
|
1385 |
+
$wp_admin_bar->add_menu( array(
|
1386 |
+
'id' => 'edit-' . $type,
|
1387 |
+
'title' => $post_type_object->labels->edit_item,
|
1388 |
+
'href' => $edit_post_link
|
1389 |
+
) );
|
1390 |
+
}
|
1391 |
+
}
|
1392 |
+
|
1393 |
+
/**
|
1394 |
+
* Edit link for quiz's question.
|
1395 |
+
*/
|
1396 |
+
if ( $lp_quiz_question ) {
|
1397 |
+
if ( ( $post_type_object = get_post_type_object( $lp_quiz_question->get_item_type() ) )
|
1398 |
+
&& current_user_can( 'edit_post', $lp_quiz_question->get_id() )
|
1399 |
+
&& $post_type_object->show_in_admin_bar
|
1400 |
+
&& $edit_post_link = get_edit_post_link( $lp_quiz_question->get_id() )
|
1401 |
+
) {
|
1402 |
+
$type = get_post_type( $lp_quiz_question->get_id() );
|
1403 |
+
$wp_admin_bar->add_menu( array(
|
1404 |
+
'id' => 'edit-' . $type,
|
1405 |
+
'title' => $post_type_object->labels->edit_item,
|
1406 |
+
'href' => $edit_post_link
|
1407 |
+
) );
|
1408 |
+
}
|
1409 |
+
}
|
1410 |
+
|
1411 |
+
|
1412 |
+
}
|
1413 |
}
|
1414 |
|
1415 |
add_filter( 'admin_bar_menu', 'learn_press_content_item_edit_links', 90 );
|
1416 |
|
1417 |
if ( ! function_exists( 'learn_press_control_displaying_course_item' ) ) {
|
1418 |
+
/**
|
1419 |
+
* If user is viewing content of an item instead of the whole course
|
1420 |
+
* then remove all content of course and replace with content of
|
1421 |
+
* that item.
|
1422 |
+
*/
|
1423 |
+
function learn_press_control_displaying_course_item() {
|
1424 |
+
global $wp_filter;
|
1425 |
+
|
1426 |
+
// Remove all hooks added to content of whole course.
|
1427 |
+
$hooks = array( 'content-learning-summary', 'content-landing-summary' );
|
1428 |
+
|
1429 |
+
if ( empty( $wp_filter['learn-press-backup-hooks'] ) ) {
|
1430 |
+
$wp_filter['learn-press-backup-hooks'] = array();
|
1431 |
+
}
|
1432 |
|
1433 |
+
foreach ( $hooks as $hook ) {
|
1434 |
+
if ( isset( $wp_filter["learn-press/{$hook}"] ) ) {
|
1435 |
+
// Move to backup to restore it if needed.
|
1436 |
+
$wp_filter['learn-press-backup-hooks']["learn-press/{$hook}"] = $wp_filter["learn-press/{$hook}"];
|
1437 |
|
1438 |
+
// Remove the origin hook
|
1439 |
+
unset( $wp_filter["learn-press/{$hook}"] );
|
1440 |
+
}
|
1441 |
+
}
|
1442 |
|
1443 |
+
// Add more assets into page that displaying content of an item
|
1444 |
+
add_filter( 'body_class', 'learn_press_content_item_body_class', 10 );
|
1445 |
+
}
|
1446 |
}
|
1447 |
|
1448 |
if ( ! function_exists( 'learn_press_profile_tab_orders' ) ) {
|
1449 |
+
function learn_press_profile_tab_orders() {
|
1450 |
+
learn_press_get_template( 'profile/tabs/orders/list.php' );
|
1451 |
+
}
|
1452 |
}
|
1453 |
|
1454 |
if ( ! function_exists( 'learn_press_profile_recover_order_form' ) ) {
|
1455 |
+
function learn_press_profile_recover_order_form( $order ) {
|
1456 |
+
learn_press_get_template( 'profile/tabs/orders/recover-order.php', array( 'order' => $order ) );
|
1457 |
+
}
|
1458 |
}
|
1459 |
|
1460 |
if ( ! function_exists( 'learn_press_wrapper_start' ) ) {
|
1461 |
+
/**
|
1462 |
+
* Wrapper Start
|
1463 |
+
*/
|
1464 |
+
function learn_press_wrapper_start() {
|
1465 |
+
learn_press_get_template( 'global/before-main-content.php' );
|
1466 |
+
}
|
1467 |
}
|
1468 |
|
1469 |
if ( ! function_exists( 'learn_press_wrapper_end' ) ) {
|
1470 |
+
/**
|
1471 |
+
* wrapper end
|
1472 |
+
*/
|
1473 |
+
function learn_press_wrapper_end() {
|
1474 |
+
learn_press_get_template( 'global/after-main-content.php' );
|
1475 |
+
}
|
1476 |
}
|
1477 |
|
1478 |
if ( ! function_exists( 'learn_press_single_course_args' ) ) {
|
1479 |
+
function learn_press_single_course_args() {
|
1480 |
+
static $output = array();
|
1481 |
+
if ( ! $output ) {
|
1482 |
+
if ( ( $course = LP_Global::course() ) && $course->get_id() ) {
|
1483 |
+
$user = LP_Global::user();
|
1484 |
+
|
1485 |
+
if ( ! $user ) {
|
1486 |
+
return;
|
1487 |
+
}
|
1488 |
+
|
1489 |
+
if ( $course_data = $user->get_course_data( $course->get_id() ) ) {
|
1490 |
+
$output = $course_data->get_js_args();
|
1491 |
+
}
|
1492 |
+
}
|
1493 |
+
}
|
1494 |
|
1495 |
+
return $output;
|
1496 |
+
}
|
1497 |
}
|
1498 |
|
1499 |
if ( ! function_exists( 'learn_press_single_quiz_args' ) ) {
|
1500 |
+
function learn_press_single_quiz_args() {
|
1501 |
+
$args = array();
|
1502 |
+
|
1503 |
+
if ( $quiz = LP_Global::course_item_quiz() ) {
|
1504 |
+
$user = LP_Global::user();
|
1505 |
+
|
1506 |
+
if ( ! $user ) {
|
1507 |
+
return;
|
1508 |
+
}
|
1509 |
+
|
1510 |
+
if ( $user_quiz = $user->get_item_data( $quiz->get_id(), LP_Global::course( true ) ) ) {
|
1511 |
+
$remaining_time = $user_quiz->get_time_remaining();
|
1512 |
+
} else {
|
1513 |
+
$remaining_time = false;
|
1514 |
+
}
|
1515 |
+
$args = array(
|
1516 |
+
'id' => $quiz->get_id(),
|
1517 |
+
'totalTime' => $quiz->get_duration()->get(),
|
1518 |
+
'remainingTime' => $remaining_time ? $remaining_time->get() : $quiz->get_duration()->get(),
|
1519 |
+
'status' => $user->get_item_status( $quiz->get_id(), LP_Global::course( true ) ),
|
1520 |
+
'daysLeft' => _x( 'days left', 'quiz_duration', 'learnpress' ),
|
1521 |
+
'dayLeft' => _x( 'day left', 'quiz_duration', 'learnpress' )
|
1522 |
+
);
|
1523 |
+
}
|
1524 |
+
|
1525 |
+
return $args;
|
1526 |
+
}
|
1527 |
}
|
1528 |
|
1529 |
if ( ! function_exists( 'learn_press_courses_loop_item_thumbnail' ) ) {
|
1530 |
+
/**
|
1531 |
+
* Output the thumbnail of the course within loop
|
1532 |
+
*/
|
1533 |
+
function learn_press_courses_loop_item_thumbnail() {
|
1534 |
+
learn_press_get_template( 'loop/course/thumbnail.php' );
|
1535 |
+
}
|
1536 |
}
|
1537 |
|
1538 |
if ( ! function_exists( 'learn_press_courses_loop_item_title' ) ) {
|
1539 |
+
/**
|
1540 |
+
* Output the title of the course within loop
|
1541 |
+
*/
|
1542 |
+
function learn_press_courses_loop_item_title() {
|
1543 |
+
learn_press_get_template( 'loop/course/title.php' );
|
1544 |
+
}
|
1545 |
}
|
1546 |
|
1547 |
if ( ! function_exists( 'learn_press_courses_loop_item_begin_meta' ) ) {
|
1548 |
+
/**
|
1549 |
+
* Output the excerpt of the course within loop
|
1550 |
+
*/
|
1551 |
+
function learn_press_courses_loop_item_begin_meta() {
|
1552 |
+
learn_press_get_template( 'loop/course/meta-begin.php' );
|
1553 |
+
}
|
1554 |
}
|
1555 |
|
1556 |
if ( ! function_exists( 'learn_press_courses_loop_item_end_meta' ) ) {
|
1557 |
+
/**
|
1558 |
+
* Output the excerpt of the course within loop
|
1559 |
+
*/
|
1560 |
+
function learn_press_courses_loop_item_end_meta() {
|
1561 |
+
learn_press_get_template( 'loop/course/meta-end.php' );
|
1562 |
+
}
|
1563 |
}
|
1564 |
|
1565 |
if ( ! function_exists( 'learn_press_courses_loop_item_introduce' ) ) {
|
1566 |
+
/**
|
1567 |
+
* Output the excerpt of the course within loop
|
1568 |
+
*/
|
1569 |
+
function learn_press_courses_loop_item_introduce() {
|
1570 |
+
learn_press_get_template( 'loop/course/introduce.php' );
|
1571 |
+
}
|
1572 |
}
|
1573 |
|
1574 |
if ( ! function_exists( 'learn_press_courses_loop_item_price' ) ) {
|
1575 |
+
/**
|
1576 |
+
* Output the price of the course within loop
|
1577 |
+
*/
|
1578 |
+
function learn_press_courses_loop_item_price() {
|
1579 |
+
learn_press_get_template( 'loop/course/price.php' );
|
1580 |
+
}
|
1581 |
}
|
1582 |
|
1583 |
if ( ! function_exists( 'learn_press_begin_courses_loop' ) ) {
|
1584 |
+
/**
|
1585 |
+
* Output the price of the course within loop
|
1586 |
+
*/
|
1587 |
+
function learn_press_begin_courses_loop() {
|
1588 |
+
learn_press_get_template( 'loop/course/loop-begin.php' );
|
1589 |
+
}
|
1590 |
}
|
1591 |
|
1592 |
if ( ! function_exists( 'learn_press_end_courses_loop' ) ) {
|
1593 |
+
/**
|
1594 |
+
* Output the price of the course within loop
|
1595 |
+
*/
|
1596 |
+
function learn_press_end_courses_loop() {
|
1597 |
+
learn_press_get_template( 'loop/course/loop-end.php' );
|
1598 |
+
}
|
1599 |
}
|
1600 |
|
1601 |
if ( ! function_exists( 'learn_press_courses_loop_item_students' ) ) {
|
1602 |
+
/**
|
1603 |
+
* Output the students of the course within loop
|
1604 |
+
*/
|
1605 |
+
function learn_press_courses_loop_item_students() {
|
1606 |
+
learn_press_get_template( 'loop/course/students.php' );
|
1607 |
+
}
|
1608 |
}
|
1609 |
|
1610 |
if ( ! function_exists( 'learn_press_courses_pagination' ) ) {
|
1611 |
+
/**
|
1612 |
+
* Output the pagination of archive courses
|
1613 |
+
*/
|
1614 |
+
function learn_press_courses_pagination() {
|
1615 |
+
learn_press_get_template( 'loop/course/pagination.php' );
|
1616 |
+
}
|
1617 |
}
|
1618 |
|
1619 |
if ( ! function_exists( 'learn_press_breadcrumb' ) ) {
|
1620 |
+
/**
|
1621 |
+
* Output the breadcrumb of archive courses
|
1622 |
+
*
|
1623 |
+
* @param array
|
1624 |
+
*/
|
1625 |
+
function learn_press_breadcrumb( $args = array() ) {
|
1626 |
+
$args = wp_parse_args( $args, apply_filters( 'learn_press_breadcrumb_defaults', array(
|
1627 |
+
'delimiter' => ' / ',
|
1628 |
+
'wrap_before' => '<nav class="learn-press-breadcrumb" ' . ( is_single() ? 'itemprop="breadcrumb"' : '' ) . '>',
|
1629 |
+
'wrap_after' => '</nav>',
|
1630 |
+
'before' => '',
|
1631 |
+
'after' => '',
|
1632 |
+
'home' => _x( 'Home', 'breadcrumb', 'learnpress' )
|
1633 |
+
) ) );
|
1634 |
+
|
1635 |
+
$breadcrumbs = new LP_Breadcrumb();
|
1636 |
+
|
1637 |
+
if ( $args['home'] ) {
|
1638 |
+
$breadcrumbs->add_crumb( $args['home'], apply_filters( 'learn_press_breadcrumb_home_url', home_url() ) );
|
1639 |
+
}
|
1640 |
|
1641 |
+
$args['breadcrumb'] = $breadcrumbs->generate();
|
1642 |
|
1643 |
+
learn_press_get_template( 'global/breadcrumb.php', $args );
|
1644 |
+
}
|
1645 |
}
|
1646 |
|
1647 |
if ( ! function_exists( 'learn_press_search_form' ) ) {
|
1648 |
+
/**
|
1649 |
+
* Output the breadcrumb of archive courses
|
1650 |
+
*
|
1651 |
+
* @param array
|
1652 |
+
*/
|
1653 |
+
function learn_press_search_form() {
|
1654 |
+
if ( ! empty( $_REQUEST['s'] ) && ! empty( $_REQUEST['ref'] ) && 'course' == $_REQUEST['ref'] ) {
|
1655 |
+
$s = stripslashes_deep( $_REQUEST['s'] );
|
1656 |
+
} else {
|
1657 |
+
$s = '';
|
1658 |
+
}
|
1659 |
+
|
1660 |
+
learn_press_get_template( 'search-form.php', array( 's' => $s ) );
|
1661 |
+
}
|
1662 |
}
|
1663 |
|
1664 |
if ( ! function_exists( 'learn_press_output_single_course_learning_summary' ) ) {
|
1665 |
+
/**
|
1666 |
+
* Output the content of learning course content
|
1667 |
+
*/
|
1668 |
+
function learn_press_output_single_course_learning_summary() {
|
1669 |
+
learn_press_get_template( 'single-course/content-learning.php' );
|
1670 |
+
}
|
1671 |
}
|
1672 |
|
1673 |
if ( ! function_exists( 'learn_press_output_single_course_landing_summary' ) ) {
|
1674 |
+
/**
|
1675 |
+
* Output the content of landing course content
|
1676 |
+
*/
|
1677 |
+
function learn_press_output_single_course_landing_summary() {
|
1678 |
+
learn_press_get_template( 'single-course/content-landing.php' );
|
1679 |
+
}
|
1680 |
}
|
1681 |
|
1682 |
if ( ! function_exists( 'learn_press_course_title' ) ) {
|
1683 |
+
/**
|
1684 |
+
* Display the title for single course
|
1685 |
+
*/
|
1686 |
+
function learn_press_course_title() {
|
1687 |
+
learn_press_get_template( 'single-course/title.php' );
|
1688 |
+
}
|
1689 |
}
|
1690 |
|
1691 |
if ( ! function_exists( 'learn_press_course_progress' ) ) {
|
1692 |
+
/**
|
1693 |
+
* Display course curriculum
|
1694 |
+
*/
|
1695 |
+
function learn_press_course_progress() {
|
1696 |
+
learn_press_get_template( 'single-course/progress.php' );
|
1697 |
+
}
|
1698 |
}
|
1699 |
|
1700 |
if ( ! function_exists( 'learn_press_course_finish_button' ) ) {
|
1701 |
+
/**
|
1702 |
+
* Display course curriculum
|
1703 |
+
*/
|
1704 |
+
function learn_press_course_finish_button() {
|
1705 |
+
learn_press_get_template( 'single-course/buttons/finish.php' );
|
1706 |
+
}
|
1707 |
}
|
1708 |
|
1709 |
if ( ! function_exists( 'learn_press_course_curriculum' ) ) {
|
1710 |
+
/**
|
1711 |
+
* Display course curriculum
|
1712 |
+
*/
|
1713 |
+
function learn_press_course_curriculum() {
|
1714 |
+
///learn_press_get_template( 'single-course/curriculum.php' );
|
1715 |
+
}
|
1716 |
}
|
1717 |
|
1718 |
if ( ! function_exists( 'learn_press_course_categories' ) ) {
|
1719 |
+
/**
|
1720 |
+
* Display course categories
|
1721 |
+
*/
|
1722 |
+
function learn_press_course_categories() {
|
1723 |
+
learn_press_get_template( 'single-course/categories.php' );
|
1724 |
+
}
|
1725 |
}
|
1726 |
|
1727 |
if ( ! function_exists( 'learn_press_course_tags' ) ) {
|
1728 |
+
/**
|
1729 |
+
* Display course tags
|
1730 |
+
*/
|
1731 |
+
function learn_press_course_tags() {
|
1732 |
+
learn_press_get_template( 'single-course/tags.php' );
|
1733 |
+
}
|
1734 |
}
|
1735 |
|
1736 |
if ( ! function_exists( 'learn_press_course_instructor' ) ) {
|
1737 |
+
/**
|
1738 |
+
* Display course instructor
|
1739 |
+
*/
|
1740 |
+
function learn_press_course_instructor() {
|
1741 |
+
learn_press_get_template( 'single-course/instructor.php' );
|
1742 |
+
}
|
1743 |
}
|
1744 |
|
1745 |
if ( ! function_exists( 'learn_press_content_single_item' ) ) {
|
1746 |
+
function learn_press_content_single_item() {
|
1747 |
|
1748 |
+
if ( $course_item = LP_Global::course_item() ) {
|
1749 |
+
// remove course comment form on singler item
|
1750 |
+
add_filter( 'comments_open', 'learn_press_course_comments_open', 10, 2 );
|
1751 |
+
learn_press_get_template( 'content-single-item.php' );
|
1752 |
+
}
|
1753 |
+
}
|
1754 |
}
|
1755 |
|
1756 |
if ( ! function_exists( 'learn_press_content_single_course' ) ) {
|
1757 |
+
function learn_press_content_single_course() {
|
1758 |
|
1759 |
+
if ( ! $course_item = LP_Global::course_item() ) {
|
1760 |
+
learn_press_get_template( 'content-single-course.php' );
|
1761 |
+
}
|
1762 |
+
}
|
1763 |
}
|
1764 |
|
1765 |
if ( ! function_exists( 'learn_press_course_buttons' ) ) {
|
1766 |
+
/**
|
1767 |
+
* Display course retake button
|
1768 |
+
*/
|
1769 |
+
function learn_press_course_buttons() {
|
1770 |
+
learn_press_get_template( 'single-course/buttons.php' );
|
1771 |
+
}
|
1772 |
}
|
1773 |
|
1774 |
if ( ! function_exists( 'learn_press_course_remaining_time' ) ) {
|
1775 |
|
1776 |
+
function learn_press_course_remaining_time() {
|
1777 |
|
1778 |
+
if ( ! $course = LP_Global::course() ) {
|
1779 |
+
return;
|
1780 |
+
}
|
1781 |
|
1782 |
+
if ( ! $user = LP_Global::user() ) {
|
1783 |
+
return;
|
1784 |
+
}
|
1785 |
|
1786 |
+
if ( false === ( $remain = $user->get_course_remaining_time( $course->get_id() ) ) ) {
|
1787 |
+
return;
|
1788 |
+
}
|
1789 |
|
1790 |
+
if ( $user->has_finished_course( $course->get_id() ) ) {
|
1791 |
+
return;
|
1792 |
+
}
|
1793 |
|
1794 |
+
learn_press_get_template( 'single-course/remaining-time.php', array( 'remaining_time' => $remain ) );
|
1795 |
+
}
|
1796 |
}
|
1797 |
|
1798 |
if ( ! function_exists( 'learn_press_course_thumbnail' ) ) {
|
1799 |
+
/**
|
1800 |
+
* Display Course Thumbnail
|
1801 |
+
*/
|
1802 |
+
function learn_press_course_thumbnail() {
|
1803 |
+
learn_press_get_template( 'single-course/thumbnail.php' );
|
1804 |
+
}
|
1805 |
}
|
1806 |
|
1807 |
if ( ! function_exists( 'learn_press_single_course_description' ) ) {
|
1808 |
+
/**
|
1809 |
+
* Display course description
|
1810 |
+
*/
|
1811 |
+
function learn_press_single_course_description() {
|
1812 |
+
learn_press_get_template( 'single-course/description.php' );
|
1813 |
+
}
|
1814 |
}
|
1815 |
|
1816 |
if ( ! function_exists( 'learn_press_single_course_lesson_content' ) ) {
|
1817 |
+
/**
|
1818 |
+
* Display lesson content
|
1819 |
+
*/
|
1820 |
+
function learn_press_single_course_content_lesson() {
|
1821 |
+
//learn_press_get_template( 'single-course/content-lesson.php' );
|
1822 |
+
}
|
1823 |
}
|
1824 |
|
1825 |
if ( ! function_exists( 'learn_press_single_course_content_item' ) ) {
|
1826 |
+
/**
|
1827 |
+
* Display lesson content
|
1828 |
+
*/
|
1829 |
+
function learn_press_single_course_content_item() {
|
1830 |
+
learn_press_get_template( 'single-course/content-item.php' );
|
1831 |
+
}
|
1832 |
}
|
1833 |
|
1834 |
if ( ! function_exists( 'learn_press_section_item_meta' ) ) {
|
1835 |
+
/**
|
1836 |
+
* @param object
|
1837 |
+
* @param array
|
1838 |
+
* @param LP_Course
|
1839 |
+
*/
|
1840 |
+
function learn_press_section_item_meta( $item, $section ) {
|
1841 |
+
learn_press_get_template( 'single-course/section/item-meta.php', array(
|
1842 |
+
'item' => $item,
|
1843 |
+
'section' => $section
|
1844 |
+
) );
|
1845 |
+
}
|
1846 |
}
|
1847 |
|
1848 |
if ( ! function_exists( 'learn_press_order_details_table' ) ) {
|
1849 |
|
1850 |
+
/**
|
1851 |
+
* Displays order details in a table.
|
1852 |
+
*
|
1853 |
+
* @param mixed $order_id
|
1854 |
+
*
|
1855 |
+
* @subpackage Orders
|
1856 |
+
*/
|
1857 |
+
function learn_press_order_details_table( $order_id ) {
|
1858 |
+
if ( ! $order_id ) {
|
1859 |
+
return;
|
1860 |
+
}
|
1861 |
|
1862 |
+
learn_press_get_template( 'order/order-details.php', array(
|
1863 |
+
'order' => learn_press_get_order( $order_id )
|
1864 |
+
) );
|
1865 |
+
}
|
1866 |
}
|
1867 |
|
1868 |
if ( ! function_exists( 'learn_press_checkout_user_form' ) ) {
|
1869 |
+
/**
|
1870 |
+
* Output login/register form before order review if user is not logged in
|
1871 |
+
*/
|
1872 |
+
function learn_press_checkout_user_form() {
|
1873 |
+
//learn_press_get_template( 'checkout/user-form.php' );
|
1874 |
+
}
|
1875 |
}
|
1876 |
|
1877 |
if ( ! function_exists( 'learn_press_checkout_user_form_login' ) ) {
|
1878 |
+
/**
|
1879 |
+
* Output login form before order review if user is not logged in
|
1880 |
+
*/
|
1881 |
+
function learn_press_checkout_user_form_login() {
|
1882 |
+
learn_press_get_template( 'checkout/form-login.php' );
|
1883 |
+
}
|
1884 |
}
|
1885 |
|
1886 |
if ( ! function_exists( 'learn_press_checkout_user_form_register' ) ) {
|
1887 |
+
/**
|
1888 |
+
* Output register form before order review if user is not logged in
|
1889 |
+
*/
|
1890 |
+
function learn_press_checkout_user_form_register() {
|
1891 |
+
learn_press_get_template( 'checkout/form-register.php' );
|
1892 |
+
}
|
1893 |
}
|
1894 |
|
1895 |
if ( ! function_exists( 'learn_press_checkout_user_logged_in' ) ) {
|
1896 |
+
/**
|
1897 |
+
* Output message before order review if user is logged in
|
1898 |
+
*/
|
1899 |
+
function learn_press_checkout_user_logged_in() {
|
1900 |
+
learn_press_get_template( 'checkout/form-logged-in.php' );
|
1901 |
+
}
|
1902 |
}
|
1903 |
|
1904 |
if ( ! function_exists( 'learn_press_enroll_script' ) ) {
|
1905 |
+
/**
|
1906 |
+
*/
|
1907 |
+
function learn_press_enroll_script() {
|
1908 |
+
learn_press_assets()->enqueue_script( 'learn-press-enroll', LP()->plugin_url( 'assets/js/frontend/enroll.js' ),
|
1909 |
+
array( 'learn-press-js' ) );
|
1910 |
+
}
|
1911 |
}
|
1912 |
|
1913 |
if ( ! function_exists( 'learn_press_output_user_profile_tabs' ) ) {
|
1914 |
+
/**
|
1915 |
+
* Display user profile tabs
|
1916 |
+
*
|
1917 |
+
* @param LP_User
|
1918 |
+
*/
|
1919 |
+
function learn_press_output_user_profile_tabs( $user, $current, $tabs ) {
|
1920 |
+
learn_press_get_template( 'profile/tabs.php', array(
|
1921 |
+
'user' => $user,
|
1922 |
+
'tabs' => $tabs,
|
1923 |
+
'current' => $current
|
1924 |
+
) );
|
1925 |
+
}
|
1926 |
}
|
1927 |
|
1928 |
if ( ! function_exists( 'learn_press_output_user_profile_order' ) ) {
|
1929 |
+
/**
|
1930 |
+
* Display user profile tabs
|
1931 |
+
*
|
1932 |
+
* @param LP_User
|
1933 |
+
*/
|
1934 |
+
function learn_press_output_user_profile_order( $user, $current, $tabs ) {
|
1935 |
+
|
1936 |
+
// learn_press_get_template( 'profile/tabs/orders.php', array( 'user' => $user, 'tabs' => $tabs, 'current' => $current ) );
|
1937 |
+
}
|
1938 |
}
|
1939 |
if ( ! function_exists( 'learn_press_profile_tab_courses_all' ) ) {
|
1940 |
+
/**
|
1941 |
+
* Display user profile tabs
|
1942 |
+
*
|
1943 |
+
* @param LP_User
|
1944 |
+
*/
|
1945 |
+
function learn_press_profile_tab_courses_all( $user, $tab = null ) {
|
1946 |
+
$args = array(
|
1947 |
+
'user' => $user,
|
1948 |
+
'subtab' => $tab
|
1949 |
+
);
|
1950 |
+
$limit = LP()->settings->get( 'profile_courses_limit', 10 );
|
1951 |
+
$limit = apply_filters( 'learn_press_profile_tab_courses_all_limit', $limit );
|
1952 |
+
$courses = $user->get( 'courses', array( 'limit' => $limit ) );
|
1953 |
+
$num_pages = learn_press_get_num_pages( $user->_get_found_rows(), $limit );
|
1954 |
+
$args['courses'] = $courses;
|
1955 |
+
$args['num_pages'] = $num_pages;
|
1956 |
+
learn_press_get_template( 'profile/tabs/courses.php', $args );
|
1957 |
+
}
|
1958 |
}
|
1959 |
|
1960 |
if ( ! function_exists( 'learn_press_profile_tab_courses_learning' ) ) {
|
1961 |
+
/**
|
1962 |
+
* Display user profile tabs
|
1963 |
+
*
|
1964 |
+
* @param LP_User
|
1965 |
+
*/
|
1966 |
+
function learn_press_profile_tab_courses_learning( $user, $tab = null ) {
|
1967 |
+
$args = array(
|
1968 |
+
'user' => $user,
|
1969 |
+
'subtab' => $tab
|
1970 |
+
);
|
1971 |
+
$limit = LP()->settings->get( 'profile_courses_limit', 10 );
|
1972 |
+
$limit = apply_filters( 'learn_press_profile_tab_courses_learning_limit', $limit );
|
1973 |
+
$courses = $user->get( 'enrolled-courses', array( 'status' => 'enrolled', 'limit' => $limit ) );
|
1974 |
+
$num_pages = learn_press_get_num_pages( $user->_get_found_rows(), $limit );
|
1975 |
+
$args['courses'] = $courses;
|
1976 |
+
$args['num_pages'] = $num_pages;
|
1977 |
+
learn_press_get_template( 'profile/tabs/courses/learning.php', $args );
|
1978 |
+
}
|
1979 |
}
|
1980 |
|
1981 |
if ( ! function_exists( 'learn_press_profile_tab_courses_purchased' ) ) {
|
1982 |
+
/**
|
1983 |
+
* Display user profile tabs
|
1984 |
+
*
|
1985 |
+
* @param LP_User
|
1986 |
+
*/
|
1987 |
+
function learn_press_profile_tab_courses_purchased( $user, $tab = null ) {
|
1988 |
+
$args = array(
|
1989 |
+
'user' => $user,
|
1990 |
+
'subtab' => $tab
|
1991 |
+
);
|
1992 |
+
$limit = LP()->settings->get( 'profile_courses_limit', 10 );
|
1993 |
+
$limit = apply_filters( 'learn_press_profile_tab_courses_purchased_limit', $limit );
|
1994 |
+
$courses = $user->get( 'purchased-courses', array( 'limit' => $limit ) );
|
1995 |
+
$num_pages = learn_press_get_num_pages( $user->_get_found_rows(), $limit );
|
1996 |
+
$args['courses'] = $courses;
|
1997 |
+
$args['num_pages'] = $num_pages;
|
1998 |
+
learn_press_get_template( 'profile/tabs/courses/purchased.php', $args );
|
1999 |
+
}
|
2000 |
}
|
2001 |
|
2002 |
if ( ! function_exists( 'learn_press_profile_tab_courses_finished' ) ) {
|
2003 |
+
/**
|
2004 |
+
* Display user profile tabs
|
2005 |
+
*
|
2006 |
+
* @param LP_User
|
2007 |
+
*/
|
2008 |
+
function learn_press_profile_tab_courses_finished( $user, $tab = null ) {
|
2009 |
+
$args = array(
|
2010 |
+
'user' => $user,
|
2011 |
+
'subtab' => $tab
|
2012 |
+
);
|
2013 |
+
$limit = LP()->settings->get( 'profile_courses_limit', 10 );
|
2014 |
+
$limit = apply_filters( 'learn_press_profile_tab_courses_finished_limit', $limit );
|
2015 |
+
$courses = $user->get( 'enrolled-courses', array( 'status' => 'finished', 'limit' => $limit ) );
|
2016 |
+
$num_pages = learn_press_get_num_pages( $user->_get_found_rows(), $limit );
|
2017 |
+
$args['courses'] = $courses;
|
2018 |
+
$args['num_pages'] = $num_pages;
|
2019 |
+
learn_press_get_template( 'profile/tabs/courses/finished.php', $args );
|
2020 |
+
}
|
2021 |
}
|
2022 |
|
2023 |
if ( ! function_exists( 'learn_press_profile_tab_courses_own' ) ) {
|
2024 |
+
/**
|
2025 |
+
* Display user profile tabs
|
2026 |
+
*
|
2027 |
+
* @param LP_User
|
2028 |
+
*/
|
2029 |
+
function learn_press_profile_tab_courses_own( $user, $tab = null ) {
|
2030 |
+
$args = array(
|
2031 |
+
'user' => $user,
|
2032 |
+
'subtab' => $tab
|
2033 |
+
);
|
2034 |
+
$limit = LP()->settings->get( 'profile_courses_limit', 10 );
|
2035 |
+
$limit = apply_filters( 'learn_press_profile_tab_courses_own_limit', $limit );
|
2036 |
+
$courses = $user->get( 'own-courses', array( 'limit' => $limit ) );
|
2037 |
+
$num_pages = learn_press_get_num_pages( $user->_get_found_rows(), $limit );
|
2038 |
+
$args['courses'] = $courses;
|
2039 |
+
$args['num_pages'] = $num_pages;
|
2040 |
+
learn_press_get_template( 'profile/tabs/courses/own.php', $args );
|
2041 |
+
}
|
2042 |
}
|
2043 |
|
2044 |
if ( ! function_exists( 'learn_press_after_profile_tab_loop_course' ) ) {
|
2045 |
+
/**
|
2046 |
+
* Display user profile tabs
|
2047 |
+
*
|
2048 |
+
* @param LP_User
|
2049 |
+
*/
|
2050 |
+
function learn_press_after_profile_tab_loop_course( $user, $course_id ) {
|
2051 |
+
|
2052 |
+
$args = array(
|
2053 |
+
'user' => $user,
|
2054 |
+
'course_id' => $course_id
|
2055 |
+
);
|
2056 |
+
learn_press_get_template( 'profile/tabs/courses/progress.php', $args );
|
2057 |
|
2058 |
+
}
|
2059 |
}
|
2060 |
|
2061 |
|
2062 |
if ( ! function_exists( 'learn_press_output_user_profile_info' ) ) {
|
2063 |
+
/**
|
2064 |
+
* Displaying user info
|
2065 |
+
*
|
2066 |
+
* @param $user
|
2067 |
+
*/
|
2068 |
+
function learn_press_output_user_profile_info( $user, $current, $tabs ) {
|
2069 |
+
learn_press_get_template( 'profile/info.php', array(
|
2070 |
+
'user' => $user,
|
2071 |
+
'tabs' => $tabs,
|
2072 |
+
'current' => $current
|
2073 |
+
) );
|
2074 |
+
}
|
2075 |
}
|
2076 |
|
2077 |
/* QUIZ TEMPLATES */
|
2078 |
if ( ! function_exists( 'learn_press_single_quiz_title' ) ) {
|
2079 |
+
/**
|
2080 |
+
* Output the title of the quiz
|
2081 |
+
*/
|
2082 |
+
function learn_press_single_quiz_title() {
|
2083 |
+
learn_press_get_template( 'content-quiz/title.php' );
|
2084 |
+
}
|
2085 |
}
|
2086 |
|
2087 |
if ( ! function_exists( 'learn_press_course_loop_item_buttons' ) ) {
|
2088 |
+
function learn_press_course_loop_item_buttons() {
|
2089 |
+
learn_press_get_template( 'single-course/buttons.php' );
|
2090 |
+
}
|
2091 |
}
|
2092 |
|
2093 |
if ( ! function_exists( 'learn_press_course_loop_item_user_progress' ) ) {
|
2094 |
+
function learn_press_course_loop_item_user_progress() {
|
2095 |
+
$course = LP_Global::course();
|
2096 |
+
$user = LP_Global::user();
|
2097 |
|
2098 |
+
if ( ! $course || ! $user ) {
|
2099 |
+
return;
|
2100 |
+
}
|
2101 |
|
2102 |
+
if ( $user && $user->has_enrolled_course( $course->get_id() ) ) {
|
2103 |
+
$user->get_course_status( $course->get_id() );
|
2104 |
+
}
|
2105 |
+
}
|
2106 |
}
|
2107 |
|
2108 |
if ( ! function_exists( 'learn_press_course_item_class' ) ) {
|
2109 |
+
function learn_press_course_item_class( $item_id, $course_id = 0, $class = null ) {
|
2110 |
+
switch ( get_post_type( $item_id ) ) {
|
2111 |
+
case 'lp_lesson':
|
2112 |
+
learn_press_course_lesson_class( $item_id, $course_id, $class );
|
2113 |
+
break;
|
2114 |
+
case 'lp_quiz':
|
2115 |
+
learn_press_course_quiz_class( $item_id, $course_id, $class );
|
2116 |
+
break;
|
2117 |
+
}
|
2118 |
+
}
|
2119 |
}
|
2120 |
|
2121 |
if ( ! function_exists( 'learn_press_course_lesson_class' ) ) {
|
2122 |
+
/**
|
2123 |
+
* The class of lesson in course curriculum
|
2124 |
+
*
|
2125 |
+
* @param int $lesson_id
|
2126 |
+
* @param int $course_id
|
2127 |
+
* @param array|string $class
|
2128 |
+
* @param boolean $echo
|
2129 |
+
*
|
2130 |
+
* @return mixed
|
2131 |
+
*/
|
2132 |
+
function learn_press_course_lesson_class( $lesson_id = null, $course_id = 0, $class = null, $echo = true ) {
|
2133 |
+
$user = learn_press_get_current_user();
|
2134 |
+
if ( ! $course_id ) {
|
2135 |
+
$course_id = get_the_ID();
|
2136 |
+
}
|
2137 |
+
|
2138 |
+
$course = learn_press_get_course( $course_id );
|
2139 |
+
if ( ! $course ) {
|
2140 |
+
return '';
|
2141 |
+
}
|
2142 |
+
|
2143 |
+
if ( is_string( $class ) && $class ) {
|
2144 |
+
$class = preg_split( '!\s+!', $class );
|
2145 |
+
} else {
|
2146 |
+
$class = array();
|
2147 |
+
}
|
2148 |
+
|
2149 |
+
$classes = array(
|
2150 |
+
'course-lesson course-item course-item-' . $lesson_id
|
2151 |
+
);
|
2152 |
+
|
2153 |
+
$user = learn_press_get_current_user();
|
2154 |
+
|
2155 |
+
if ( $status = $user->get_item_status( $lesson_id ) ) {
|
2156 |
+
$classes[] = "item-has-status item-{$status}";
|
2157 |
+
}
|
2158 |
+
if ( $lesson_id && $course->is_current_item( $lesson_id ) ) {
|
2159 |
+
$classes[] = 'item-current';
|
2160 |
+
}
|
2161 |
+
if ( learn_press_is_course() ) {
|
2162 |
+
if ( $course->is_free() ) {
|
2163 |
+
$classes[] = 'free-item';
|
2164 |
+
}
|
2165 |
+
}
|
2166 |
+
$lesson = LP_Lesson::get_lesson( $lesson_id );
|
2167 |
+
if ( $lesson && $lesson->is_preview() ) {
|
2168 |
+
$classes[] = 'preview-item';
|
2169 |
+
}
|
2170 |
+
|
2171 |
+
if ( $user->can_view_item( $lesson_id, $course_id ) ) {
|
2172 |
+
$classes[] = 'viewable';
|
2173 |
+
}
|
2174 |
+
|
2175 |
+
$classes = array_unique( array_merge( $classes, $class ) );
|
2176 |
+
if ( $echo ) {
|
2177 |
+
echo 'class="' . implode( ' ', $classes ) . '"';
|
2178 |
+
}
|
2179 |
+
|
2180 |
+
return $classes;
|
2181 |
+
}
|
2182 |
}
|
2183 |
|
2184 |
if ( ! function_exists( 'learn_press_course_quiz_class' ) ) {
|
2185 |
+
/**
|
2186 |
+
* The class of lesson in course curriculum
|
2187 |
+
*
|
2188 |
+
* @param int $quiz_id
|
2189 |
+
* @param int $course_id
|
2190 |
+
* @param string|array $class
|
2191 |
+
* @param boolean $echo
|
2192 |
+
*
|
2193 |
+
* @return mixed
|
2194 |
+
*/
|
2195 |
+
function learn_press_course_quiz_class( $quiz_id = null, $course_id = 0, $class = null, $echo = true ) {
|
2196 |
+
$user = learn_press_get_current_user();
|
2197 |
+
if ( ! $course_id ) {
|
2198 |
+
$course_id = get_the_ID();
|
2199 |
+
}
|
2200 |
+
if ( is_string( $class ) && $class ) {
|
2201 |
+
$class = preg_split( '!\s+!', $class );
|
2202 |
+
} else {
|
2203 |
+
$class = array();
|
2204 |
+
}
|
2205 |
+
|
2206 |
+
$course = learn_press_get_course( $course_id );
|
2207 |
+
if ( ! $course ) {
|
2208 |
+
return '';
|
2209 |
+
}
|
2210 |
+
|
2211 |
+
$classes = array(
|
2212 |
+
'course-quiz course-item course-item-' . $quiz_id
|
2213 |
+
);
|
2214 |
+
|
2215 |
+
if ( $status = $user->get_item_status( $quiz_id ) ) {
|
2216 |
+
$classes[] = "item-has-status item-{$status}";
|
2217 |
+
}
|
2218 |
+
|
2219 |
+
if ( $quiz_id && $course->is_current_item( $quiz_id ) ) {
|
2220 |
+
$classes[] = 'item-current';
|
2221 |
+
}
|
2222 |
+
|
2223 |
+
if ( $user->can_view_item( $quiz_id, $course_id ) ) {
|
2224 |
+
$classes[] = 'viewable';
|
2225 |
+
}
|
2226 |
+
|
2227 |
+
if ( $course->is_final_quiz( $quiz_id ) ) {
|
2228 |
+
$classes[] = 'final-quiz';
|
2229 |
+
}
|
2230 |
+
|
2231 |
+
$classes = array_unique( array_merge( $classes, $class ) );
|
2232 |
+
|
2233 |
+
if ( $echo ) {
|
2234 |
+
echo 'class="' . join( ' ', $classes ) . '"';
|
2235 |
+
}
|
2236 |
+
|
2237 |
+
return $classes;
|
2238 |
+
}
|
2239 |
}
|
2240 |
|
2241 |
if ( ! function_exists( 'learn_press_message' ) ) {
|
2242 |
+
/**
|
2243 |
+
* Template to display the messages
|
2244 |
+
*
|
2245 |
+
* @param $content
|
2246 |
+
* @param string $type
|
2247 |
+
*/
|
2248 |
+
function learn_press_message( $content, $type = 'message' ) {
|
2249 |
+
learn_press_get_template( 'global/message.php', array( 'type' => $type, 'content' => $content ) );
|
2250 |
+
}
|
2251 |
}
|
2252 |
|
2253 |
/******************************/
|
2254 |
|
2255 |
|
2256 |
if ( ! function_exists( 'learn_press_course_class' ) ) {
|
2257 |
+
/**
|
2258 |
+
* Append new class to course post type
|
2259 |
+
*
|
2260 |
+
* @param $classes
|
2261 |
+
* @param $class
|
2262 |
+
* @param $post_id
|
2263 |
+
*
|
2264 |
+
* @return string
|
2265 |
+
*/
|
2266 |
+
function learn_press_course_class( $classes, $class, $post_id = '' ) {
|
2267 |
+
if ( is_learnpress() ) {
|
2268 |
+
$classes = (array) $classes;
|
2269 |
+
if ( false !== ( $key = array_search( 'hentry', $classes ) ) ) {
|
2270 |
+
//unset( $classes[$key] );
|
2271 |
+
}
|
2272 |
+
}
|
2273 |
+
if ( $post_id === 0 ) {
|
2274 |
+
$classes[] = 'page type-page';
|
2275 |
+
}
|
2276 |
+
if ( ! $post_id || 'lp_course' !== get_post_type( $post_id ) ) {
|
2277 |
+
return $classes;
|
2278 |
+
}
|
2279 |
+
$classes[] = 'course';
|
2280 |
+
|
2281 |
+
return apply_filters( 'learn_press_course_class', $classes );
|
2282 |
+
}
|
2283 |
}
|
2284 |
/**
|
2285 |
* When the_post is called, put course data into a global.
|
2290 |
*/
|
2291 |
function learn_press_setup_object_data( $post ) {
|
2292 |
|
2293 |
+
$object = null;
|
2294 |
|
2295 |
+
if ( is_int( $post ) ) {
|
2296 |
+
$post = get_post( $post );
|
2297 |
+
}
|
2298 |
|
2299 |
+
if ( ! $post ) {
|
2300 |
+
return $object;
|
2301 |
+
}
|
2302 |
|
2303 |
+
if ( $post->post_type == LP_COURSE_CPT ) {
|
2304 |
+
if ( isset( $GLOBALS['course'] ) ) {
|
2305 |
+
unset( $GLOBALS['course'] );
|
2306 |
+
}
|
2307 |
|
2308 |
+
$object = learn_press_get_course( $post );
|
2309 |
+
// $object->prepare();
|
2310 |
+
LP()->global['course'] = $GLOBALS['course'] = $GLOBALS['lp_course'] = $object;
|
2311 |
+
}
|
2312 |
|
2313 |
|
2314 |
+
return $object;
|
2315 |
}
|
2316 |
|
2317 |
add_action( 'the_post', 'learn_press_setup_object_data' );
|
2318 |
|
2319 |
function learn_press_setup_user() {
|
2320 |
+
$GLOBALS['lp_user'] = learn_press_get_current_user();
|
2321 |
}
|
2322 |
|
2323 |
if ( ! is_admin() ) {
|
2324 |
+
add_action( 'init', 'learn_press_setup_user', 1000 );
|
2325 |
}
|
2326 |
|
2327 |
/**
|
2333 |
|
2334 |
function learn_press_display_message( $message, $type = 'success' ) {
|
2335 |
|
2336 |
+
// get all messages added into queue
|
2337 |
+
$messages = learn_press_session_get( learn_press_session_message_id() );
|
2338 |
+
learn_press_session_set( learn_press_session_message_id(), null );
|
2339 |
|
2340 |
+
// add new notice and display
|
2341 |
+
learn_press_add_message( $message, $type );
|
2342 |
+
echo learn_press_get_messages( true );
|
2343 |
|
2344 |
+
// store back messages
|
2345 |
+
learn_press_session_set( learn_press_session_message_id(), $messages );
|
2346 |
}
|
2347 |
|
2348 |
/**
|
2353 |
* @return string
|
2354 |
*/
|
2355 |
function learn_press_get_messages( $clear = false ) {
|
2356 |
+
ob_start();
|
2357 |
+
learn_press_print_messages( $clear );
|
2358 |
|
2359 |
+
return ob_get_clean();
|
2360 |
}
|
2361 |
|
2362 |
/**
|
2369 |
*/
|
2370 |
function learn_press_add_message( $message, $type = 'success', $options = array(), $current_user = true ) {
|
2371 |
|
2372 |
+
if ( is_string( $options ) ) {
|
2373 |
+
$options = array( 'id' => $options );
|
2374 |
+
}
|
2375 |
|
2376 |
+
$options = wp_parse_args(
|
2377 |
+
$options,
|
2378 |
+
array(
|
2379 |
+
'id' => ''
|
2380 |
+
)
|
2381 |
+
);
|
2382 |
|
2383 |
+
if ( $current_user ) {
|
2384 |
+
if ( true === $current_user ) {
|
2385 |
+
$current_user = get_current_user_id();
|
2386 |
+
}
|
2387 |
+
}
|
2388 |
|
2389 |
+
$key = "messages{$current_user}";
|
2390 |
|
2391 |
+
$messages = learn_press_session_get( $key );
|
2392 |
|
2393 |
+
if ( empty( $messages[ $type ] ) ) {
|
2394 |
+
$messages[ $type ] = array();
|
2395 |
+
}
|
2396 |
|
2397 |
+
$messages[ $type ][ $options['id'] ] = array( 'content' => $message, 'options' => $options );
|
2398 |
|
2399 |
+
learn_press_session_set( $key, $messages );
|
2400 |
}
|
2401 |
|
2402 |
function learn_press_get_message( $message, $type = 'success' ) {
|
2403 |
+
ob_start();
|
2404 |
+
learn_press_display_message( $message, $type );
|
2405 |
+
$message = ob_get_clean();
|
2406 |
|
2407 |
+
return $message;
|
2408 |
}
|
2409 |
|
2410 |
/**
|
2417 |
*
|
2418 |
*/
|
2419 |
function learn_press_remove_message( $id = '', $type = '' ) {
|
2420 |
+
if ( ! $groups = learn_press_session_get( learn_press_session_message_id() ) ) {
|
2421 |
+
return;
|
2422 |
+
}
|
2423 |
+
|
2424 |
+
settype( $type, 'array' );
|
2425 |
+
|
2426 |
+
if ( $id ) {
|
2427 |
+
foreach ( $groups as $message_type => $messages ) {
|
2428 |
+
if ( ! sizeof( $type ) ) {
|
2429 |
+
if ( isset( $groups[ $message_type ][ $id ] ) ) {
|
2430 |
+
unset( $groups[ $message_type ][ $id ] );
|
2431 |
+
}
|
2432 |
+
} elseif ( in_array( $message_type, $type ) ) {
|
2433 |
+
if ( isset( $groups[ $message_type ][ $id ] ) ) {
|
2434 |
+
unset( $groups[ $message_type ][ $id ] );
|
2435 |
+
}
|
2436 |
+
}
|
2437 |
+
}
|
2438 |
+
} elseif ( sizeof( $type ) ) {
|
2439 |
+
foreach ( $type as $t ) {
|
2440 |
+
if ( isset( $groups[ $t ] ) ) {
|
2441 |
+
unset( $groups[ $t ] );
|
2442 |
+
}
|
2443 |
+
}
|
2444 |
+
} else {
|
2445 |
+
$groups = array();
|
2446 |
+
}
|
2447 |
+
|
2448 |
+
learn_press_session_set( learn_press_session_message_id(), $groups );
|
2449 |
}
|
2450 |
|
2451 |
/**
|
2454 |
* @param bool
|
2455 |
*/
|
2456 |
function learn_press_print_messages( $clear = true ) {
|
2457 |
+
$messages = learn_press_session_get( learn_press_session_message_id() );
|
2458 |
+
learn_press_get_template( 'global/message.php', array( 'messages' => $messages ) );
|
2459 |
+
if ( $clear ) {
|
2460 |
+
learn_press_session_set( learn_press_session_message_id(), array() );
|
2461 |
+
}
|
2462 |
}
|
2463 |
|
2464 |
function learn_press_message_count( $type = '' ) {
|
2465 |
+
$count = 0;
|
2466 |
+
$messages = learn_press_session_get( learn_press_session_message_id(), array() );
|
2467 |
+
|
2468 |
+
if ( isset( $messages[ $type ] ) ) {
|
2469 |
+
$count = absint( sizeof( $messages[ $type ] ) );
|
2470 |
+
} elseif ( empty( $type ) ) {
|
2471 |
+
foreach ( $messages as $message ) {
|
2472 |
+
$count += absint( sizeof( $message ) );
|
2473 |
+
}
|
2474 |
+
}
|
2475 |
|
2476 |
+
return $count;
|
2477 |
}
|
2478 |
|
2479 |
function learn_press_session_message_id() {
|
2480 |
+
return "messages" . get_current_user_id();
|
2481 |
}
|
2482 |
|
2483 |
function learn_press_clear_messages() {
|
2484 |
+
_deprecated_function( __FUNCTION__, '3.0.0', 'learn_press_remove_message' );
|
2485 |
+
learn_press_remove_message();
|
2486 |
}
|
2487 |
|
2488 |
/**
|
2489 |
* Displays messages before main content
|
2490 |
*/
|
2491 |
function _learn_press_print_messages() {
|
2492 |
+
$item = LP_Global::course_item();
|
2493 |
+
if ( ( 'learn_press_before_main_content' == current_action() ) && $item ) {
|
2494 |
+
return;
|
2495 |
+
}
|
2496 |
+
learn_press_print_messages( true );
|
2497 |
}
|
2498 |
|
2499 |
add_action( 'learn_press_before_main_content', '_learn_press_print_messages', 50 );
|
2500 |
add_action( 'learn-press/before-course-item-content', '_learn_press_print_messages', 50 );
|
2501 |
|
2502 |
if ( ! function_exists( 'learn_press_page_controller' ) ) {
|
2503 |
+
/**
|
2504 |
+
* Check permission to view page
|
2505 |
+
*
|
2506 |
+
* @param file $template
|
2507 |
+
*
|
2508 |
+
* @return file
|
2509 |
+
*/
|
2510 |
+
function learn_press_page_controller( $template/*, $slug, $name*/ ) {
|
2511 |
+
die( __FUNCTION__ );
|
2512 |
+
global $wp;
|
2513 |
+
if ( isset( $wp->query_vars['lp-order-received'] ) ) {
|
2514 |
+
global $post;
|
2515 |
+
$post->post_title = __( 'Order received', 'learnpress' );
|
2516 |
+
}
|
2517 |
+
if ( is_single() ) {
|
2518 |
+
$user = LP()->user;
|
2519 |
+
$redirect = false;
|
2520 |
+
$item_id = 0;
|
2521 |
+
|
2522 |
+
switch ( get_post_type() ) {
|
2523 |
+
case LP_QUIZ_CPT:
|
2524 |
+
$quiz = LP()->quiz;
|
2525 |
+
$quiz_status = LP()->user->get_quiz_status( get_the_ID() );
|
2526 |
+
$redirect = false;
|
2527 |
+
$error_message = false;
|
2528 |
+
if ( ! $user->can_view_quiz( $quiz->id ) ) {
|
2529 |
+
if ( $course = $quiz->get_course() ) {
|
2530 |
+
$redirect = $course->permalink;
|
2531 |
+
$error_message = sprintf( __( 'Access denied "%s"', 'learnpress' ) );
|
2532 |
+
}
|
2533 |
+
} elseif ( $quiz_status == 'started' && ( empty( $_REQUEST['question'] ) && $current_question = $user->get_current_quiz_question( $quiz->id ) ) ) {
|
2534 |
+
$redirect = $quiz->get_question_link( $current_question );
|
2535 |
+
} elseif ( $quiz_status == 'completed'/* && !empty( $_REQUEST['question'] )*/ ) {
|
2536 |
+
$redirect = get_the_permalink( $quiz->id );
|
2537 |
+
} elseif ( learn_press_get_request( 'question' ) && $quiz_status == '' ) {
|
2538 |
+
$redirect = get_the_permalink( $quiz->id );
|
2539 |
+
}
|
2540 |
+
$item_id = $quiz->id;
|
2541 |
+
$redirect = apply_filters( 'learn_press_quiz_access_denied_redirect_permalink', $redirect,
|
2542 |
+
$quiz_status, $quiz->id, $user->get_id() );
|
2543 |
+
break;
|
2544 |
+
case LP_COURSE_CPT:
|
2545 |
+
if ( ( $course = learn_press_get_course() ) && $item_id = $course->is_viewing_item() ) {
|
2546 |
+
if ( ! LP()->user->can_view_item( $item_id ) ) {
|
2547 |
+
$redirect = apply_filters( 'learn_press_lesson_access_denied_redirect_permalink',
|
2548 |
+
$course->permalink, $item_id, $user->get_id() );
|
2549 |
+
}
|
2550 |
+
}
|
2551 |
+
}
|
2552 |
+
|
2553 |
+
// prevent loop redirect
|
2554 |
+
/*if ( $redirect && !learn_press_is_current_url( $redirect ) ) {
|
2555 |
+
if ( $item_id && $error_message ) {
|
2556 |
+
$error_message = apply_filters( 'learn_press_course_item_access_denied_error_message', get_the_title( $item_id ) );
|
2557 |
+
if ( $error_message !== false ) {
|
2558 |
+
learn_press_add_notice( $error_message, 'error' );
|
2559 |
+
}
|
2560 |
+
}
|
2561 |
+
wp_redirect( $redirect );
|
2562 |
+
exit();
|
2563 |
+
}*/
|
2564 |
+
}
|
2565 |
+
|
2566 |
+
return $template;
|
2567 |
+
}
|
2568 |
}
|
2569 |
//add_filter( 'template_include', 'learn_press_page_controller' );
|
2570 |
|
2571 |
if ( ! function_exists( 'learn_press_page_title' ) ) {
|
2572 |
|
2573 |
+
/**
|
2574 |
+
* learn_press_page_title function.
|
2575 |
+
*
|
2576 |
+
* @param boolean $echo
|
2577 |
+
*
|
2578 |
+
* @return string
|
2579 |
+
*/
|
2580 |
+
function learn_press_page_title( $echo = true ) {
|
2581 |
|
2582 |
+
if ( is_search() ) {
|
2583 |
+
$page_title = sprintf( __( 'Search Results for: “%s”', 'learnpress' ), get_search_query() );
|
2584 |
|
2585 |
+
if ( get_query_var( 'paged' ) ) {
|
2586 |
+
$page_title .= sprintf( __( ' – Page %s', 'learnpress' ), get_query_var( 'paged' ) );
|
2587 |
+
}
|
2588 |
|
2589 |
+
} elseif ( is_tax() ) {
|
2590 |
|
2591 |
+
$page_title = single_term_title( "", false );
|
2592 |
|
2593 |
+
} else {
|
2594 |
|
2595 |
+
$courses_page_id = learn_press_get_page_id( 'courses' );
|
2596 |
+
$page_title = get_the_title( $courses_page_id );
|
2597 |
|
2598 |
+
}
|
2599 |
|
2600 |
+
$page_title = apply_filters( 'learn_press_page_title', $page_title );
|
2601 |
|
2602 |
+
if ( $echo ) {
|
2603 |
+
echo $page_title;
|
2604 |
+
} else {
|
2605 |
+
return $page_title;
|
2606 |
+
}
|
2607 |
+
}
|
2608 |
}
|
2609 |
|
2610 |
function learn_press_template_redirect() {
|
2611 |
+
global $wp_query, $wp;
|
2612 |
|
2613 |
+
// When default permalinks are enabled, redirect shop page to post type archive url
|
2614 |
+
if ( ! empty( $_GET['page_id'] ) && get_option( 'permalink_structure' ) == "" && $_GET['page_id'] == learn_press_get_page_id( 'courses' ) ) {
|
2615 |
+
wp_safe_redirect( get_post_type_archive_link( 'lp_course' ) );
|
2616 |
+
exit;
|
2617 |
+
}
|
2618 |
}
|
2619 |
|
2620 |
add_action( 'template_redirect', 'learn_press_template_redirect' );
|
2629 |
* @return string
|
2630 |
*/
|
2631 |
function learn_press_get_template_part( $slug, $name = '' ) {
|
2632 |
+
$template = '';
|
2633 |
+
|
2634 |
+
// Look in yourtheme/slug-name.php and yourtheme/learnpress/slug-name.php
|
2635 |
+
if ( $name ) {
|
2636 |
+
$template = locate_template( array(
|
2637 |
+
"{$slug}-{$name}.php",
|
2638 |
+
learn_press_template_path() . "/{$slug}-{$name}.php"
|
2639 |
+
) );
|
2640 |
+
}
|
2641 |
|
2642 |
+
// Get default slug-name.php
|
2643 |
+
if ( ! $template && $name && file_exists( LP_PLUGIN_PATH . "/templates/{$slug}-{$name}.php" ) ) {
|
2644 |
+
$template = LP_PLUGIN_PATH . "/templates/{$slug}-{$name}.php";
|
2645 |
+
}
|
2646 |
|
2647 |
+
// If template file doesn't exist, look in yourtheme/slug.php and yourtheme/learnpress/slug.php
|
2648 |
+
if ( ! $template ) {
|
2649 |
+
$template = locate_template( array( "{$slug}.php", learn_press_template_path() . "/{$slug}.php" ) );
|
2650 |
+
}
|
2651 |
|
2652 |
+
// Allow 3rd party plugin filter template file from their plugin
|
2653 |
+
if ( $template ) {
|
2654 |
+
$template = apply_filters( 'learn_press_get_template_part', $template, $slug, $name );
|
2655 |
+
}
|
2656 |
+
if ( $template && file_exists( $template ) ) {
|
2657 |
+
load_template( $template, false );
|
2658 |
+
}
|
2659 |
|
2660 |
+
return $template;
|
2661 |
}
|
2662 |
|
2663 |
/**
|
2671 |
* @return void
|
2672 |
*/
|
2673 |
function learn_press_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
|
2674 |
+
if ( $args && is_array( $args ) ) {
|
2675 |
+
extract( $args );
|
2676 |
+
}
|
2677 |
|
2678 |
+
if ( false === strpos( $template_name, '.php' ) ) {
|
2679 |
+
$template_name .= '.php';
|
2680 |
+
}
|
2681 |
|
2682 |
+
$located = learn_press_locate_template( $template_name, $template_path, $default_path );
|
2683 |
|
2684 |
+
if ( ! file_exists( $located ) ) {
|
2685 |
+
_doing_it_wrong( __FUNCTION__, sprintf( '<code>%s</code> does not exist.', $located ), '2.1' );
|
2686 |
|
2687 |
+
return;
|
2688 |
+
}
|
2689 |
+
// Allow 3rd party plugin filter template file from their plugin
|
2690 |
+
$located = apply_filters( 'learn_press_get_template', $located, $template_name, $args, $template_path,
|
2691 |
+
$default_path );
|
2692 |
+
if ( $located != '' ) {
|
2693 |
+
do_action( 'learn_press_before_template_part', $template_name, $template_path, $located, $args );
|
2694 |
|
2695 |
+
include( $located );
|
2696 |
|
2697 |
+
do_action( 'learn_press_after_template_part', $template_name, $template_path, $located, $args );
|
2698 |
+
}
|
2699 |
}
|
2700 |
|
2701 |
/**
|
2711 |
*
|
2712 |
*/
|
2713 |
function learn_press_get_template_content( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
|
2714 |
+
ob_start();
|
2715 |
+
learn_press_get_template( $template_name, $args, $template_path, $default_path );
|
2716 |
|
2717 |
+
return ob_get_clean();
|
2718 |
}
|
2719 |
|
2720 |
/**
|
2735 |
* @return string
|
2736 |
*/
|
2737 |
function learn_press_locate_template( $template_name, $template_path = '', $default_path = '' ) {
|
2738 |
+
if ( ! $template_path ) {
|
2739 |
+
$template_path = learn_press_template_path();
|
2740 |
+
}
|
|
|
|
|
|
|
|
|
2741 |
|
2742 |
+
if ( ! $default_path ) {
|
2743 |
+
$default_path = LP_PLUGIN_PATH . 'templates/';
|
2744 |
+
}
|
|
|
|
|
|
|
|
|
2745 |
|
2746 |
+
// Look within passed path within the theme - this is priority
|
2747 |
+
$template = locate_template(
|
2748 |
+
array(
|
2749 |
+
trailingslashit( $template_path ) . $template_name,
|
2750 |
+
$template_name
|
2751 |
+
)
|
2752 |
+
);
|
2753 |
+
|
2754 |
+
// Get default template
|
2755 |
+
if ( ! $template ) {
|
2756 |
+
$template = trailingslashit( $default_path ) . $template_name;
|
2757 |
+
}
|
2758 |
|
2759 |
+
// Return what we found
|
2760 |
+
return apply_filters( 'learn_press_locate_template', $template, $template_name, $template_path );
|
2761 |
}
|
2762 |
|
2763 |
/**
|
2768 |
* @return string
|
2769 |
*/
|
2770 |
function learn_press_template_path( $slash = false ) {
|
2771 |
+
return apply_filters( 'learn_press_template_path', 'learnpress', $slash ) . ( $slash ? '/' : '' );
|
2772 |
}
|
2773 |
|
2774 |
|
2775 |
if ( ! function_exists( 'learn_press_is_404' ) ) {
|
2776 |
+
/**
|
2777 |
+
* Set header is 404
|
2778 |
+
*/
|
2779 |
+
function learn_press_is_404() {
|
2780 |
+
global $wp_query;
|
2781 |
+
if ( ! empty( $_REQUEST['debug-404'] ) ) {
|
2782 |
+
learn_press_debug( debug_backtrace( DEBUG_BACKTRACE_PROVIDE_OBJECT, $_REQUEST['debug-404'] ) );
|
2783 |
+
}
|
2784 |
+
$wp_query->set_404();
|
2785 |
+
status_header( 404 );
|
2786 |
+
}
|
2787 |
}
|
2788 |
|
2789 |
if ( ! function_exists( 'learn_press_404_page' ) ) {
|
2790 |
+
/**
|
2791 |
+
* Display 404 page
|
2792 |
+
*/
|
2793 |
+
function learn_press_404_page() {
|
2794 |
+
learn_press_is_404();
|
2795 |
+
}
|
2796 |
}
|
2797 |
|
2798 |
if ( ! function_exists( 'learn_press_generate_template_information' ) ) {
|
2799 |
+
function learn_press_generate_template_information( $template_name, $template_path, $located, $args ) {
|
2800 |
+
$debug = learn_press_get_request( 'show-template-location' );
|
2801 |
+
if ( $debug == 'on' ) {
|
2802 |
+
echo "<!-- Template Location:" . str_replace( array( LP_PLUGIN_PATH, ABSPATH ), '', $located ) . " -->";
|
2803 |
+
}
|
2804 |
+
}
|
2805 |
}
|
2806 |
|
2807 |
if ( ! function_exists( 'learn_press_course_remaining_time' ) ) {
|
2808 |
+
/**
|
2809 |
+
* Show the time remain of a course
|
2810 |
+
*/
|
2811 |
+
function learn_press_course_remaining_time() {
|
2812 |
+
$user = learn_press_get_current_user();
|
2813 |
+
if ( ! $user->has_finished_course( get_the_ID() ) && $text = learn_press_get_course( get_the_ID() )->get_user_duration_html( $user->get_id() ) ) {
|
2814 |
+
learn_press_display_message( $text );
|
2815 |
+
}
|
2816 |
+
}
|
2817 |
}
|
2818 |
|
2819 |
//add_filter( 'template_include', 'learn_press_permission_view_quiz', 100 );
|
2820 |
function learn_press_permission_view_quiz( $template ) {
|
2821 |
+
$quiz = LP()->global['course-item'];
|
2822 |
+
// if is not in single quiz
|
2823 |
+
if ( ! learn_press_is_quiz() ) {
|
2824 |
+
return $template;
|
2825 |
+
}
|
2826 |
+
$user = learn_press_get_current_user();
|
2827 |
+
// If user haven't got permission
|
2828 |
+
if ( ! current_user_can( 'edit-lp_quiz' ) && ! $user->can_view_quiz( $quiz->id ) ) {
|
2829 |
+
switch ( LP()->settings->get( 'quiz_restrict_access' ) ) {
|
2830 |
+
case 'custom':
|
2831 |
+
$template = learn_press_locate_template( 'global/restrict-access.php' );
|
2832 |
+
break;
|
2833 |
+
default:
|
2834 |
+
learn_press_is_404();
|
2835 |
+
}
|
2836 |
+
}
|
2837 |
+
|
2838 |
+
return $template;
|
2839 |
}
|
2840 |
|
2841 |
|
2842 |
if ( ! function_exists( 'learn_press_item_meta_type' ) ) {
|
2843 |
+
function learn_press_item_meta_type( $course, $item ) { ?>
|
2844 |
|
2845 |
+
<?php if ( $item->post_type == 'lp_quiz' ) { ?>
|
2846 |
|
2847 |
<span class="lp-label lp-label-quiz"><?php _e( 'Quiz', 'learnpress' ); ?></span>
|
2848 |
|
2849 |
+
<?php if ( $course->final_quiz == $item->ID ) { ?>
|
2850 |
|
2851 |
<span class="lp-label lp-label-final"><?php _e( 'Final', 'learnpress' ); ?></span>
|
2852 |
|
2853 |
+
<?php } ?>
|
2854 |
|
2855 |
+
<?php } elseif ( $item->post_type == 'lp_lesson' ) { ?>
|
2856 |
|
2857 |
<span class="lp-label lp-label-lesson"><?php _e( 'Lesson', 'learnpress' ); ?></span>
|
2858 |
+
<?php if ( get_post_meta( $item->ID, '_lp_preview', true ) == 'yes' ) { ?>
|
2859 |
|
2860 |
<span class="lp-label lp-label-preview"><?php _e( 'Preview', 'learnpress' ); ?></span>
|
2861 |
|
2862 |
+
<?php } ?>
|
2863 |
|
2864 |
+
<?php } else { ?>
|
2865 |
|
2866 |
+
<?php do_action( 'learn_press_item_meta_type', $course, $item ); ?>
|
2867 |
|
2868 |
+
<?php }
|
2869 |
+
}
|
2870 |
}
|
2871 |
|
2872 |
function learn_press_single_course_js() {
|
2873 |
+
_deprecated_function( __FUNCTION__, '3.0.0' );
|
2874 |
+
if ( ! learn_press_is_course() ) {
|
2875 |
+
return;
|
2876 |
+
}
|
2877 |
+
$user = learn_press_get_current_user();
|
2878 |
+
$course = learn_press_get_course();
|
2879 |
+
$js = array( 'url' => $course->get_permalink(), 'items' => array() );
|
2880 |
+
if ( $items = $course->get_curriculum_items() ) {
|
2881 |
+
foreach ( $items as $item ) {
|
2882 |
+
$item = array(
|
2883 |
+
'id' => absint( $item->ID ),
|
2884 |
+
'type' => $item->post_type,
|
2885 |
+
'title' => get_the_title( $item->ID ),
|
2886 |
+
'url' => $course->get_item_link( $item->ID ),
|
2887 |
+
'current' => $course->is_viewing_item( $item->ID ),
|
2888 |
+
'completed' => false,
|
2889 |
+
'viewable' => $item->post_type == 'lp_quiz' ? ( $user->can_view_quiz( $item->ID,
|
2890 |
+
$course->get_id() ) !== false ) : ( $user->can_view_lesson( $item->ID,
|
2891 |
+
$course->get_id() ) !== false )
|
2892 |
+
);
|
2893 |
+
$js['items'][] = $item;
|
2894 |
+
}
|
2895 |
+
}
|
2896 |
+
echo '<script type="text/javascript">';
|
2897 |
+
echo 'var SingleCourse_Params = ' . json_encode( $js );
|
2898 |
+
echo '</script>';
|
2899 |
}
|
2900 |
|
2901 |
///add_action( 'wp_head', 'learn_press_single_course_js' );
|
2906 |
|
2907 |
|
2908 |
if ( ! function_exists( 'learn_press_course_overview_tab' ) ) {
|
2909 |
+
/**
|
2910 |
+
* Output course overview
|
2911 |
+
*
|
2912 |
+
* @since 1.1
|
2913 |
+
*/
|
2914 |
+
function learn_press_course_overview_tab() {
|
2915 |
+
learn_press_get_template( 'single-course/tabs/overview.php' );
|
2916 |
+
}
|
2917 |
}
|
2918 |
|
2919 |
if ( ! function_exists( 'learn_press_course_curriculum_tab' ) ) {
|
2920 |
+
/**
|
2921 |
+
* Output course curriculum
|
2922 |
+
*
|
2923 |
+
* @since 1.1
|
2924 |
+
*/
|
2925 |
+
function learn_press_course_curriculum_tab() {
|
2926 |
+
learn_press_get_template( 'single-course/tabs/curriculum.php' );
|
2927 |
+
}
|
2928 |
}
|
2929 |
|
2930 |
if ( ! function_exists( 'learn_press_course_instructor_tab' ) ) {
|
2931 |
+
/**
|
2932 |
+
* Output course curriculum
|
2933 |
+
*
|
2934 |
+
* @since 1.1
|
2935 |
+
*/
|
2936 |
+
function learn_press_course_instructor_tab() {
|
2937 |
+
learn_press_get_template( 'single-course/tabs/instructor.php' );
|
2938 |
+
}
|
2939 |
}
|
2940 |
|
2941 |
if ( ! function_exists( 'learn_press_sort_course_tabs' ) ) {
|
2942 |
|
2943 |
+
function learn_press_sort_course_tabs( $tabs = array() ) {
|
2944 |
+
uasort( $tabs, 'learn_press_sort_list_by_priority_callback' );
|
2945 |
|
2946 |
+
return $tabs;
|
2947 |
+
}
|
2948 |
}
|
2949 |
|
2950 |
if ( ! function_exists( 'learn_press_get_profile_display_name' ) ) {
|
2951 |
+
/**
|
2952 |
+
* Get Display name publicly as in Profile page
|
2953 |
+
*
|
2954 |
+
* @param $user
|
2955 |
+
*
|
2956 |
+
* @return string
|
2957 |
+
*/
|
2958 |
+
function learn_press_get_profile_display_name( $user ) {
|
2959 |
+
if ( empty( $user ) ) {
|
2960 |
+
return '';
|
2961 |
+
}
|
2962 |
+
$id = '';
|
2963 |
+
if ( $user instanceof LP_Abstract_User ) {
|
2964 |
+
$id = $user->get_id();
|
2965 |
+
} elseif ( $user instanceof WP_User ) {
|
2966 |
+
$id = $user->ID;
|
2967 |
+
} elseif ( is_numeric( $user ) ) {
|
2968 |
+
$id = $user;
|
2969 |
+
}
|
2970 |
+
if ( ! isset( $id ) ) {
|
2971 |
+
return '';
|
2972 |
+
}
|
2973 |
+
$info = get_userdata( $id );
|
2974 |
+
|
2975 |
+
return $info ? $info->display_name : '';
|
2976 |
+
}
|
2977 |
}
|
2978 |
|
2979 |
if ( ! function_exists( 'learn_press_profile_dashboard_logged_in' ) ) {
|
2980 |
+
function learn_press_profile_dashboard_logged_in() {
|
2981 |
+
learn_press_get_template( 'profile/dashboard-logged-in.php' );
|
2982 |
+
}
|
2983 |
}
|
2984 |
|
2985 |
if ( ! function_exists( 'learn_press_profile_dashboard_user_bio' ) ) {
|
2986 |
+
function learn_press_profile_dashboard_user_bio() {
|
2987 |
+
$profile = LP_Profile::instance();
|
2988 |
|
2989 |
+
if ( ! $user = $profile->get_user() ) {
|
2990 |
+
return;
|
2991 |
+
}
|
2992 |
|
2993 |
+
learn_press_get_template( 'profile/user-bio.php' );
|
2994 |
+
}
|
2995 |
}
|
2996 |
|
2997 |
if ( ! function_exists( 'learn_press_profile_dashboard_not_logged_in' ) ) {
|
2998 |
+
function learn_press_profile_dashboard_not_logged_in() {
|
2999 |
+
$profile = LP_Global::profile();
|
3000 |
|
3001 |
+
if ( ! $profile->get_user()->is_guest() ) {
|
3002 |
+
return;
|
3003 |
+
}
|
3004 |
|
3005 |
+
if ( 'yes' === LP()->settings()->get( 'enable_register_profile' ) || 'yes' === LP()->settings()->get( 'enable_login_profile' ) ) {
|
3006 |
+
return;
|
3007 |
+
}
|
3008 |
|
3009 |
+
learn_press_get_template( 'profile/not-logged-in.php' );
|
3010 |
+
}
|
3011 |
}
|
3012 |
|
3013 |
if ( ! function_exists( 'learn_press_profile_login_form' ) ) {
|
3014 |
+
function learn_press_profile_login_form() {
|
3015 |
+
$profile = LP_Global::profile();
|
3016 |
|
3017 |
+
print_r( metadata_exists( 'user', $profile->get_user()->get_id(), '_lp_temp_user' ) );
|
3018 |
+
if ( ! $profile->get_user()->is_guest() ) {
|
3019 |
+
return;
|
3020 |
+
}
|
3021 |
|
3022 |
+
if ( ! $fields = $profile->get_login_fields() ) {
|
3023 |
+
return;
|
3024 |
+
}
|
3025 |
|
3026 |
+
if ( 'yes' !== LP()->settings()->get( 'enable_login_profile' ) ) {
|
3027 |
+
return;
|
3028 |
+
}
|
3029 |
|
3030 |
+
learn_press_get_template( 'global/form-login.php', array( 'fields' => $fields ) );
|
3031 |
+
}
|
3032 |
}
|
3033 |
|
3034 |
if ( ! function_exists( 'learn_press_profile_register_form' ) ) {
|
3035 |
+
function learn_press_profile_register_form() {
|
3036 |
+
if ( 'yes' !== LP()->settings()->get( 'enable_register_profile' ) ) {
|
3037 |
+
return;
|
3038 |
+
}
|
3039 |
|
3040 |
+
$profile = LP_Global::profile();
|
3041 |
|
3042 |
+
if ( ! $profile->get_user()->is_guest() ) {
|
3043 |
+
return;
|
3044 |
+
}
|
3045 |
|
3046 |
+
if ( ! $fields = $profile->get_register_fields() ) {
|
3047 |
+
return;
|
3048 |
+
}
|
3049 |
|
3050 |
+
learn_press_get_template( 'global/form-register.php', array( 'fields' => $fields ) );
|
3051 |
+
}
|
3052 |
}
|
3053 |
|
3054 |
if ( ! function_exists( 'learn_press_content_item_lesson_title' ) ) {
|
3055 |
+
function learn_press_content_item_lesson_title() {
|
3056 |
+
$item = LP_Global::course_item();
|
3057 |
+
$lesson_title = $item->get_title( 'display' );
|
3058 |
|
3059 |
+
if ( ( 'standard' !== ( $format = $item->get_format() ) ) && file_exists( $format_template = learn_press_locate_template( "content-lesson/{$format}/title.php" ) ) ) {
|
3060 |
+
include $format_template;
|
3061 |
|
3062 |
+
return;
|
3063 |
+
}
|
3064 |
|
3065 |
+
if ( ! $lesson_title ) {
|
3066 |
+
return;
|
3067 |
+
}
|
3068 |
|
3069 |
+
learn_press_get_template( 'content-lesson/title.php', array( 'title' => $lesson_title ) );
|
3070 |
+
}
|
3071 |
}
|
3072 |
|
3073 |
if ( ! function_exists( 'learn_press_content_item_lesson_content' ) ) {
|
3074 |
+
function learn_press_content_item_lesson_content() {
|
3075 |
+
$item = LP_Global::course_item();
|
3076 |
+
$content = $item->get_content();
|
3077 |
|
3078 |
+
if ( ( 'standard' !== ( $format = $item->get_format() ) ) && file_exists( $format_template = learn_press_locate_template( "content-lesson/{$format}/content.php" ) ) ) {
|
3079 |
+
include $format_template;
|
3080 |
|
3081 |
+
return;
|
3082 |
+
}
|
3083 |
|
3084 |
+
do_action( 'learn-press/lesson-start', $item );
|
3085 |
+
learn_press_get_template( 'content-lesson/content.php', array( 'item' => $item, 'content' => $content ) );
|
3086 |
+
}
|
3087 |
}
|
3088 |
|
3089 |
if ( ! function_exists( 'learn_press_content_item_lesson_content_blocked' ) ) {
|
3090 |
+
function learn_press_content_item_lesson_content_blocked() {
|
3091 |
+
$item = LP_Global::course_item();
|
3092 |
|
3093 |
+
if ( ! $item->is_blocked() ) {
|
3094 |
+
return;
|
3095 |
+
}
|
3096 |
|
3097 |
+
learn_press_get_template( 'global/block-content.php' );
|
3098 |
+
}
|
3099 |
}
|
3100 |
|
3101 |
if ( ! function_exists( 'learn_press_content_item_lesson_complete_button' ) ) {
|
3102 |
+
function learn_press_content_item_lesson_complete_button() {
|
3103 |
+
$user = LP_Global::user();
|
3104 |
+
$course = LP_Global::course();
|
3105 |
+
$item = LP_Global::course_item();
|
3106 |
+
$completed = $user->has_completed_item( $item->get_id(), $course->get_id() );
|
3107 |
+
$security = $item->create_nonce( 'complete' );
|
3108 |
+
$has_enrolled = $user->has_enrolled_course( $course->get_id() );
|
3109 |
+
|
3110 |
+
if ( ! $course->is_required_enroll() ) {
|
3111 |
+
return;
|
3112 |
+
}
|
3113 |
|
3114 |
+
if ( ! $has_enrolled ) {
|
3115 |
+
return;
|
3116 |
+
}
|
3117 |
|
3118 |
+
if ( ( $course_item = $user->get_course_data( $course->get_id() ) ) && $course_item->is_finished() ) {
|
3119 |
+
return;
|
3120 |
+
}
|
3121 |
|
3122 |
+
$args = array(
|
3123 |
+
'course' => $course,
|
3124 |
+
'item' => $item,
|
3125 |
+
'completed' => $completed,
|
3126 |
+
'security' => $security,
|
3127 |
+
);
|
3128 |
|
3129 |
+
learn_press_get_template( 'content-lesson/button-complete.php', $args );
|
3130 |
+
}
|
3131 |
}
|
3132 |
|
3133 |
if ( ! function_exists( 'learn_press_content_item_header' ) ) {
|
3134 |
+
function learn_press_content_item_header() {
|
3135 |
+
learn_press_get_template( 'single-course/content-item/header.php' );
|
3136 |
+
}
|
3137 |
}
|
3138 |
|
3139 |
if ( ! function_exists( 'learn_press_content_item_footer' ) ) {
|
3140 |
+
function learn_press_content_item_footer() {
|
3141 |
+
learn_press_get_template( 'single-course/content-item/footer.php' );
|
3142 |
+
}
|
3143 |
}
|
3144 |
|
3145 |
if ( ! function_exists( 'learn_press_content_item_review_quiz_title' ) ) {
|
3146 |
+
function learn_press_content_item_review_quiz_title() {
|
3147 |
+
if ( learn_press_is_review_questions() ) {
|
3148 |
+
learn_press_get_template( 'content-quiz/review-title.php' );
|
3149 |
+
}
|
3150 |
+
}
|
3151 |
}
|
3152 |
|
3153 |
if ( ! function_exists( 'learn_press_become_teacher_messages' ) ) {
|
3154 |
+
function learn_press_become_teacher_messages() {
|
3155 |
+
$messages = LP_Shortcode_Become_A_Teacher::get_messages();
|
3156 |
+
if ( ! $messages ) {
|
3157 |
+
return;
|
3158 |
+
}
|
3159 |
|
3160 |
+
learn_press_get_template( 'global/become-teacher-form/message.php', array( 'messages' => $messages ) );
|
3161 |
+
}
|
3162 |
}
|
3163 |
|
3164 |
if ( ! function_exists( 'learn_press_become_teacher_heading' ) ) {
|
3165 |
|
3166 |
+
function learn_press_become_teacher_heading() {
|
3167 |
+
$messages = LP_Shortcode_Become_A_Teacher::get_messages();
|
3168 |
+
if ( $messages ) {
|
3169 |
+
return;
|
3170 |
+
}
|
3171 |
+
?>
|
3172 |
<h3><?php _e( 'Fill out the form and send us your requesting.', 'learnpress' ); ?></h3>
|
3173 |
+
<?php
|
3174 |
+
}
|
3175 |
}
|
3176 |
|
3177 |
if ( ! function_exists( 'learn_press_become_teacher_form_fields' ) ) {
|
3178 |
|
3179 |
+
function learn_press_become_teacher_form_fields() {
|
3180 |
+
$messages = LP_Shortcode_Become_A_Teacher::get_messages();
|
3181 |
+
if ( $messages ) {
|
3182 |
+
return;
|
3183 |
+
}
|
3184 |
|
3185 |
+
include_once LP_PLUGIN_PATH . 'inc/admin/meta-box/class-lp-meta-box-helper.php';
|
3186 |
|
3187 |
+
learn_press_get_template( 'global/become-teacher-form/form-fields.php',
|
3188 |
+
array( 'fields' => learn_press_get_become_a_teacher_form_fields() ) );
|
3189 |
+
}
|
3190 |
}
|
3191 |
|
3192 |
if ( ! function_exists( 'learn_press_become_teacher_button' ) ) {
|
3193 |
|
3194 |
+
function learn_press_become_teacher_button() {
|
3195 |
+
$messages = LP_Shortcode_Become_A_Teacher::get_messages();
|
3196 |
+
if ( $messages ) {
|
3197 |
+
return;
|
3198 |
+
}
|
3199 |
|
3200 |
+
learn_press_get_template( 'global/become-teacher-form/button.php' );
|
3201 |
+
}
|
3202 |
}
|
3203 |
|
3204 |
if ( ! function_exists( 'learn_press_content_item_comments' ) ) {
|
3205 |
|
3206 |
+
function learn_press_content_item_comments() {
|
3207 |
|
3208 |
+
$item = LP_Global::course_item();
|
3209 |
|
3210 |
+
if ( ! $item ) {
|
3211 |
+
return;
|
3212 |
+
}
|
3213 |
|
3214 |
+
if ( ! $item->is_support( 'comments' ) ) {
|
3215 |
+
return;
|
3216 |
+
}
|
3217 |
|
3218 |
+
global $post;
|
3219 |
|
3220 |
+
$post = get_post( $item->get_id() );
|
3221 |
|
3222 |
+
setup_postdata( $post );
|
3223 |
|
3224 |
+
if ( ! have_comments() ) {
|
3225 |
+
return;
|
3226 |
+
}
|
3227 |
|
3228 |
+
comments_template();
|
3229 |
|
3230 |
+
wp_reset_postdata();
|
3231 |
+
}
|
3232 |
}
|
3233 |
|
3234 |
if ( ! function_exists( 'learn_press_content_item_nav' ) ) {
|
3235 |
+
function learn_press_content_item_nav() {
|
3236 |
+
$course = LP_Global::course();
|
3237 |
+
$next_item = $prev_item = false;
|
3238 |
+
|
3239 |
+
if ( $next_id = $course->get_next_item() ) {
|
3240 |
+
$next_item = $course->get_item( $next_id );
|
3241 |
+
}
|
3242 |
+
if ( $prev_id = $course->get_prev_item() ) {
|
3243 |
+
$prev_item = $course->get_item( $prev_id );
|
3244 |
+
}
|
3245 |
+
|
3246 |
+
learn_press_get_template(
|
3247 |
+
'single-course/content-item/nav.php',
|
3248 |
+
array(
|
3249 |
+
'next_item' => $next_item,
|
3250 |
+
'prev_item' => $prev_item
|
3251 |
+
)
|
3252 |
+
);
|
3253 |
+
}
|
3254 |
}
|
3255 |
|
3256 |
function learn_press_disable_course_comment_form() {
|
3257 |
+
add_filter( 'comments_template', 'learn_press_blank_comments_template', 999 );
|
3258 |
}
|
3259 |
|
3260 |
function learn_press_course_comments_open( $open, $post_id ) {
|
3261 |
+
$post = get_post( $post_id );
|
3262 |
+
if ( LP_COURSE_CPT == $post->post_type ) {
|
3263 |
+
$open = false;
|
3264 |
+
}
|
3265 |
|
3266 |
+
return $open;
|
3267 |
}
|
3268 |
|
3269 |
|
3270 |
if ( ! function_exists( 'learn_press_profile_mobile_menu' ) ) {
|
3271 |
+
function learn_press_profile_mobile_menu() {
|
3272 |
+
learn_press_get_template( 'profile/mobile-menu.php' );
|
3273 |
+
}
|
3274 |
}
|
3275 |
|
3276 |
if ( ! function_exists( 'learn_press_profile_order_details' ) ) {
|
3277 |
+
function learn_press_profile_order_details() {
|
3278 |
+
$profile = LP_Profile::instance();
|
3279 |
|
3280 |
+
if ( false === ( $order = $profile->get_view_order() ) ) {
|
3281 |
+
return;
|
3282 |
+
}
|
3283 |
|
3284 |
+
learn_press_get_template( 'order/order-details.php', array( 'order' => $order ) );
|
3285 |
+
}
|
3286 |
}
|
3287 |
|
3288 |
if ( ! function_exists( 'learn_press_profile_order_recover' ) ) {
|
3289 |
+
function learn_press_profile_order_recover() {
|
3290 |
+
$profile = LP_Profile::instance();
|
3291 |
|
3292 |
+
if ( false === ( $order = $profile->get_view_order() ) ) {
|
3293 |
+
return;
|
3294 |
+
}
|
3295 |
+
learn_press_get_template( 'profile/tabs/orders/recover-my-order.php', array( 'order' => $order ) );
|
3296 |
+
}
|
3297 |
}
|
3298 |
|
3299 |
if ( ! function_exists( 'learn_press_profile_order_message' ) ) {
|
3300 |
+
function learn_press_profile_order_message() {
|
3301 |
+
$profile = LP_Profile::instance();
|
3302 |
|
3303 |
+
if ( false === ( $order = $profile->get_view_order() ) ) {
|
3304 |
+
return;
|
3305 |
+
}
|
3306 |
+
learn_press_get_template( 'profile/tabs/orders/order-message.php', array( 'order' => $order ) );
|
3307 |
+
}
|
3308 |
}
|
3309 |
|
3310 |
function learn_press_is_content_item_only() {
|
3311 |
+
return ! empty( $_REQUEST['content-item-only'] );
|
3312 |
}
|
3313 |
|
3314 |
function learn_press_label_html( $label, $type = '' ) {
|
3315 |
+
?>
|
3316 |
<span class="lp-label label-<?php echo esc_attr( $type ? $type : $label ); ?>">
|
3317 |
<?php echo $label; ?>
|
3318 |
</span>
|
3319 |
+
<?php
|
3320 |
}
|
3321 |
|
3322 |
// Fix issue with course content is duplicated if theme use the_content instead of $course->get_description()
|
3323 |
function learn_press_course_the_content( $content ) {
|
3324 |
+
_deprecated_function( __FUNCTION__, '3.0.0' );
|
3325 |
+
global $post;
|
3326 |
+
if ( $post && $post->post_type == 'lp_course' ) {
|
3327 |
+
$course = learn_press_get_course( $post->ID );
|
3328 |
+
if ( $course ) {
|
3329 |
+
remove_filter( 'the_content', 'learn_press_course_the_content', 99999 );
|
3330 |
+
$content = $course->get_content();
|
3331 |
+
add_filter( 'the_content', 'learn_press_course_the_content', 99999 );
|
3332 |
+
}
|
3333 |
+
}
|
3334 |
|
3335 |
+
return $content;
|
3336 |
}
|
3337 |
|
3338 |
//add_action( 'template_redirect', 'learn_press_check_access_lesson' );
|
3339 |
|
3340 |
function learn_press_check_access_lesson() {
|
3341 |
+
$queried_post_type = get_query_var( 'post_type' );
|
3342 |
+
if ( is_single() && 'lp_lesson' == $queried_post_type ) {
|
3343 |
+
$course = learn_press_get_course();
|
3344 |
+
if ( ! $course ) {
|
3345 |
+
learn_press_is_404();
|
3346 |
+
|
3347 |
+
return;
|
3348 |
+
}
|
3349 |
+
$post = get_post();
|
3350 |
+
$user = learn_press_get_current_user();
|
3351 |
+
$can_view = $user->can_view_item( $post->ID, $course->get_id() );
|
3352 |
+
if ( ! $can_view ) {
|
3353 |
+
learn_press_is_404();
|
3354 |
+
|
3355 |
+
return;
|
3356 |
+
}
|
3357 |
+
} elseif ( is_single() && 'lp_course' == $queried_post_type ) {
|
3358 |
+
$course = learn_press_get_course();
|
3359 |
+
$item = LP()->global['course-item'];
|
3360 |
+
if ( is_object( $item ) && isset( $item->post->post_type ) && 'lp_lesson' === $item->post->post_type ) {
|
3361 |
+
$user = learn_press_get_current_user();
|
3362 |
+
$can_view = $user->can_view_item( $item->id, $course->get_id() );
|
3363 |
+
if ( ! $can_view ) {
|
3364 |
+
learn_press_404_page();
|
3365 |
+
|
3366 |
+
return;
|
3367 |
+
}
|
3368 |
+
}
|
3369 |
+
}
|
3370 |
}
|
3371 |
|
3372 |
function learn_press_get_course_redirect( $link ) {
|
3373 |
|
3374 |
+
if ( empty( $_SERVER['HTTP_REFERER'] ) ) {
|
3375 |
+
return $link;
|
3376 |
+
}
|
3377 |
+
$referer = $_SERVER['HTTP_REFERER'];
|
3378 |
+
$info_a = parse_url( $referer );
|
3379 |
+
$info_b = parse_url( $link );
|
3380 |
+
|
3381 |
+
$a = explode( '/', $info_a['path'] );
|
3382 |
+
$a = array_filter( $a );
|
3383 |
+
|
3384 |
+
$b = explode( '/', $info_b['path'] );
|
3385 |
+
$b = array_filter( $b );
|
3386 |
+
|
3387 |
+
$same = array_intersect_assoc( $a, $b );
|
3388 |
+
|
3389 |
+
$a = array_diff_assoc( $a, $same );
|
3390 |
+
$b = array_diff_assoc( $b, $same );
|
3391 |
+
|
3392 |
+
$a = array_values( $a );
|
3393 |
+
$b = array_values( $b );
|
3394 |
+
|
3395 |
+
if ( array_shift( $a ) === 'popup' ) {
|
3396 |
+
unset( $a[0] );
|
3397 |
+
if ( ! ( array_diff_assoc( $a, $b ) ) ) {
|
3398 |
+
$link = '';
|
3399 |
+
foreach ( array( 'scheme', 'host', 'port', 'path' ) as $v ) {
|
3400 |
+
if ( ! isset( $info_a[ $v ] ) ) {
|
3401 |
+
continue;
|
3402 |
+
}
|
3403 |
+
|
3404 |
+
if ( $v == 'scheme' ) {
|
3405 |
+
$sep = '://';
|
3406 |
+
} elseif ( $v == 'host' ) {
|
3407 |
+
$sep = '';
|
3408 |
+
} elseif ( $v == 'port' ) {
|
3409 |
+
$link .= ':';
|
3410 |
+
$sep = '';
|
3411 |
+
} else {
|
3412 |
+
$sep = '/';
|
3413 |
+
}
|
3414 |
+
$link = $link . $info_a[ $v ] . $sep;
|
3415 |
+
}
|
3416 |
+
|
3417 |
+
if ( ! empty( $info_b['query'] ) ) {
|
3418 |
+
$link .= '?' . $info_b['query'];
|
3419 |
+
}
|
3420 |
+
|
3421 |
+
if ( ! empty( $info_b['fragment'] ) ) {
|
3422 |
+
$link .= '#' . $info_b['fragment'];
|
3423 |
+
}
|
3424 |
+
}
|
3425 |
+
}
|
3426 |
+
|
3427 |
+
return $link;
|
3428 |
}
|
3429 |
|
3430 |
/**
|
3431 |
* @param LP_Quiz $item
|
3432 |
*/
|
3433 |
function learn_press_quiz_meta_final( $item ) {
|
3434 |
+
$course = LP_Global::course();
|
3435 |
+
if ( ! $course->is_final_quiz( $item->get_id() ) ) {
|
3436 |
+
return;
|
3437 |
+
}
|
3438 |
+
echo '<span class="item-meta final-quiz">' . __( 'Final', 'learnpress' ) . '</span>';
|
3439 |
}
|
3440 |
|
3441 |
/**
|
3442 |
* @param LP_Quiz $item
|
3443 |
*/
|
3444 |
function learn_press_quiz_meta_questions( $item ) {
|
3445 |
+
$count = $item->count_questions();
|
3446 |
+
echo '<span class="item-meta count-questions">' . sprintf( $count ? _n( '%d question', '%d questions', $count,
|
3447 |
+
'learnpress' ) : __( '%d question', 'learnpress' ), $count ) . '</span>';
|
3448 |
}
|
3449 |
|
3450 |
/**
|
3451 |
* @param LP_Quiz|LP_Lesson $item
|
3452 |
*/
|
3453 |
function learn_press_item_meta_duration( $item ) {
|
3454 |
+
$duration = $item->get_duration();
|
3455 |
+
|
3456 |
+
if ( is_a( $duration, 'LP_Duration' ) && $duration->get() ) {
|
3457 |
+
$format = array(
|
3458 |
+
'day' => '%s ' . _x( 'day', 'duration', 'learnpress' ),
|
3459 |
+
'hour' => '%s ' . _x( 'hour', 'duration', 'learnpress' ),
|
3460 |
+
'minute' => '%s ' . _x( 'min', 'duration', 'learnpress' ),
|
3461 |
+
'second' => '%s ' . _x( 'sec', 'duration', 'learnpress' ),
|
3462 |
+
);
|
3463 |
+
echo '<span class="item-meta duration">' . $duration->to_timer( $format, true ) . '</span>';
|
3464 |
+
} elseif ( is_string( $duration ) && strlen( $duration ) ) {
|
3465 |
+
echo '<span class="item-meta duration">' . $duration . '</span>';
|
3466 |
+
}
|
3467 |
}
|
3468 |
|
3469 |
function learn_press_course_item_edit_link( $item_id, $course_id ) {
|
3470 |
+
$user = learn_press_get_current_user();
|
3471 |
+
if ( $user->can_edit_item( $item_id, $course_id ) ): ?>
|
3472 |
<p class="edit-course-item-link">
|
3473 |
<a href="<?php echo get_edit_post_link( $item_id ); ?>"><?php _e( 'Edit this item', 'learnpress' ); ?></a>
|
3474 |
</p>
|
3475 |
+
<?php endif;
|
3476 |
}
|
3477 |
|
3478 |
function learn_press_comments_template_query_args( $comment_args ) {
|
3479 |
+
$post_type = get_post_type( $comment_args['post_id'] );
|
3480 |
+
if ( $post_type == LP_COURSE_CPT ) {
|
3481 |
+
$comment_args['type__not_in'] = 'review';
|
3482 |
+
}
|
3483 |
|
3484 |
+
return $comment_args;
|
3485 |
}
|
3486 |
|
3487 |
if ( ! function_exists( 'learn_press_filter_get_comments_number' ) ) {
|
3488 |
+
function learn_press_filter_get_comments_number( $count, $post_id = 0 ) {
|
3489 |
+
global $wpdb;
|
3490 |
|
3491 |
+
if ( ! $post_id ) {
|
3492 |
+
$post_id = learn_press_get_course_id();
|
3493 |
+
}
|
3494 |
|
3495 |
+
if ( ! $post_id ) {
|
3496 |
+
return $count;
|
3497 |
+
}
|
3498 |
|
3499 |
+
if ( get_post_type( $post_id ) == LP_COURSE_CPT ) {
|
3500 |
+
$sql = $wpdb->prepare(
|
3501 |
+
" SELECT count(*) "
|
3502 |
+
. " FROM {$wpdb->comments} "
|
3503 |
+
. " WHERE comment_post_ID = %d "
|
3504 |
+
. " AND comment_approved = 1 "
|
3505 |
+
. " AND comment_type != %s ", $post_id, 'review' );
|
3506 |
|
3507 |
+
$count = $wpdb->get_var( $sql );
|
3508 |
|
3509 |
+
// @deprecated
|
3510 |
+
$count = apply_filters( 'learn_press_get_comments_number', $count, $post_id );
|
3511 |
|
3512 |
+
// @since 3.0.0
|
3513 |
+
$count = apply_filters( 'learn-press/course-comments-number', $count, $post_id );
|
3514 |
+
}
|
3515 |
|
3516 |
+
return $count;
|
3517 |
+
}
|
3518 |
}
|
3519 |
|
3520 |
if ( ! function_exists( 'learn_press_back_to_class_button' ) ) {
|
3521 |
+
function learn_press_back_to_class_button() {
|
3522 |
+
$courses_link = learn_press_get_page_link( 'courses' );
|
3523 |
+
if ( ! $courses_link ) {
|
3524 |
+
return;
|
3525 |
+
}
|
3526 |
+
?>
|
3527 |
|
3528 |
<a href="<?php echo learn_press_get_page_link( 'courses' ); ?>"><?php _e( 'Back to class',
|
3529 |
+
'learnpress' ); ?></a>
|
3530 |
+
<?php
|
3531 |
+
}
|
3532 |
}
|
3533 |
|
3534 |
if ( ! function_exists( 'learn_press_reset_single_item_summary_content' ) ) {
|
3535 |
+
function learn_press_reset_single_item_summary_content() {
|
3536 |
+
if ( isset( $_REQUEST['content-only'] ) ) {
|
3537 |
+
global $wp_filter;
|
3538 |
+
if ( isset( $wp_filter['learn-press/single-item-summary'] ) ) {
|
3539 |
+
unset( $wp_filter['learn-press/single-item-summary'] );
|
3540 |
+
}
|
3541 |
|
3542 |
+
$course = learn_press_get_course();
|
3543 |
+
$course->get_curriculum();
|
3544 |
|
3545 |
+
add_action( 'learn-press/single-item-summary', 'learn_press_single_course_content_item', 10 );
|
3546 |
+
}
|
3547 |
+
}
|
3548 |
}
|
3549 |
|
3550 |
//function learn_press_course_item_class( $defaults, $this->get_item_type(), $this->get_id()){
|
3585 |
* @since 3.0.0
|
3586 |
*/
|
3587 |
function learn_press_body_classes( $classes ) {
|
3588 |
+
$pages = learn_press_static_page_ids();
|
3589 |
|
3590 |
+
if ( $pages ) {
|
3591 |
+
$is_lp_page = false;
|
3592 |
+
settype( $classes, 'array' );
|
3593 |
|
3594 |
+
foreach ( $pages as $slug => $id ) {
|
3595 |
+
if ( is_page( $id ) ) {
|
3596 |
+
$classes[] = $slug;
|
3597 |
+
$is_lp_page = true;
|
3598 |
+
}
|
3599 |
+
}
|
3600 |
|
3601 |
+
if ( $is_lp_page || is_learnpress() ) {
|
3602 |
+
$classes[] = get_stylesheet();
|
3603 |
+
$classes[] = 'learnpress';
|
3604 |
+
$classes[] = 'learnpress-page';
|
3605 |
+
}
|
3606 |
+
}
|
3607 |
|
3608 |
+
return $classes;
|
3609 |
}
|
3610 |
|
3611 |
add_filter( 'body_class', 'learn_press_body_classes', 10 );
|
3620 |
*
|
3621 |
*/
|
3622 |
function learn_press_is_learning_course( $course_id = 0 ) {
|
3623 |
+
$user = learn_press_get_current_user();
|
3624 |
+
$course = $course_id ? learn_press_get_course( $course_id ) : LP_Global::course();
|
3625 |
+
$is_learning = false;
|
3626 |
+
$has_status = false;
|
3627 |
+
|
3628 |
+
if ( $user && $course ) {
|
3629 |
+
$has_status = $user->has_course_status( $course->get_id(), array(
|
3630 |
+
'enrolled',
|
3631 |
+
'finished'
|
3632 |
+
) );
|
3633 |
+
}
|
3634 |
|
3635 |
+
if ( $course && ( ! $course->is_required_enroll() || $has_status ) ) {
|
3636 |
+
$is_learning = true;
|
3637 |
+
}
|
3638 |
|
3639 |
+
return apply_filters( 'learn-press/is-learning-course', $is_learning );
|
3640 |
}
|
3641 |
|
3642 |
function learn_press_get_color_schemas() {
|
3643 |
+
$colors = array(
|
3644 |
+
array(
|
3645 |
+
'title' => __( 'Popup links color', 'learnpress' ),
|
3646 |
+
'id' => 'popup-links-color',
|
3647 |
+
'selectors' => array(
|
3648 |
+
'body.course-item-popup a' => "color"
|
3649 |
+
),
|
3650 |
+
'std' => ''
|
3651 |
+
),
|
3652 |
+
array(
|
3653 |
+
'title' => __( 'Popup heading background', 'learnpress' ),
|
3654 |
+
'id' => 'popup-heading-bg',
|
3655 |
+
'selectors' => array(
|
3656 |
+
'#course-item-content-header' => "background-color"
|
3657 |
+
),
|
3658 |
+
'std' => '#e7f7ff'
|
3659 |
+
),
|
3660 |
+
array(
|
3661 |
+
'title' => __( 'Popup heading color', 'learnpress' ),
|
3662 |
+
'id' => 'popup-heading-color',
|
3663 |
+
'selectors' => array(
|
3664 |
+
'#course-item-content-header a' => "color",
|
3665 |
+
'#course-item-content-header .course-item-search input' => "color",
|
3666 |
+
'#course-item-content-header .course-item-search input:focus' => "color",
|
3667 |
+
'#course-item-content-header .course-item-search input::placeholder' => "color",
|
3668 |
+
'#course-item-content-header .course-item-search button' => "color",
|
3669 |
+
),
|
3670 |
+
'std' => ''
|
3671 |
+
),
|
3672 |
+
array(
|
3673 |
+
'title' => __( 'Popup curriculum background', 'learnpress' ),
|
3674 |
+
'id' => 'popup-curriculum-background',
|
3675 |
+
'selectors' => array(
|
3676 |
+
'body.course-item-popup .course-curriculum ul.curriculum-sections .section-content .course-item' => "background-color",
|
3677 |
+
'body.course-item-popup #learn-press-course-curriculum' => "background-color",
|
3678 |
+
),
|
3679 |
+
'std' => '#FFF'
|
3680 |
+
),
|
3681 |
+
array(
|
3682 |
+
'title' => __( 'Popup item color', 'learnpress' ),
|
3683 |
+
'id' => 'popup-item-color',
|
3684 |
+
'selectors' => array(
|
3685 |
+
'body.course-item-popup .course-curriculum ul.curriculum-sections .section-content .course-item a' => "color",
|
3686 |
+
),
|
3687 |
+
'std' => ''
|
3688 |
+
),
|
3689 |
+
array(
|
3690 |
+
'title' => __( 'Popup active item background', 'learnpress' ),
|
3691 |
+
'id' => 'popup-active-item-background',
|
3692 |
+
'selectors' => array(
|
3693 |
+
'body.course-item-popup .course-curriculum ul.curriculum-sections .section-content .course-item.current' => "background-color",
|
3694 |
+
),
|
3695 |
+
'std' => '#F9F9F9'
|
3696 |
+
),
|
3697 |
+
array(
|
3698 |
+
'title' => __( 'Popup active item color', 'learnpress' ),
|
3699 |
+
'id' => 'popup-active-item-color',
|
3700 |
+
'selectors' => array(
|
3701 |
+
'body.course-item-popup .course-curriculum ul.curriculum-sections .section-content .course-item.current a' => "color",
|
3702 |
+
),
|
3703 |
+
'std' => ''
|
3704 |
+
),
|
3705 |
+
array(
|
3706 |
+
'title' => __( 'Popup content background', 'learnpress' ),
|
3707 |
+
'id' => 'popup-content-background',
|
3708 |
+
'selectors' => array(
|
3709 |
+
'body.course-item-popup #learn-press-content-item' => "background-color"
|
3710 |
+
),
|
3711 |
+
'std' => '#FFF'
|
3712 |
+
),
|
3713 |
+
array(
|
3714 |
+
'title' => __( 'Popup content color', 'learnpress' ),
|
3715 |
+
'id' => 'popup-content-color',
|
3716 |
+
'selectors' => array(
|
3717 |
+
'body.course-item-popup #learn-press-content-item' => "color"
|
3718 |
+
),
|
3719 |
+
'std' => ''
|
3720 |
+
),
|
3721 |
+
array(
|
3722 |
+
'title' => __( 'Section heading background', 'learnpress' ),
|
3723 |
+
'id' => 'section-heading-bg',
|
3724 |
+
'selectors' => array(
|
3725 |
+
'body.course-item-popup #learn-press-course-curriculum .section-header' => 'background'
|
3726 |
+
)
|
3727 |
+
),
|
3728 |
+
array(
|
3729 |
+
'title' => __( 'Section heading color', 'learnpress' ),
|
3730 |
+
'id' => 'section-heading-color',
|
3731 |
+
'selectors' => array(
|
3732 |
+
'body.course-item-popup #learn-press-course-curriculum .section-header' => 'color'
|
3733 |
+
)
|
3734 |
+
),
|
3735 |
+
array(
|
3736 |
+
'title' => __( 'Section heading bottom color', 'learnpress' ),
|
3737 |
+
'id' => 'section-heading-bottom-color',
|
3738 |
+
'selectors' => array(
|
3739 |
+
'.course-curriculum ul.curriculum-sections .section-header' => 'border-bottom: 1px solid %s'
|
3740 |
+
),
|
3741 |
+
'std' => '#00adff'
|
3742 |
+
),
|
3743 |
+
array(
|
3744 |
+
'title' => __( 'Lines color', 'learnpress' ),
|
3745 |
+
'id' => 'lines-color',
|
3746 |
+
'selectors' => array(
|
3747 |
+
'#course-item-content-header' => 'border-bottom: 1px solid %s',
|
3748 |
+
'.course-curriculum ul.curriculum-sections .section-content .course-item' => 'border-bottom: 1px solid %s',
|
3749 |
+
'body.course-item-popup #learn-press-course-curriculum' => 'border-right: 1px solid %s',
|
3750 |
+
'#course-item-content-header .toggle-content-item' => 'border-left: 1px solid %s'
|
3751 |
+
),
|
3752 |
+
'std' => 'DDD'
|
3753 |
+
),
|
3754 |
+
array(
|
3755 |
+
'title' => __( 'Profile cover background', 'learnpress' ),
|
3756 |
+
'id' => 'profile-cover-bg',
|
3757 |
+
'selectors' => array(
|
3758 |
+
'#learn-press-profile-header' => 'background-color'
|
3759 |
+
),
|
3760 |
+
'std' => '#f0defb'
|
3761 |
+
),
|
3762 |
+
array(
|
3763 |
+
'title' => __( 'Scrollbar', 'learnpress' ),
|
3764 |
+
'id' => 'scroll-bar',
|
3765 |
+
'selectors' => array(
|
3766 |
+
'.scrollbar-light > .scroll-element.scroll-y .scroll-bar' => 'background-color',
|
3767 |
+
'.scrollbar-light > .scroll-element .scroll-element_size' => 'background'
|
3768 |
+
),
|
3769 |
+
'std' => '#12b3ff'
|
3770 |
+
),
|
3771 |
+
array(
|
3772 |
+
'title' => __( 'Progress bar color', 'learnpress' ),
|
3773 |
+
'id' => 'progress-bar-color',
|
3774 |
+
'selectors' => array(
|
3775 |
+
'.learn-press-progress .progress-bg' => 'background-color'
|
3776 |
+
),
|
3777 |
+
'std' => '#DDDDDD'
|
3778 |
+
),
|
3779 |
+
array(
|
3780 |
+
'title' => __( 'Progress bar active color', 'learnpress' ),
|
3781 |
+
'id' => 'scroll-bar',
|
3782 |
+
'selectors' => array(
|
3783 |
+
'.learn-press-progress .progress-bg .progress-active' => 'background-color'
|
3784 |
+
),
|
3785 |
+
'std' => '#00adff'
|
3786 |
+
),
|
3787 |
+
);
|
3788 |
+
|
3789 |
+
return apply_filters( 'learn-press/color-schemas', $colors );
|
3790 |
}
|
3791 |
|
3792 |
/**
|
3796 |
*/
|
3797 |
function learn_press_print_custom_styles() {
|
3798 |
|
3799 |
+
if ( 'yes' !== LP()->settings()->get( 'enable_custom_colors' ) ) {
|
3800 |
+
return;
|
3801 |
+
}
|
3802 |
+
|
3803 |
+
if ( ! $schemas = LP()->settings()->get( 'color_schemas' ) ) {
|
3804 |
+
return;
|
3805 |
+
}
|
3806 |
+
|
3807 |
+
// Get current
|
3808 |
+
$schema = reset( $schemas );
|
3809 |
+
$colors = learn_press_get_color_schemas();
|
3810 |
+
$css = array();
|
3811 |
+
|
3812 |
+
foreach ( $colors as $options ) {
|
3813 |
+
if ( array_key_exists( $options['id'], $schema ) ) {
|
3814 |
+
|
3815 |
+
if ( empty( $options['selectors'] ) ) {
|
3816 |
+
continue;
|
3817 |
+
}
|
3818 |
+
|
3819 |
+
foreach ( $options['selectors'] as $selector => $props ) {
|
3820 |
+
if ( empty( $css[ $selector ] ) ) {
|
3821 |
+
$css[ $selector ] = "";
|
3822 |
+
}
|
3823 |
+
if ( is_string( $props ) ) {
|
3824 |
+
if ( strpos( $props, '%s' ) !== false ) {
|
3825 |
+
$css[ $selector ] .= sprintf( $props, $schema[ $options['id'] ] ) . ";";
|
3826 |
+
} else {
|
3827 |
+
$css[ $selector ] .= "{$props}:" . $schema[ $options['id'] ] . ";";
|
3828 |
+
}
|
3829 |
+
} else {
|
3830 |
+
foreach ( $props as $prop ) {
|
3831 |
+
if ( strpos( $prop, '%s' ) !== false ) {
|
3832 |
+
$css[ $selector ] .= sprintf( $prop, $schema[ $options['id'] ] ) . ";";
|
3833 |
+
} else {
|
3834 |
+
$css[ $selector ] .= "{$prop}:" . $schema[ $options['id'] ] . ";";
|
3835 |
+
}
|
3836 |
+
}
|
3837 |
+
}
|
3838 |
+
}
|
3839 |
+
}
|
3840 |
+
}
|
3841 |
+
|
3842 |
+
if ( ! $css ) {
|
3843 |
+
return;
|
3844 |
+
}
|
3845 |
+
|
3846 |
+
?>
|
3847 |
<style id="learn-press-custom-css">
|
3848 |
<?php
|
3849 |
foreach($css as $selector => $props){
|
3851 |
}
|
3852 |
?>
|
3853 |
</style>
|
3854 |
+
<?php
|
3855 |
}
|
3856 |
|
3857 |
add_action( 'wp_head', 'learn_press_print_custom_styles' );
|
3862 |
* of the courses.
|
3863 |
*/
|
3864 |
function learn_press_redirect_search() {
|
3865 |
+
if ( learn_press_is_search() ) {
|
3866 |
+
$search_page = learn_press_get_page_id( 'search' );
|
3867 |
+
if ( ! is_page( $search_page ) ) {
|
3868 |
+
global $wp_query;
|
3869 |
+
wp_redirect( add_query_arg( 's', $wp_query->query_vars['s'], get_the_permalink( $search_page ) ) );
|
3870 |
+
exit();
|
3871 |
+
}
|
3872 |
+
}
|
3873 |
}
|
3874 |
|
3875 |
/**
|
3880 |
*
|
3881 |
*/
|
3882 |
function learn_press_current_user_enrolled_course() {
|
3883 |
+
$user = learn_press_get_current_user();
|
3884 |
+
$course = LP_Global::course();
|
3885 |
|
3886 |
+
if ( ! $course ) {
|
3887 |
+
return false;
|
3888 |
+
}
|
3889 |
|
3890 |
+
return $user->has_enrolled_course( $course->get_id() );
|
3891 |
}
|
3892 |
|
3893 |
function learn_press_content_item_summary_class( $more = '', $echo = true ) {
|
3894 |
+
$classes = array( 'content-item-summary' );
|
3895 |
+
$classes = LP_Helper::merge_class( $classes, $more );
|
3896 |
+
$classes = apply_filters( 'learn-press/content-item-summary-class', $classes );
|
3897 |
+
$output = 'class="' . join( ' ', $classes ) . '"';
|
3898 |
|
3899 |
+
if ( $echo ) {
|
3900 |
+
echo $output;
|
3901 |
+
}
|
3902 |
|
3903 |
+
return $output;
|
3904 |
}
|
3905 |
|
3906 |
function learn_press_content_item_summary_classes( $classes ) {
|
3907 |
+
if ( ! $item = LP_Global::course_item() ) {
|
3908 |
+
return $classes;
|
3909 |
+
}
|
3910 |
|
3911 |
+
if ( $item->get_post_type() !== LP_LESSON_CPT ) {
|
3912 |
+
return $classes;
|
3913 |
+
}
|
3914 |
|
3915 |
+
if ( 'yes' !== LP()->settings->get( 'enable_lesson_video' ) ) {
|
3916 |
+
return $classes;
|
3917 |
+
}
|
3918 |
|
3919 |
+
if ( $item->get_video() ) {
|
3920 |
+
$classes[] = 'content-item-video';
|
3921 |
+
}
|
3922 |
|
3923 |
+
return $classes;
|
3924 |
}
|
3925 |
|
3926 |
function learn_press_maybe_load_comment_js() {
|
3927 |
+
if ( $item = LP_Global::course_item() ) {
|
3928 |
+
wp_enqueue_script( 'comment-reply' );
|
3929 |
+
}
|
3930 |
}
|
3931 |
|
3932 |
add_action( 'wp_enqueue_scripts', 'learn_press_maybe_load_comment_js' );
|
3981 |
}*/
|
3982 |
|
3983 |
function learn_press_term_conditions_template() {
|
3984 |
+
$page_id = learn_press_get_page_id( 'term_conditions' );
|
3985 |
+
if ( $page_id ) {
|
3986 |
+
$page_link = get_page_link( $page_id );
|
3987 |
+
learn_press_get_template( 'checkout/term-conditions.php', array( 'page_link' => $page_link ) );
|
3988 |
+
}
|
3989 |
}
|
3990 |
|
3991 |
add_action( 'learn-press/after-payment-methods', 'learn_press_term_conditions_template' );
|
3992 |
|
3993 |
function learn_press_get_link_current_question_instead_of_continue_button( $link, $item ) {
|
3994 |
+
if ( get_post_type( $item->get_id() ) === LP_QUIZ_CPT ) {
|
3995 |
+
$user = LP_Global::user();
|
3996 |
|
3997 |
+
if ( ! $user ) {
|
3998 |
+
return $link;
|
3999 |
+
}
|
4000 |
|
4001 |
+
$course = $item->get_course();
|
4002 |
|
4003 |
+
if ( ! $course ) {
|
4004 |
+
return $link;
|
4005 |
+
}
|
4006 |
|
4007 |
+
$quiz_data = $user->get_item_data( $item->get_id(), $course->get_id() );
|
4008 |
+
if ( $quiz_data && $quiz_data->get_status() === 'started' ) {
|
4009 |
+
$link = $item->get_question_link( $quiz_data->get_current_question() );
|
4010 |
+
}
|
4011 |
+
}
|
4012 |
|
4013 |
+
return $link;
|
4014 |
}
|
4015 |
|
4016 |
add_filter( 'learn-press/course-item-link', 'learn_press_get_link_current_question_instead_of_continue_button', 10, 2 );
|
4019 |
* @since 3.2.6
|
4020 |
*/
|
4021 |
function learn_press_define_debug_mode() {
|
4022 |
+
if ( ! learn_press_is_debug() ) {
|
4023 |
+
return;
|
4024 |
+
}
|
4025 |
+
?>
|
4026 |
<script>window.LP_DEBUG = true;</script>
|
4027 |
+
<?php
|
4028 |
}
|
4029 |
|
4030 |
add_action( 'admin_print_scripts', 'learn_press_define_debug_mode' );
|
inc/order/lp-order-functions.php
CHANGED
@@ -810,38 +810,3 @@ if ( ! function_exists( 'learn_press_cancel_order_process' ) ) {
|
|
810 |
}
|
811 |
}
|
812 |
add_action( 'init', 'learn_press_cancel_order_process' );
|
813 |
-
|
814 |
-
/**
|
815 |
-
* Auto enroll course after user checkout
|
816 |
-
*
|
817 |
-
* @param $result
|
818 |
-
* @param $order_id
|
819 |
-
*/
|
820 |
-
function _learn_press_checkout_auto_enroll_free_course( $result, $order_id ) {
|
821 |
-
return;
|
822 |
-
$enrolled = false;
|
823 |
-
if ( $order_id && $order = learn_press_get_order( $order_id, true /* force to get all changed */ ) ) {
|
824 |
-
$user = learn_press_get_user( $order->user_id, true );
|
825 |
-
if ( $order_items = $order->get_items() ) {
|
826 |
-
foreach ( $order_items as $item ) {
|
827 |
-
if ( $user->has_enrolled_course( $item['course_id'] ) ) {
|
828 |
-
continue;
|
829 |
-
}
|
830 |
-
if ( $user->enroll( $item['course_id'] ) ) {
|
831 |
-
$enrolled = $item['course_id'];
|
832 |
-
}
|
833 |
-
}
|
834 |
-
if ( ! $enrolled ) {
|
835 |
-
$item = reset( $order_items );
|
836 |
-
$enrolled = $item['course_id'];
|
837 |
-
}
|
838 |
-
}
|
839 |
-
}
|
840 |
-
if ( $enrolled ) {
|
841 |
-
learn_press_add_message( sprintf( __( 'You have enrolled in this course. <a href="%s">Order details</a>', 'learnpress' ), $result['redirect'] ) );
|
842 |
-
$result['redirect'] = get_the_permalink( $enrolled );
|
843 |
-
LP()->cart->empty_cart();
|
844 |
-
}
|
845 |
-
|
846 |
-
return $result;
|
847 |
-
}
|
810 |
}
|
811 |
}
|
812 |
add_action( 'init', 'learn_press_cancel_order_process' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
inc/question/class-lp-question-database.php
CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
* @since 3.2.8
|
11 |
*/
|
12 |
class LP_Question_DB extends LP_Database {
|
13 |
-
|
14 |
|
15 |
public function __construct() {
|
16 |
parent::__construct();
|
10 |
* @since 3.2.8
|
11 |
*/
|
12 |
class LP_Question_DB extends LP_Database {
|
13 |
+
private static $_instance;
|
14 |
|
15 |
public function __construct() {
|
16 |
parent::__construct();
|
inc/quiz/class-lp-quiz-database.php
CHANGED
@@ -10,9 +10,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
* @since 3.2.7.4
|
11 |
*/
|
12 |
class LP_Quiz_DB extends LP_Database {
|
13 |
-
|
14 |
|
15 |
-
|
16 |
parent::__construct();
|
17 |
}
|
18 |
|
10 |
* @since 3.2.7.4
|
11 |
*/
|
12 |
class LP_Quiz_DB extends LP_Database {
|
13 |
+
private static $_instance;
|
14 |
|
15 |
+
protected function __construct() {
|
16 |
parent::__construct();
|
17 |
}
|
18 |
|
inc/section/class-lp-section-database.php
CHANGED
@@ -9,9 +9,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
9 |
*/
|
10 |
|
11 |
class LP_Section_DB extends LP_Database {
|
12 |
-
|
13 |
|
14 |
-
|
15 |
parent::__construct();
|
16 |
}
|
17 |
|
9 |
*/
|
10 |
|
11 |
class LP_Section_DB extends LP_Database {
|
12 |
+
private static $_instance;
|
13 |
|
14 |
+
protected function __construct() {
|
15 |
parent::__construct();
|
16 |
}
|
17 |
|
inc/user-item/class-lp-user-item-course.php
CHANGED
@@ -72,7 +72,9 @@ class LP_User_Item_Course extends LP_User_Item implements ArrayAccess {
|
|
72 |
$this->_items = array();
|
73 |
$this->_course = learn_press_get_course( $this->get_id() );
|
74 |
|
75 |
-
|
|
|
|
|
76 |
return false;
|
77 |
}
|
78 |
|
@@ -1090,51 +1092,6 @@ class LP_User_Item_Course extends LP_User_Item implements ArrayAccess {
|
|
1090 |
return apply_filters( 'learn-press/course/items-for-js', $args, $this->get_id(), $this->get_user_id() );
|
1091 |
}
|
1092 |
|
1093 |
-
/**
|
1094 |
-
* Add new item
|
1095 |
-
*
|
1096 |
-
* @param int|array $item_id
|
1097 |
-
* @param int $user_id
|
1098 |
-
*
|
1099 |
-
* @return bool
|
1100 |
-
*/
|
1101 |
-
public function add_item( $item_id, $user_id = 0 ) {
|
1102 |
-
echo __FUNCTION__;
|
1103 |
-
die();
|
1104 |
-
$this->read_items();
|
1105 |
-
|
1106 |
-
if ( empty( $this->_items[ $item_id ] ) ) {
|
1107 |
-
return false;
|
1108 |
-
}
|
1109 |
-
|
1110 |
-
$item_data = is_numeric( $item_id ) ? array( 'item_id' => $item_id ) : (array) $item_id;
|
1111 |
-
|
1112 |
-
if ( func_num_args() == 2 ) {
|
1113 |
-
$item_data['user_id'] = $user_id ? $user_id : get_current_user_id();
|
1114 |
-
}
|
1115 |
-
|
1116 |
-
$current_time = new LP_Datetime();
|
1117 |
-
$defaults = array(
|
1118 |
-
'start_time' => $current_time,
|
1119 |
-
'start_time_gtm' => $current_time->toSql( false ),
|
1120 |
-
'end_time' => $current_time,
|
1121 |
-
'end_time_gmt' => $current_time->toSql( false ),
|
1122 |
-
'item_type' => learn_press_get_post_type( $item_id ),
|
1123 |
-
'status' => '',
|
1124 |
-
'ref_id' => $this->get_id(),
|
1125 |
-
'ref_type' => learn_press_get_post_type( $this->get_id() ),
|
1126 |
-
'parent_id' => $this->get_user_item_id(),
|
1127 |
-
);
|
1128 |
-
$item_data = wp_parse_args(
|
1129 |
-
$item_data,
|
1130 |
-
$defaults
|
1131 |
-
);
|
1132 |
-
|
1133 |
-
$this->_items[ $item_id ] = LP_User_Item::get_item_object( $item_data );
|
1134 |
-
|
1135 |
-
return $this->_items[ $item_id ];
|
1136 |
-
}
|
1137 |
-
|
1138 |
/**
|
1139 |
* Update user item
|
1140 |
*/
|
72 |
$this->_items = array();
|
73 |
$this->_course = learn_press_get_course( $this->get_id() );
|
74 |
|
75 |
+
$user_course_item_id = $this->get_user_item_id();
|
76 |
+
|
77 |
+
if ( ! $this->_course || ( ! $user_course_item_id ) ) {
|
78 |
return false;
|
79 |
}
|
80 |
|
1092 |
return apply_filters( 'learn-press/course/items-for-js', $args, $this->get_id(), $this->get_user_id() );
|
1093 |
}
|
1094 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1095 |
/**
|
1096 |
* Update user item
|
1097 |
*/
|
inc/user-item/class-lp-user-item.php
CHANGED
@@ -466,12 +466,6 @@ class LP_User_Item extends LP_Abstract_Object_Data implements ArrayAccess {
|
|
466 |
$v = is_a( $v, 'LP_Datetime' ) ? $v->toSql() : $v;
|
467 |
break;
|
468 |
case 'start_time_gmt':
|
469 |
-
if ( ! $v ) {
|
470 |
-
$v = new LP_Datetime( $v );
|
471 |
-
}
|
472 |
-
|
473 |
-
$v = is_a( $v, 'LP_Datetime' ) ? $v->toSql() : $v;
|
474 |
-
break;
|
475 |
case 'end_time_gmt':
|
476 |
if ( ! $v ) {
|
477 |
$v = new LP_Datetime( $v );
|
466 |
$v = is_a( $v, 'LP_Datetime' ) ? $v->toSql() : $v;
|
467 |
break;
|
468 |
case 'start_time_gmt':
|
|
|
|
|
|
|
|
|
|
|
|
|
469 |
case 'end_time_gmt':
|
470 |
if ( ! $v ) {
|
471 |
$v = new LP_Datetime( $v );
|
inc/user-item/class-lp-user-items-db.php
CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
10 |
* @since 3.2.8.6
|
11 |
*/
|
12 |
class LP_User_Items_DB extends LP_Database {
|
13 |
-
|
14 |
|
15 |
protected function __construct() {
|
16 |
parent::__construct();
|
@@ -27,33 +27,40 @@ class LP_User_Items_DB extends LP_Database {
|
|
27 |
/**
|
28 |
* Get items by user_item_id | this is id where item_id = course_id
|
29 |
*
|
30 |
-
* @param int $
|
|
|
31 |
*
|
32 |
-
* @return object
|
33 |
*/
|
34 |
-
public function get_course_items_by_user_item_id( $user_item_id_by_course_id
|
35 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
$user_inner_join = '';
|
41 |
}
|
42 |
|
43 |
-
|
44 |
-
SELECT ui.*
|
45 |
-
FROM (
|
46 |
-
SELECT user_id, item_id, MAX(user_item_id) max_id
|
47 |
-
FROM {$wpdb->learnpress_user_items} GROUP BY user_id, item_id
|
48 |
-
) AS X
|
49 |
-
INNER JOIN {$wpdb->learnpress_user_items} ui ON ui.user_id = X.user_id AND ui.item_id = X.item_id AND ui.user_item_id = X.max_id
|
50 |
-
{$user_inner_join}
|
51 |
-
INNER JOIN {$wpdb->posts} p ON p.ID = X.item_id
|
52 |
-
WHERE ui.parent_id = %d
|
53 |
-
ORDER BY user_item_id ASC
|
54 |
-
", $user_item_id_by_course_id );
|
55 |
-
|
56 |
-
return $wpdb->get_results( $query );
|
57 |
}
|
58 |
}
|
59 |
|
10 |
* @since 3.2.8.6
|
11 |
*/
|
12 |
class LP_User_Items_DB extends LP_Database {
|
13 |
+
private static $_instance;
|
14 |
|
15 |
protected function __construct() {
|
16 |
parent::__construct();
|
27 |
/**
|
28 |
* Get items by user_item_id | this is id where item_id = course_id
|
29 |
*
|
30 |
+
* @param int $user_item_id_by_course_id
|
31 |
+
* @param int $user_id
|
32 |
*
|
33 |
+
* @return object
|
34 |
*/
|
35 |
+
public function get_course_items_by_user_item_id( $user_item_id_by_course_id ) {
|
36 |
+
if ( empty( $user_item_id_by_course_id ) ) {
|
37 |
+
return null;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Get cache
|
42 |
+
*
|
43 |
+
* Please clear cache when user action vs item. Ex: completed lesson, quiz. Start quiz...
|
44 |
+
*/
|
45 |
+
$course_items = wp_cache_get( 'lp-course-items-' . $user_item_id_by_course_id,
|
46 |
+
'lp-user-course-items' );
|
47 |
+
|
48 |
+
if ( ! $course_items ) {
|
49 |
+
$query = $this->wpdb->prepare( "
|
50 |
+
SELECT * FROM $this->tb_lp_user_items
|
51 |
+
WHERE parent_id = %d
|
52 |
+
AND ref_type = %s
|
53 |
+
GROUP BY user_item_id ASC;
|
54 |
+
", $user_item_id_by_course_id, LP_COURSE_CPT );
|
55 |
+
|
56 |
+
$course_items = $this->wpdb->get_results( $query );
|
57 |
|
58 |
+
//Set cache
|
59 |
+
wp_cache_set( 'lp-course-items-' . $user_item_id_by_course_id, $course_items,
|
60 |
+
'lp-user-course-items' );
|
|
|
61 |
}
|
62 |
|
63 |
+
return $course_items;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
}
|
66 |
|
inc/user/abstract-lp-user.php
CHANGED
@@ -110,8 +110,12 @@ if ( ! class_exists( 'LP_Abstract_User' ) ) {
|
|
110 |
$course_id = get_the_ID();
|
111 |
}
|
112 |
|
113 |
-
|
114 |
-
|
|
|
|
|
|
|
|
|
115 |
$result = $this->_curd->read_course( $this->get_id(), $course_id );
|
116 |
|
117 |
if ( $result ) {
|
@@ -721,18 +725,6 @@ if ( ! class_exists( 'LP_Abstract_User' ) ) {
|
|
721 |
}
|
722 |
|
723 |
return false;
|
724 |
-
$item = false;
|
725 |
-
if ( false !== ( $items = LP_Object_Cache::get( 'course-item-' . $this->get_id() . '-' . $course_id . '-' . $item_id,
|
726 |
-
'learn-press/user-course-items' ) ) ) {
|
727 |
-
// Only get status of a newest record.
|
728 |
-
if ( $last ) {
|
729 |
-
$item = reset( $items );
|
730 |
-
} else {
|
731 |
-
$item = $items;
|
732 |
-
}
|
733 |
-
}
|
734 |
-
|
735 |
-
return $item;
|
736 |
}
|
737 |
|
738 |
/**
|
@@ -779,8 +771,8 @@ if ( ! class_exists( 'LP_Abstract_User' ) ) {
|
|
779 |
}
|
780 |
|
781 |
$status = false;
|
782 |
-
|
783 |
-
if (
|
784 |
$status = $item['status'];
|
785 |
}
|
786 |
|
@@ -1800,6 +1792,7 @@ if ( ! class_exists( 'LP_Abstract_User' ) ) {
|
|
1800 |
*/
|
1801 |
public function has_enrolled_course( $course_id, $force = false ) {
|
1802 |
$enrolled = $this->get_course_access_level( $course_id ) >= LP_COURSE_ACCESS_LEVEL_60;
|
|
|
1803 |
/**
|
1804 |
* @since 3.0.0
|
1805 |
*/
|
110 |
$course_id = get_the_ID();
|
111 |
}
|
112 |
|
113 |
+
$object_course_data = LP_Object_Cache::get(
|
114 |
+
'course-' . $this->get_id() . '-' . $course_id,
|
115 |
+
'learn-press/user-item-object-courses'
|
116 |
+
);
|
117 |
+
|
118 |
+
if ( false === $object_course_data ) {
|
119 |
$result = $this->_curd->read_course( $this->get_id(), $course_id );
|
120 |
|
121 |
if ( $result ) {
|
725 |
}
|
726 |
|
727 |
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
728 |
}
|
729 |
|
730 |
/**
|
771 |
}
|
772 |
|
773 |
$status = false;
|
774 |
+
$item = $this->get_item( $item_id, $course_id, true );
|
775 |
+
if ( $item ) {
|
776 |
$status = $item['status'];
|
777 |
}
|
778 |
|
1792 |
*/
|
1793 |
public function has_enrolled_course( $course_id, $force = false ) {
|
1794 |
$enrolled = $this->get_course_access_level( $course_id ) >= LP_COURSE_ACCESS_LEVEL_60;
|
1795 |
+
|
1796 |
/**
|
1797 |
* @since 3.0.0
|
1798 |
*/
|
learnpress.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin URI: http://thimpress.com/learnpress
|
5 |
* Description: LearnPress is a WordPress complete solution for creating a Learning Management System (LMS). It can help you to create courses, lessons and quizzes.
|
6 |
* Author: ThimPress
|
7 |
-
* Version: 3.2.8.
|
8 |
* Author URI: http://thimpress.com
|
9 |
* Requires at least: 5.3
|
10 |
* Tested up to: 5.6
|
4 |
* Plugin URI: http://thimpress.com/learnpress
|
5 |
* Description: LearnPress is a WordPress complete solution for creating a Learning Management System (LMS). It can help you to create courses, lessons and quizzes.
|
6 |
* Author: ThimPress
|
7 |
+
* Version: 3.2.8.7
|
8 |
* Author URI: http://thimpress.com
|
9 |
* Requires at least: 5.3
|
10 |
* Tested up to: 5.6
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: elearning, education, course, lms, learning management system
|
|
5 |
Requires at least: 5.3
|
6 |
Tested up to: 5.6
|
7 |
Requires PHP: 7.0
|
8 |
-
Stable tag: 3.2.8.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -197,6 +197,17 @@ https://www.transifex.com/projects/p/learnpress/
|
|
197 |
|
198 |
== Changelog ==
|
199 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
= 3.2.8.5 =
|
201 |
~ Fix header lesson style error on iphone
|
202 |
~ Fix scrollbar error some themes
|
5 |
Requires at least: 5.3
|
6 |
Tested up to: 5.6
|
7 |
Requires PHP: 7.0
|
8 |
+
Stable tag: 3.2.8.7
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
197 |
|
198 |
== Changelog ==
|
199 |
|
200 |
+
= 3.2.8.7 =
|
201 |
+
~ Fix: start quiz 404
|
202 |
+
~ Optimize
|
203 |
+
|
204 |
+
= 3.2.8.6 =
|
205 |
+
~ Fix minor bug
|
206 |
+
~ Optimize enroll course
|
207 |
+
~ Add cache get items' course
|
208 |
+
~ Add reset progress by course_id
|
209 |
+
~ Fix "Enroll Button" is not appearing when disable "Auto Enroll" option
|
210 |
+
|
211 |
= 3.2.8.5 =
|
212 |
~ Fix header lesson style error on iphone
|
213 |
~ Fix scrollbar error some themes
|
templates/single-course/content-learning.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
-
* @version 3.0.
|
10 |
*/
|
11 |
|
12 |
/**
|
6 |
*
|
7 |
* @author ThimPress
|
8 |
* @package Learnpress/Templates
|
9 |
+
* @version 3.0.1
|
10 |
*/
|
11 |
|
12 |
/**
|
templates/single-course/content-protected.php
CHANGED
@@ -30,7 +30,7 @@ if ( ! isset( $block_by_check ) ) {
|
|
30 |
<?php
|
31 |
if ( ! is_user_logged_in() ) {
|
32 |
echo sprintf(
|
33 |
-
|
34 |
'This content is protected, please <a class="lp-link-login" href="%s">login</a> and enroll course to view this content!',
|
35 |
'learnpress'
|
36 |
),
|
30 |
<?php
|
31 |
if ( ! is_user_logged_in() ) {
|
32 |
echo sprintf(
|
33 |
+
__(
|
34 |
'This content is protected, please <a class="lp-link-login" href="%s">login</a> and enroll course to view this content!',
|
35 |
'learnpress'
|
36 |
),
|
templates/single-course/tabs/instructor.php
CHANGED
@@ -1,37 +1,37 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Template for displaying instructor of single course.
|
4 |
-
*
|
5 |
-
* This template can be overridden by copying it to yourtheme/learnpress/single-course/instructor.php.
|
6 |
-
*
|
7 |
-
* @author ThimPress
|
8 |
-
* @package Learnpress/Templates
|
9 |
-
* @version 3.0.0
|
10 |
-
*/
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Prevent loading this file directly
|
14 |
-
*/
|
15 |
-
defined( 'ABSPATH' ) || exit();
|
16 |
-
|
17 |
-
$course = LP_Global::course();
|
18 |
-
?>
|
19 |
-
|
20 |
-
<div class="course-author">
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
<?php do_action( 'learn-press/before-single-course-instructor' ); ?>
|
25 |
-
|
26 |
-
|
27 |
-
<?php echo $course->get_instructor()->get_profile_picture(); ?>
|
28 |
-
<?php echo $course->get_instructor_html(); ?>
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
<?php echo $course->get_author()->get_description(); ?>
|
33 |
-
|
34 |
-
|
35 |
-
<?php do_action( 'learn-press/after-single-course-instructor' ); ?>
|
36 |
-
|
37 |
-
</div>
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template for displaying instructor of single course.
|
4 |
+
*
|
5 |
+
* This template can be overridden by copying it to yourtheme/learnpress/single-course/instructor.php.
|
6 |
+
*
|
7 |
+
* @author ThimPress
|
8 |
+
* @package Learnpress/Templates
|
9 |
+
* @version 3.0.0
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Prevent loading this file directly
|
14 |
+
*/
|
15 |
+
defined( 'ABSPATH' ) || exit();
|
16 |
+
|
17 |
+
$course = LP_Global::course();
|
18 |
+
?>
|
19 |
+
|
20 |
+
<div class="course-author">
|
21 |
+
|
22 |
+
<h3><?php _e( 'Instructor', 'learnpress' ); ?></h3>
|
23 |
+
|
24 |
+
<?php do_action( 'learn-press/before-single-course-instructor' ); ?>
|
25 |
+
<div class="author-wrapper">
|
26 |
+
<div class="author-name">
|
27 |
+
<?php echo wp_kses_post( wpautop( $course->get_instructor()->get_profile_picture() ) ); ?>
|
28 |
+
<?php echo wp_kses_post( wpautop( $course->get_instructor_html() ) ); ?>
|
29 |
+
</div>
|
30 |
+
|
31 |
+
<div class="author-bio">
|
32 |
+
<?php echo wp_kses_post( wpautop( $course->get_author()->get_description() ) ); ?>
|
33 |
+
</div>
|
34 |
+
</div>
|
35 |
+
<?php do_action( 'learn-press/after-single-course-instructor' ); ?>
|
36 |
+
|
37 |
+
</div>
|