From e4365fd71baa01e4b93d6c8b6a7e91f1453c0856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=95=E6=96=B0=E6=B3=A2?= <5324739+love_vue@user.noreply.gitee.com> Date: Thu, 25 Mar 2021 21:07:43 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8feat:=20=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E8=84=9A=E6=89=8B=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .browserslistrc | 2 + .editorconfig | 14 + .env.development | 4 + .env.production | 4 + .env.staging | 4 + .eslintignore | 5 + .eslintrc.js | 261 + .gitignore | 36 +- .postcssrc.js | 13 + .prettierrc | 24 + README.md | 115 +- babel.config.js | 22 + package.json | 42 + public/index.html | 34 + public/lib/axios.min.js | 9 + public/lib/dayjs.min.js | 380 ++ public/lib/localforage.min.js | 1860 ++++++ public/lib/lodash.min.js | 4183 +++++++++++++ public/lib/vue-router.min.js | 1409 +++++ public/lib/vue.runtime.development.js | 8262 +++++++++++++++++++++++++ public/lib/vue.runtime.min.js | 6 + public/lib/vue.runtime.production.js | 3552 +++++++++++ public/lib/vuex.min.js | 6 + public/static/extraConfig.json | 3 + src/App.vue | 11 + src/assets/css/index.scss | 13 + src/assets/css/mixin.scss | 36 + src/assets/css/variables.scss | 3 + src/components/TabBar.vue | 54 + src/components/layouts/index.vue | 48 + src/filters/filter.js | 37 + src/filters/index.js | 7 + src/main.js | 80 + src/plugins/vant.js | 7 + src/router/index.js | 12 + src/router/modules/home.js | 30 + src/services/CallBack.js | 33 + src/services/Dict.js | 10 + src/store/getters.js | 4 + src/store/index.js | 17 + src/store/modules/app.js | 19 + src/utils/fnMixins.js | 346 ++ src/utils/index.js | 110 + src/utils/validate.js | 20 + src/views/home/about.vue | 22 + src/views/home/index.vue | 25 + vue.config.js | 173 + 47 files changed, 21327 insertions(+), 40 deletions(-) create mode 100644 .browserslistrc create mode 100644 .editorconfig create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .env.staging create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .postcssrc.js create mode 100644 .prettierrc create mode 100644 babel.config.js create mode 100644 package.json create mode 100644 public/index.html create mode 100644 public/lib/axios.min.js create mode 100644 public/lib/dayjs.min.js create mode 100644 public/lib/localforage.min.js create mode 100644 public/lib/lodash.min.js create mode 100644 public/lib/vue-router.min.js create mode 100644 public/lib/vue.runtime.development.js create mode 100644 public/lib/vue.runtime.min.js create mode 100644 public/lib/vue.runtime.production.js create mode 100644 public/lib/vuex.min.js create mode 100644 public/static/extraConfig.json create mode 100644 src/App.vue create mode 100644 src/assets/css/index.scss create mode 100644 src/assets/css/mixin.scss create mode 100644 src/assets/css/variables.scss create mode 100644 src/components/TabBar.vue create mode 100644 src/components/layouts/index.vue create mode 100644 src/filters/filter.js create mode 100644 src/filters/index.js create mode 100644 src/main.js create mode 100644 src/plugins/vant.js create mode 100644 src/router/index.js create mode 100644 src/router/modules/home.js create mode 100644 src/services/CallBack.js create mode 100644 src/services/Dict.js create mode 100644 src/store/getters.js create mode 100644 src/store/index.js create mode 100644 src/store/modules/app.js create mode 100644 src/utils/fnMixins.js create mode 100644 src/utils/index.js create mode 100644 src/utils/validate.js create mode 100644 src/views/home/about.vue create mode 100644 src/views/home/index.vue create mode 100644 vue.config.js diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..d6471a3 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,2 @@ +> 1% +last 2 versions diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ea6e20f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..9e26dad --- /dev/null +++ b/.env.development @@ -0,0 +1,4 @@ +NODE_ENV='development' +# must start with VUE_APP_ +VUE_APP_ENV = 'development' + diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..4b2d764 --- /dev/null +++ b/.env.production @@ -0,0 +1,4 @@ +NODE_ENV='production' +# must start with VUE_APP_ +VUE_APP_ENV = 'production' + \ No newline at end of file diff --git a/.env.staging b/.env.staging new file mode 100644 index 0000000..92749e3 --- /dev/null +++ b/.env.staging @@ -0,0 +1,4 @@ +NODE_ENV='production' +# must start with VUE_APP_ +VUE_APP_ENV = 'staging' + diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..f81072d --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +build/*.js +src/assets +src/config +public +dist diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..442b8ca --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,261 @@ +module.exports = { + root: true, + env: { + node: true + }, + extends: ['plugin:vue/essential', 'eslint:recommended'], + parserOptions: { + parser: 'babel-eslint' + }, + rules: { + 'vue/max-attributes-per-line': [ + 2, + { + singleline: 10, + multiline: { + max: 1, + allowFirstLine: false + } + } + ], + 'vue/singleline-html-element-content-newline': 'off', + 'vue/multiline-html-element-content-newline': 'off', + 'vue/name-property-casing': ['error', 'PascalCase'], + 'vue/no-v-html': 'off', + 'accessor-pairs': 2, + 'arrow-spacing': [ + 2, + { + before: true, + after: true + } + ], + 'block-spacing': [2, 'always'], + 'brace-style': [ + 2, + '1tbs', + { + allowSingleLine: true + } + ], + camelcase: [ + 0, + { + properties: 'always' + } + ], + 'comma-dangle': [2, 'never'], + 'comma-spacing': [ + 2, + { + before: false, + after: true + } + ], + 'comma-style': [2, 'last'], + 'constructor-super': 2, + curly: [2, 'multi-line'], + 'dot-location': [2, 'property'], + 'eol-last': 2, + eqeqeq: ['error', 'always', { null: 'ignore' }], + 'generator-star-spacing': [ + 2, + { + before: true, + after: true + } + ], + 'handle-callback-err': [2, '^(err|error)$'], + indent: [ + 2, + 2, + { + SwitchCase: 1 + } + ], + 'jsx-quotes': [2, 'prefer-single'], + 'key-spacing': [ + 2, + { + beforeColon: false, + afterColon: true + } + ], + 'keyword-spacing': [ + 2, + { + before: true, + after: true + } + ], + 'new-cap': [ + 2, + { + newIsCap: true, + capIsNew: false + } + ], + 'new-parens': 2, + 'no-array-constructor': 2, + 'no-caller': 2, + 'no-console': 'off', + 'no-class-assign': 2, + 'no-cond-assign': 2, + 'no-const-assign': 2, + 'no-control-regex': 0, + 'no-delete-var': 2, + 'no-dupe-args': 2, + 'no-dupe-class-members': 2, + 'no-dupe-keys': 2, + 'no-duplicate-case': 2, + 'no-empty-character-class': 2, + 'no-empty-pattern': 2, + 'no-eval': 2, + 'no-ex-assign': 2, + 'no-extend-native': 2, + 'no-extra-bind': 2, + 'no-extra-boolean-cast': 2, + 'no-extra-parens': [2, 'functions'], + 'no-fallthrough': 2, + 'no-floating-decimal': 2, + 'no-func-assign': 2, + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], + 'no-invalid-regexp': 2, + 'no-irregular-whitespace': 2, + 'no-iterator': 2, + 'no-label-var': 2, + 'no-labels': [ + 2, + { + allowLoop: false, + allowSwitch: false + } + ], + 'no-lone-blocks': 2, + 'no-mixed-spaces-and-tabs': 2, + 'no-multi-spaces': 2, + 'no-multi-str': 2, + 'no-multiple-empty-lines': [ + 2, + { + max: 1 + } + ], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 2, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, + 'no-unneeded-ternary': [ + 2, + { + defaultAssignment: false + } + ], + 'no-unreachable': 2, + 'no-unsafe-finally': 2, + 'no-unused-vars': [ + 2, + { + vars: 'all', + args: 'none' + } + ], + 'no-useless-call': 2, + 'no-useless-computed-key': 2, + 'no-useless-constructor': 2, + 'no-useless-escape': 0, + 'no-whitespace-before-property': 2, + 'no-with': 2, + 'one-var': [ + 2, + { + initialized: 'never' + } + ], + 'operator-linebreak': [ + 2, + 'after', + { + overrides: { + '?': 'before', + ':': 'before' + } + } + ], + 'padded-blocks': [2, 'never'], + quotes: [ + 2, + 'single', + { + avoidEscape: true, + allowTemplateLiterals: true + } + ], + semi: [2, 'never'], + 'semi-spacing': [ + 2, + { + before: false, + after: true + } + ], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [ + 2, + { + words: true, + nonwords: false + } + ], + 'spaced-comment': [ + 2, + 'always', + { + markers: ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + } + ], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + yoda: [2, 'never'], + 'prefer-const': 2, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': [ + 2, + 'always', + { + objectsInObjects: false + } + ], + 'array-bracket-spacing': [2, 'never'] + } +} diff --git a/.gitignore b/.gitignore index 5d947ca..fdc3bc3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,24 @@ -# Build and Release Folders -bin-debug/ -bin-release/ -[Oo]bj/ -[Bb]in/ +.DS_Store +node_modules +/dist +/docs +# local env files +.env.local +.env.*.local -# Other files and folders -.settings/ +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* -# Executables -*.swf -*.air -*.ipa -*.apk +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? -# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties` -# should NOT be excluded as they contain compiler settings and other important -# information for Eclipse / Flash Builder. +package-lock.json +yarn.lock \ No newline at end of file diff --git a/.postcssrc.js b/.postcssrc.js new file mode 100644 index 0000000..1b534ef --- /dev/null +++ b/.postcssrc.js @@ -0,0 +1,13 @@ +// https://github.com/michael-ciniawsky/postcss-load-config +module.exports = { + plugins: { + autoprefixer: { + overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8'] + }, + 'postcss-pxtorem': { + rootValue: 37.5, + propList: ['*'], + //selectorBlackList: ['van-'] + } + } +} diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..26e9376 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,24 @@ +{ + "printWidth": 120, + "tabWidth": 2, + "singleQuote": true, + "trailingComma": "none", + "semi": false, + "wrap_line_length": 120, + "wrap_attributes": "auto", + "proseWrap": "always", + "arrowParens": "avoid", + "bracketSpacing": true, + "jsxBracketSameLine": true, + "useTabs": false, + "eslintIntegration":true, + "overrides": [ + { + "files": ".prettierrc", + "options": { + "parser": "json" + } + } + ], + "endOfLine": "auto" +} diff --git a/README.md b/README.md index 69c0e4e..c9526ef 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,102 @@ -# vant-vue移动端脚手架 + +#### 开发说明 -#### 介绍 -基于vant的vue移动端脚手架 +--- -#### 软件架构 -软件架构说明 +##### 项目目录 +``` +├── public ------------------------------ 静态文件夹 +| ├── images --------------------------- 静态图片 +| ├── lib ------------------------------ 工具库 +| ├── static --------------------------- 第三方页面 +| ├── extraConfig.json ----------------- 部署配置项 +| └── index.html ----------------------- index.html +├── node_modules ------------------------ 依赖 +├── src --------------------------------- 开发目录 +| ├── assets --------------------------- 资源目录 +| | ├── config ------------------------ 项目插件配置 +| | ├── images ------------------------ 图片(无需动态替换) +| | └── css --------------------------- 共用样式 +| ├── components ----------------------- 组件库 +| | ├── layouts ----------------------- 布局 +| | | ├── index.vue ------------------ 整体布局 +| | └── xxx.vue ----------------------- 其他组件 +| ├── store ---------------------------- vuex配置 +| ├── utils ---------------------------- 公共方法 +| ├── plugins -------------------------- vant插件按需全局引入 +| ├── filers --------------------------- filers +| ├── router --------------------------- vue-router +| | └── modules +| | └── index.js +| ├── services ------------------------- 接口 +| | ├── Callback.js ------------------- 统一接口回调 +| | ├── xx.js ------------------------- 各种api +| ├── views ---------------------------- 业务视图(按模块命名) +| ├── App.vue +| └── main.js +├── .env -------------------------------- 本地环境变量配置 +├── .eslintrc.js ------------------------ eslint配置 +├── .eslintignore ----------------------- eslint忽略文件 +├── .gitgnore --------------------------- git忽略文件 +├── .postcssrc.js ----------------------- rem适配配置 +├── .prettierrc ------------------------- pettier规则 +├── .babel.config.js -------------------- babel配置 +├── yarn.lock --------------------------- yarn依赖版本锁定文件 +├── package-lock.json ------------------- npm依赖版本锁定文件 +├── package.json +├── vue.config.js ----------------------- webpack配置 +└── README.md +``` -#### 安装教程 +##### 环境变量配置说明 -1. xxxx -2. xxxx -3. xxxx -#### 使用说明 +``` +VUE_APP_DEBUG=true // 调试模式配置,生产环境设为false +VUE_APP_API_SERVER= // 接口地址 +... +``` -1. xxxx -2. xxxx -3. xxxx +_注意:环境变量配置的增删改由前端团队评审确定之后方可使用,切勿私自添加,通过之后同步至运维团队,避免部署因环境变量信息不对称发生问题_ -#### 参与贡献 +##### extraconfig 部署配置 -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request +``` +// json format +{ + "VUE_APP_SERVER":"" +} +``` +_注意:检查运维部署至现场的配置文件格式,避免因格式问题造成低级错误_ -#### 特技 +#### 开始开发 + +##### git 拉取 + + +1. 开发分支: dev +2. 自己的分支: 例如 yourname/dev +3. 合并流程: 获取主开发分支 dev、将 主开发分支 dev 合并到自己的 dev +4. 提交流程:提交自己的 dev、到 git 网页提交合并申请 +5. 注意:每次改自己代码之前,先将 主分支 dev 拉取合并,不然冲突太多 + +##### 本地项目启动 + +``` +1. yarn install +2. yarn serve:dev +``` + +##### vuex + +默认使用 vuex-persistedstate 进行持久化存储 -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..fc13e17 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,22 @@ +// 获取 VUE_APP_ENV 非 NODE_ENV,测试环境依然 console +const IS_PROD = ['production', 'prod'].includes(process.env.VUE_APP_ENV) +const plugins = [ + [ + 'import', + { + libraryName: 'vant', + libraryDirectory: 'es', + style: true + }, + 'vant' + ] +] +// 去除 console.log +if (IS_PROD) { + plugins.push('transform-remove-console') +} + +module.exports = { + presets: [['@vue/cli-plugin-babel/preset', { useBuiltIns: 'usage', corejs: 3 }]], + plugins +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..8246cbb --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "vue-h5-template", + "version": "2.1.0", + "description": "A vue h5 template with Vant UI", + "author": "Sunnie ", + "private": true, + "scripts": { + "serve:dev": "vue-cli-service serve --open", + "build": "vue-cli-service build", + "stage": "vue-cli-service build --mode staging", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "await-to-js": "2.1.1", + "core-js": "^3.6.4", + "eruda": "^2.4.1", + "lib-flexible": "^0.3.2", + "qs": "6.7.0", + "regenerator-runtime": "^0.13.5", + "vant": "^2.10.2", + "vue": "^2.6.11", + "vuex-persistedstate": "3.0.1" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-plugin-eslint": "~4.5.0", + "@vue/cli-plugin-router": "~4.5.0", + "@vue/cli-plugin-vuex": "~4.5.0", + "@vue/cli-service": "~4.5.0", + "babel-eslint": "^10.1.0", + "babel-plugin-import": "^1.13.0", + "babel-plugin-transform-remove-console": "^6.9.4", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^6.2.2", + "node-sass": "^4.14.1", + "postcss-pxtorem": "^5.1.1", + "sass-loader": "^8.0.2", + "script-ext-html-webpack-plugin": "^2.1.4", + "vue-template-compiler": "^2.6.11", + "webpack-bundle-analyzer": "^3.8.0" + } +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..3cca26b --- /dev/null +++ b/public/index.html @@ -0,0 +1,34 @@ + + + + + + + + + <%= webpackConfig.name %> + + + +
+ + + + + + + + + + + + diff --git a/public/lib/axios.min.js b/public/lib/axios.min.js new file mode 100644 index 0000000..69cc188 --- /dev/null +++ b/public/lib/axios.min.js @@ -0,0 +1,9 @@ +/* axios v0.18.0 | (c) 2018 by Matt Zabriskie */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){var t=new s(e),n=i(s.prototype.request,t);return o.extend(n,s.prototype,t),o.extend(n,t),n}var o=n(2),i=n(3),s=n(5),u=n(6),a=r(u);a.Axios=s,a.create=function(e){return r(o.merge(u,e))},a.Cancel=n(23),a.CancelToken=n(24),a.isCancel=n(20),a.all=function(e){return Promise.all(e)},a.spread=n(25),e.exports=a,e.exports.default=a},function(e,t,n){"use strict";function r(e){return"[object Array]"===R.call(e)}function o(e){return"[object ArrayBuffer]"===R.call(e)}function i(e){return"undefined"!=typeof FormData&&e instanceof FormData}function s(e){var t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer}function u(e){return"string"==typeof e}function a(e){return"number"==typeof e}function c(e){return"undefined"==typeof e}function f(e){return null!==e&&"object"==typeof e}function p(e){return"[object Date]"===R.call(e)}function d(e){return"[object File]"===R.call(e)}function l(e){return"[object Blob]"===R.call(e)}function h(e){return"[object Function]"===R.call(e)}function m(e){return f(e)&&h(e.pipe)}function y(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams}function w(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function g(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function v(e,t){if(null!==e&&"undefined"!=typeof e)if("object"!=typeof e&&(e=[e]),r(e))for(var n=0,o=e.length;n + * @license MIT + */ +e.exports=function(e){return null!=e&&(n(e)||r(e)||!!e._isBuffer)}},function(e,t,n){"use strict";function r(e){this.defaults=e,this.interceptors={request:new s,response:new s}}var o=n(6),i=n(2),s=n(17),u=n(18);r.prototype.request=function(e){"string"==typeof e&&(e=i.merge({url:arguments[0]},arguments[1])),e=i.merge(o,{method:"get"},this.defaults,e),e.method=e.method.toLowerCase();var t=[u,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},i.forEach(["delete","get","head","options"],function(e){r.prototype[e]=function(t,n){return this.request(i.merge(n||{},{method:e,url:t}))}}),i.forEach(["post","put","patch"],function(e){r.prototype[e]=function(t,n,r){return this.request(i.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=r},function(e,t,n){"use strict";function r(e,t){!i.isUndefined(e)&&i.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function o(){var e;return"undefined"!=typeof XMLHttpRequest?e=n(8):"undefined"!=typeof process&&(e=n(8)),e}var i=n(2),s=n(7),u={"Content-Type":"application/x-www-form-urlencoded"},a={adapter:o(),transformRequest:[function(e,t){return s(t,"Content-Type"),i.isFormData(e)||i.isArrayBuffer(e)||i.isBuffer(e)||i.isStream(e)||i.isFile(e)||i.isBlob(e)?e:i.isArrayBufferView(e)?e.buffer:i.isURLSearchParams(e)?(r(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):i.isObject(e)?(r(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};a.headers={common:{Accept:"application/json, text/plain, */*"}},i.forEach(["delete","get","head"],function(e){a.headers[e]={}}),i.forEach(["post","put","patch"],function(e){a.headers[e]=i.merge(u)}),e.exports=a},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(2),o=n(9),i=n(12),s=n(13),u=n(14),a=n(10),c="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(15);e.exports=function(e){return new Promise(function(t,f){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var l=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in l||u(e.url)||(l=new window.XDomainRequest,h="onload",m=!0,l.onprogress=function(){},l.ontimeout=function(){}),e.auth){var y=e.auth.username||"",w=e.auth.password||"";d.Authorization="Basic "+c(y+":"+w)}if(l.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,l[h]=function(){if(l&&(4===l.readyState||m)&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in l?s(l.getAllResponseHeaders()):null,r=e.responseType&&"text"!==e.responseType?l.response:l.responseText,i={data:r,status:1223===l.status?204:l.status,statusText:1223===l.status?"No Content":l.statusText,headers:n,config:e,request:l};o(t,f,i),l=null}},l.onerror=function(){f(a("Network Error",e,null,l)),l=null},l.ontimeout=function(){f(a("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",l)),l=null},r.isStandardBrowserEnv()){var g=n(16),v=(e.withCredentials||u(e.url))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;v&&(d[e.xsrfHeaderName]=v)}if("setRequestHeader"in l&&r.forEach(d,function(e,t){"undefined"==typeof p&&"content-type"===t.toLowerCase()?delete d[t]:l.setRequestHeader(t,e)}),e.withCredentials&&(l.withCredentials=!0),e.responseType)try{l.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&l.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){l&&(l.abort(),f(e),l=null)}),void 0===p&&(p=null),l.send(p)})}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";var r=n(11);e.exports=function(e,t,n,o,i){var s=new Error(e);return r(s,t,n,o,i)}},function(e,t){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var o=n(2);e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(o.isURLSearchParams(t))i=t.toString();else{var s=[];o.forEach(t,function(e,t){null!==e&&"undefined"!=typeof e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),s.push(r(t)+"="+r(e))}))}),i=s.join("&")}return i&&(e+=(e.indexOf("?")===-1?"?":"&")+i),e}},function(e,t,n){"use strict";var r=n(2),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,s={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(s[t]&&o.indexOf(t)>=0)return;"set-cookie"===t?s[t]=(s[t]?s[t]:[]).concat([n]):s[t]=s[t]?s[t]+", "+n:n}}),s):s}},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){function e(e){var t=e;return n&&(o.setAttribute("href",t),t=o.href),o.setAttribute("href",t),{href:o.href,protocol:o.protocol?o.protocol.replace(/:$/,""):"",host:o.host,search:o.search?o.search.replace(/^\?/,""):"",hash:o.hash?o.hash.replace(/^#/,""):"",hostname:o.hostname,port:o.port,pathname:"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname}}var t,n=/(msie|trident)/i.test(navigator.userAgent),o=document.createElement("a");return t=e(window.location.href),function(n){var o=r.isString(n)?e(n):n;return o.protocol===t.protocol&&o.host===t.host}}():function(){return function(){return!0}}()},function(e,t){"use strict";function n(){this.message="String contains an invalid character"}function r(e){for(var t,r,i=String(e),s="",u=0,a=o;i.charAt(0|u)||(a="=",u%1);s+=a.charAt(63&t>>8-u%1*8)){if(r=i.charCodeAt(u+=.75),r>255)throw new n;t=t<<8|r}return s}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.prototype=new Error,n.prototype.code=5,n.prototype.name="InvalidCharacterError",e.exports=r},function(e,t,n){"use strict";var r=n(2);e.exports=r.isStandardBrowserEnv()?function(){return{write:function(e,t,n,o,i,s){var u=[];u.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&u.push("expires="+new Date(n).toGMTString()),r.isString(o)&&u.push("path="+o),r.isString(i)&&u.push("domain="+i),s===!0&&u.push("secure"),document.cookie=u.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},function(e,t,n){"use strict";function r(){this.handlers=[]}var o=n(2);r.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},r.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},r.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=r},function(e,t,n){"use strict";function r(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var o=n(2),i=n(19),s=n(20),u=n(6),a=n(21),c=n(22);e.exports=function(e){r(e),e.baseURL&&!a(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=i(e.data,e.headers,e.transformRequest),e.headers=o.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),o.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||u.adapter;return t(e).then(function(t){return r(e),t.data=i(t.data,t.headers,e.transformResponse),t},function(t){return s(t)||(r(e),t&&t.response&&(t.response.data=i(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},function(e,t,n){"use strict";function r(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new o(e),t(n.reason))})}var o=n(23);r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},function(e,t){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}}])}); +//# sourceMappingURL=axios.min.map \ No newline at end of file diff --git a/public/lib/dayjs.min.js b/public/lib/dayjs.min.js new file mode 100644 index 0000000..e69a491 --- /dev/null +++ b/public/lib/dayjs.min.js @@ -0,0 +1,380 @@ +!(function (t, n) { + 'object' == typeof exports && 'undefined' != typeof module + ? (module.exports = n()) + : 'function' == typeof define && define.amd + ? define(n) + : (t.dayjs = n()) +})(this, function () { + 'use strict' + var t = 'millisecond', + n = 'second', + e = 'minute', + r = 'hour', + i = 'day', + s = 'week', + u = 'month', + o = 'quarter', + a = 'year', + h = /^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/, + f = /\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, + c = function (t, n, e) { + var r = String(t) + return !r || r.length >= n ? t : '' + Array(n + 1 - r.length).join(e) + t + }, + d = { + s: c, + z: function (t) { + var n = -t.utcOffset(), + e = Math.abs(n), + r = Math.floor(e / 60), + i = e % 60 + return (n <= 0 ? '+' : '-') + c(r, 2, '0') + ':' + c(i, 2, '0') + }, + m: function (t, n) { + var e = 12 * (n.year() - t.year()) + (n.month() - t.month()), + r = t.clone().add(e, u), + i = n - r < 0, + s = t.clone().add(e + (i ? -1 : 1), u) + return Number(-(e + (n - r) / (i ? r - s : s - r)) || 0) + }, + a: function (t) { + return t < 0 ? Math.ceil(t) || 0 : Math.floor(t) + }, + p: function (h) { + return ( + { M: u, y: a, w: s, d: i, D: 'date', h: r, m: e, s: n, ms: t, Q: o }[h] || + String(h || '') + .toLowerCase() + .replace(/s$/, '') + ) + }, + u: function (t) { + return void 0 === t + } + }, + $ = { + name: 'en', + weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), + months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_') + }, + l = 'en', + m = {} + m[l] = $ + var y = function (t) { + return t instanceof v + }, + M = function (t, n, e) { + var r + if (!t) return l + if ('string' == typeof t) m[t] && (r = t), n && ((m[t] = n), (r = t)) + else { + var i = t.name + ;(m[i] = t), (r = i) + } + return e || (l = r), r + }, + g = function (t, n, e) { + if (y(t)) return t.clone() + var r = n ? ('string' == typeof n ? { format: n, pl: e } : n) : {} + return (r.date = t), new v(r) + }, + D = d + ;(D.l = M), + (D.i = y), + (D.w = function (t, n) { + return g(t, { locale: n.$L, utc: n.$u, $offset: n.$offset }) + }) + var v = (function () { + function c(t) { + ;(this.$L = this.$L || M(t.locale, null, !0)), this.parse(t) + } + var d = c.prototype + return ( + (d.parse = function (t) { + ;(this.$d = (function (t) { + var n = t.date, + e = t.utc + if (null === n) return new Date(NaN) + if (D.u(n)) return new Date() + if (n instanceof Date) return new Date(n) + if ('string' == typeof n && !/Z$/i.test(n)) { + var r = n.match(h) + if (r) + return e + ? new Date(Date.UTC(r[1], r[2] - 1, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, r[7] || 0)) + : new Date(r[1], r[2] - 1, r[3] || 1, r[4] || 0, r[5] || 0, r[6] || 0, r[7] || 0) + } + return new Date(n) + })(t)), + this.init() + }), + (d.init = function () { + var t = this.$d + ;(this.$y = t.getFullYear()), + (this.$M = t.getMonth()), + (this.$D = t.getDate()), + (this.$W = t.getDay()), + (this.$H = t.getHours()), + (this.$m = t.getMinutes()), + (this.$s = t.getSeconds()), + (this.$ms = t.getMilliseconds()) + }), + (d.$utils = function () { + return D + }), + (d.isValid = function () { + return !('Invalid Date' === this.$d.toString()) + }), + (d.isSame = function (t, n) { + var e = g(t) + return this.startOf(n) <= e && e <= this.endOf(n) + }), + (d.isAfter = function (t, n) { + return g(t) < this.startOf(n) + }), + (d.isBefore = function (t, n) { + return this.endOf(n) < g(t) + }), + (d.$g = function (t, n, e) { + return D.u(t) ? this[n] : this.set(e, t) + }), + (d.year = function (t) { + return this.$g(t, '$y', a) + }), + (d.month = function (t) { + return this.$g(t, '$M', u) + }), + (d.day = function (t) { + return this.$g(t, '$W', i) + }), + (d.date = function (t) { + return this.$g(t, '$D', 'date') + }), + (d.hour = function (t) { + return this.$g(t, '$H', r) + }), + (d.minute = function (t) { + return this.$g(t, '$m', e) + }), + (d.second = function (t) { + return this.$g(t, '$s', n) + }), + (d.millisecond = function (n) { + return this.$g(n, '$ms', t) + }), + (d.unix = function () { + return Math.floor(this.valueOf() / 1e3) + }), + (d.valueOf = function () { + return this.$d.getTime() + }), + (d.startOf = function (t, o) { + var h = this, + f = !!D.u(o) || o, + c = D.p(t), + d = function (t, n) { + var e = D.w(h.$u ? Date.UTC(h.$y, n, t) : new Date(h.$y, n, t), h) + return f ? e : e.endOf(i) + }, + $ = function (t, n) { + return D.w(h.toDate()[t].apply(h.toDate(), (f ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(n)), h) + }, + l = this.$W, + m = this.$M, + y = this.$D, + M = 'set' + (this.$u ? 'UTC' : '') + switch (c) { + case a: + return f ? d(1, 0) : d(31, 11) + case u: + return f ? d(1, m) : d(0, m + 1) + case s: + var g = this.$locale().weekStart || 0, + v = (l < g ? l + 7 : l) - g + return d(f ? y - v : y + (6 - v), m) + case i: + case 'date': + return $(M + 'Hours', 0) + case r: + return $(M + 'Minutes', 1) + case e: + return $(M + 'Seconds', 2) + case n: + return $(M + 'Milliseconds', 3) + default: + return this.clone() + } + }), + (d.endOf = function (t) { + return this.startOf(t, !1) + }), + (d.$set = function (s, o) { + var h, + f = D.p(s), + c = 'set' + (this.$u ? 'UTC' : ''), + d = ((h = {}), + (h[i] = c + 'Date'), + (h.date = c + 'Date'), + (h[u] = c + 'Month'), + (h[a] = c + 'FullYear'), + (h[r] = c + 'Hours'), + (h[e] = c + 'Minutes'), + (h[n] = c + 'Seconds'), + (h[t] = c + 'Milliseconds'), + h)[f], + $ = f === i ? this.$D + (o - this.$W) : o + if (f === u || f === a) { + var l = this.clone().set('date', 1) + l.$d[d]($), l.init(), (this.$d = l.set('date', Math.min(this.$D, l.daysInMonth())).toDate()) + } else d && this.$d[d]($) + return this.init(), this + }), + (d.set = function (t, n) { + return this.clone().$set(t, n) + }), + (d.get = function (t) { + return this[D.p(t)]() + }), + (d.add = function (t, o) { + var h, + f = this + t = Number(t) + var c = D.p(o), + d = function (n) { + var e = g(f) + return D.w(e.date(e.date() + Math.round(n * t)), f) + } + if (c === u) return this.set(u, this.$M + t) + if (c === a) return this.set(a, this.$y + t) + if (c === i) return d(1) + if (c === s) return d(7) + var $ = ((h = {}), (h[e] = 6e4), (h[r] = 36e5), (h[n] = 1e3), h)[c] || 1, + l = this.$d.getTime() + t * $ + return D.w(l, this) + }), + (d.subtract = function (t, n) { + return this.add(-1 * t, n) + }), + (d.format = function (t) { + var n = this + if (!this.isValid()) return 'Invalid Date' + var e = t || 'YYYY-MM-DDTHH:mm:ssZ', + r = D.z(this), + i = this.$locale(), + s = this.$H, + u = this.$m, + o = this.$M, + a = i.weekdays, + h = i.months, + c = function (t, r, i, s) { + return (t && (t[r] || t(n, e))) || i[r].substr(0, s) + }, + d = function (t) { + return D.s(s % 12 || 12, t, '0') + }, + $ = + i.meridiem || + function (t, n, e) { + var r = t < 12 ? 'AM' : 'PM' + return e ? r.toLowerCase() : r + }, + l = { + YY: String(this.$y).slice(-2), + YYYY: this.$y, + M: o + 1, + MM: D.s(o + 1, 2, '0'), + MMM: c(i.monthsShort, o, h, 3), + MMMM: h[o] || h(this, e), + D: this.$D, + DD: D.s(this.$D, 2, '0'), + d: String(this.$W), + dd: c(i.weekdaysMin, this.$W, a, 2), + ddd: c(i.weekdaysShort, this.$W, a, 3), + dddd: a[this.$W], + H: String(s), + HH: D.s(s, 2, '0'), + h: d(1), + hh: d(2), + a: $(s, u, !0), + A: $(s, u, !1), + m: String(u), + mm: D.s(u, 2, '0'), + s: String(this.$s), + ss: D.s(this.$s, 2, '0'), + SSS: D.s(this.$ms, 3, '0'), + Z: r + } + return e.replace(f, function (t, n) { + return n || l[t] || r.replace(':', '') + }) + }), + (d.utcOffset = function () { + return 15 * -Math.round(this.$d.getTimezoneOffset() / 15) + }), + (d.diff = function (t, h, f) { + var c, + d = D.p(h), + $ = g(t), + l = 6e4 * ($.utcOffset() - this.utcOffset()), + m = this - $, + y = D.m(this, $) + return ( + (y = + ((c = {}), + (c[a] = y / 12), + (c[u] = y), + (c[o] = y / 3), + (c[s] = (m - l) / 6048e5), + (c[i] = (m - l) / 864e5), + (c[r] = m / 36e5), + (c[e] = m / 6e4), + (c[n] = m / 1e3), + c)[d] || m), + f ? y : D.a(y) + ) + }), + (d.daysInMonth = function () { + return this.endOf(u).$D + }), + (d.$locale = function () { + return m[this.$L] + }), + (d.locale = function (t, n) { + if (!t) return this.$L + var e = this.clone(), + r = M(t, n, !0) + return r && (e.$L = r), e + }), + (d.clone = function () { + return D.w(this.$d, this) + }), + (d.toDate = function () { + return new Date(this.valueOf()) + }), + (d.toJSON = function () { + return this.isValid() ? this.toISOString() : null + }), + (d.toISOString = function () { + return this.$d.toISOString() + }), + (d.toString = function () { + return this.$d.toUTCString() + }), + c + ) + })() + return ( + (g.prototype = v.prototype), + (g.extend = function (t, n) { + return t(n, v, g), g + }), + (g.locale = M), + (g.isDayjs = y), + (g.unix = function (t) { + return g(1e3 * t) + }), + (g.en = m[l]), + (g.Ls = m), + g + ) +}) diff --git a/public/lib/localforage.min.js b/public/lib/localforage.min.js new file mode 100644 index 0000000..13de363 --- /dev/null +++ b/public/lib/localforage.min.js @@ -0,0 +1,1860 @@ +/*! + localForage -- Offline Storage, Improved + Version 1.7.3 + https://localforage.github.io/localForage + (c) 2013-2017 Mozilla, Apache License 2.0 +*/ +!(function (a) { + if ('object' == typeof exports && 'undefined' != typeof module) module.exports = a() + else if ('function' == typeof define && define.amd) define([], a) + else { + var b + ;(b = + 'undefined' != typeof window + ? window + : 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : this), + (b.localforage = a()) + } +})(function () { + return (function a(b, c, d) { + function e(g, h) { + if (!c[g]) { + if (!b[g]) { + var i = 'function' == typeof require && require + if (!h && i) return i(g, !0) + if (f) return f(g, !0) + var j = new Error("Cannot find module '" + g + "'") + throw ((j.code = 'MODULE_NOT_FOUND'), j) + } + var k = (c[g] = { exports: {} }) + b[g][0].call( + k.exports, + function (a) { + var c = b[g][1][a] + return e(c || a) + }, + k, + k.exports, + a, + b, + c, + d + ) + } + return c[g].exports + } + for (var f = 'function' == typeof require && require, g = 0; g < d.length; g++) e(d[g]) + return e + })( + { + 1: [ + function (a, b, c) { + ;(function (a) { + 'use strict' + function c() { + k = !0 + for (var a, b, c = l.length; c; ) { + for (b = l, l = [], a = -1; ++a < c; ) b[a]() + c = l.length + } + k = !1 + } + function d(a) { + 1 !== l.push(a) || k || e() + } + var e, + f = a.MutationObserver || a.WebKitMutationObserver + if (f) { + var g = 0, + h = new f(c), + i = a.document.createTextNode('') + h.observe(i, { characterData: !0 }), + (e = function () { + i.data = g = ++g % 2 + }) + } else if (a.setImmediate || void 0 === a.MessageChannel) + e = + 'document' in a && 'onreadystatechange' in a.document.createElement('script') + ? function () { + var b = a.document.createElement('script') + ;(b.onreadystatechange = function () { + c(), (b.onreadystatechange = null), b.parentNode.removeChild(b), (b = null) + }), + a.document.documentElement.appendChild(b) + } + : function () { + setTimeout(c, 0) + } + else { + var j = new a.MessageChannel() + ;(j.port1.onmessage = c), + (e = function () { + j.port2.postMessage(0) + }) + } + var k, + l = [] + b.exports = d + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )) + }, + {} + ], + 2: [ + function (a, b, c) { + 'use strict' + function d() {} + function e(a) { + if ('function' != typeof a) throw new TypeError('resolver must be a function') + ;(this.state = s), (this.queue = []), (this.outcome = void 0), a !== d && i(this, a) + } + function f(a, b, c) { + ;(this.promise = a), + 'function' == typeof b && ((this.onFulfilled = b), (this.callFulfilled = this.otherCallFulfilled)), + 'function' == typeof c && ((this.onRejected = c), (this.callRejected = this.otherCallRejected)) + } + function g(a, b, c) { + o(function () { + var d + try { + d = b(c) + } catch (b) { + return p.reject(a, b) + } + d === a ? p.reject(a, new TypeError('Cannot resolve promise with itself')) : p.resolve(a, d) + }) + } + function h(a) { + var b = a && a.then + if (a && ('object' == typeof a || 'function' == typeof a) && 'function' == typeof b) + return function () { + b.apply(a, arguments) + } + } + function i(a, b) { + function c(b) { + f || ((f = !0), p.reject(a, b)) + } + function d(b) { + f || ((f = !0), p.resolve(a, b)) + } + function e() { + b(d, c) + } + var f = !1, + g = j(e) + 'error' === g.status && c(g.value) + } + function j(a, b) { + var c = {} + try { + ;(c.value = a(b)), (c.status = 'success') + } catch (a) { + ;(c.status = 'error'), (c.value = a) + } + return c + } + function k(a) { + return a instanceof this ? a : p.resolve(new this(d), a) + } + function l(a) { + var b = new this(d) + return p.reject(b, a) + } + function m(a) { + function b(a, b) { + function d(a) { + ;(g[b] = a), ++h !== e || f || ((f = !0), p.resolve(j, g)) + } + c.resolve(a).then(d, function (a) { + f || ((f = !0), p.reject(j, a)) + }) + } + var c = this + if ('[object Array]' !== Object.prototype.toString.call(a)) + return this.reject(new TypeError('must be an array')) + var e = a.length, + f = !1 + if (!e) return this.resolve([]) + for (var g = new Array(e), h = 0, i = -1, j = new this(d); ++i < e; ) b(a[i], i) + return j + } + function n(a) { + function b(a) { + c.resolve(a).then( + function (a) { + f || ((f = !0), p.resolve(h, a)) + }, + function (a) { + f || ((f = !0), p.reject(h, a)) + } + ) + } + var c = this + if ('[object Array]' !== Object.prototype.toString.call(a)) + return this.reject(new TypeError('must be an array')) + var e = a.length, + f = !1 + if (!e) return this.resolve([]) + for (var g = -1, h = new this(d); ++g < e; ) b(a[g]) + return h + } + var o = a(1), + p = {}, + q = ['REJECTED'], + r = ['FULFILLED'], + s = ['PENDING'] + ;(b.exports = e), + (e.prototype.catch = function (a) { + return this.then(null, a) + }), + (e.prototype.then = function (a, b) { + if (('function' != typeof a && this.state === r) || ('function' != typeof b && this.state === q)) + return this + var c = new this.constructor(d) + if (this.state !== s) { + g(c, this.state === r ? a : b, this.outcome) + } else this.queue.push(new f(c, a, b)) + return c + }), + (f.prototype.callFulfilled = function (a) { + p.resolve(this.promise, a) + }), + (f.prototype.otherCallFulfilled = function (a) { + g(this.promise, this.onFulfilled, a) + }), + (f.prototype.callRejected = function (a) { + p.reject(this.promise, a) + }), + (f.prototype.otherCallRejected = function (a) { + g(this.promise, this.onRejected, a) + }), + (p.resolve = function (a, b) { + var c = j(h, b) + if ('error' === c.status) return p.reject(a, c.value) + var d = c.value + if (d) i(a, d) + else { + ;(a.state = r), (a.outcome = b) + for (var e = -1, f = a.queue.length; ++e < f; ) a.queue[e].callFulfilled(b) + } + return a + }), + (p.reject = function (a, b) { + ;(a.state = q), (a.outcome = b) + for (var c = -1, d = a.queue.length; ++c < d; ) a.queue[c].callRejected(b) + return a + }), + (e.resolve = k), + (e.reject = l), + (e.all = m), + (e.race = n) + }, + { 1: 1 } + ], + 3: [ + function (a, b, c) { + ;(function (b) { + 'use strict' + 'function' != typeof b.Promise && (b.Promise = a(2)) + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )) + }, + { 2: 2 } + ], + 4: [ + function (a, b, c) { + 'use strict' + function d(a, b) { + if (!(a instanceof b)) throw new TypeError('Cannot call a class as a function') + } + function e() { + try { + if ('undefined' != typeof indexedDB) return indexedDB + if ('undefined' != typeof webkitIndexedDB) return webkitIndexedDB + if ('undefined' != typeof mozIndexedDB) return mozIndexedDB + if ('undefined' != typeof OIndexedDB) return OIndexedDB + if ('undefined' != typeof msIndexedDB) return msIndexedDB + } catch (a) { + return + } + } + function f() { + try { + if (!ua) return !1 + var a = + 'undefined' != typeof openDatabase && + /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && + !/Chrome/.test(navigator.userAgent) && + !/BlackBerry/.test(navigator.platform), + b = 'function' == typeof fetch && -1 !== fetch.toString().indexOf('[native code') + return (!a || b) && 'undefined' != typeof indexedDB && 'undefined' != typeof IDBKeyRange + } catch (a) { + return !1 + } + } + function g(a, b) { + ;(a = a || []), (b = b || {}) + try { + return new Blob(a, b) + } catch (f) { + if ('TypeError' !== f.name) throw f + for ( + var c = + 'undefined' != typeof BlobBuilder + ? BlobBuilder + : 'undefined' != typeof MSBlobBuilder + ? MSBlobBuilder + : 'undefined' != typeof MozBlobBuilder + ? MozBlobBuilder + : WebKitBlobBuilder, + d = new c(), + e = 0; + e < a.length; + e += 1 + ) + d.append(a[e]) + return d.getBlob(b.type) + } + } + function h(a, b) { + b && + a.then( + function (a) { + b(null, a) + }, + function (a) { + b(a) + } + ) + } + function i(a, b, c) { + 'function' == typeof b && a.then(b), 'function' == typeof c && a.catch(c) + } + function j(a) { + return ( + 'string' != typeof a && (console.warn(a + ' used as a key, but it is not a string.'), (a = String(a))), a + ) + } + function k() { + if (arguments.length && 'function' == typeof arguments[arguments.length - 1]) + return arguments[arguments.length - 1] + } + function l(a) { + for (var b = a.length, c = new ArrayBuffer(b), d = new Uint8Array(c), e = 0; e < b; e++) + d[e] = a.charCodeAt(e) + return c + } + function m(a) { + return new va(function (b) { + var c = a.transaction(wa, Ba), + d = g(['']) + c.objectStore(wa).put(d, 'key'), + (c.onabort = function (a) { + a.preventDefault(), a.stopPropagation(), b(!1) + }), + (c.oncomplete = function () { + var a = navigator.userAgent.match(/Chrome\/(\d+)/), + c = navigator.userAgent.match(/Edge\//) + b(c || !a || parseInt(a[1], 10) >= 43) + }) + }).catch(function () { + return !1 + }) + } + function n(a) { + return 'boolean' == typeof xa + ? va.resolve(xa) + : m(a).then(function (a) { + return (xa = a) + }) + } + function o(a) { + var b = ya[a.name], + c = {} + ;(c.promise = new va(function (a, b) { + ;(c.resolve = a), (c.reject = b) + })), + b.deferredOperations.push(c), + b.dbReady + ? (b.dbReady = b.dbReady.then(function () { + return c.promise + })) + : (b.dbReady = c.promise) + } + function p(a) { + var b = ya[a.name], + c = b.deferredOperations.pop() + if (c) return c.resolve(), c.promise + } + function q(a, b) { + var c = ya[a.name], + d = c.deferredOperations.pop() + if (d) return d.reject(b), d.promise + } + function r(a, b) { + return new va(function (c, d) { + if (((ya[a.name] = ya[a.name] || B()), a.db)) { + if (!b) return c(a.db) + o(a), a.db.close() + } + var e = [a.name] + b && e.push(a.version) + var f = ua.open.apply(ua, e) + b && + (f.onupgradeneeded = function (b) { + var c = f.result + try { + c.createObjectStore(a.storeName), b.oldVersion <= 1 && c.createObjectStore(wa) + } catch (c) { + if ('ConstraintError' !== c.name) throw c + console.warn( + 'The database "' + + a.name + + '" has been upgraded from version ' + + b.oldVersion + + ' to version ' + + b.newVersion + + ', but the storage "' + + a.storeName + + '" already exists.' + ) + } + }), + (f.onerror = function (a) { + a.preventDefault(), d(f.error) + }), + (f.onsuccess = function () { + c(f.result), p(a) + }) + }) + } + function s(a) { + return r(a, !1) + } + function t(a) { + return r(a, !0) + } + function u(a, b) { + if (!a.db) return !0 + var c = !a.db.objectStoreNames.contains(a.storeName), + d = a.version < a.db.version, + e = a.version > a.db.version + if ( + (d && + (a.version !== b && + console.warn( + 'The database "' + + a.name + + '" can\'t be downgraded from version ' + + a.db.version + + ' to version ' + + a.version + + '.' + ), + (a.version = a.db.version)), + e || c) + ) { + if (c) { + var f = a.db.version + 1 + f > a.version && (a.version = f) + } + return !0 + } + return !1 + } + function v(a) { + return new va(function (b, c) { + var d = new FileReader() + ;(d.onerror = c), + (d.onloadend = function (c) { + var d = btoa(c.target.result || '') + b({ __local_forage_encoded_blob: !0, data: d, type: a.type }) + }), + d.readAsBinaryString(a) + }) + } + function w(a) { + return g([l(atob(a.data))], { type: a.type }) + } + function x(a) { + return a && a.__local_forage_encoded_blob + } + function y(a) { + var b = this, + c = b._initReady().then(function () { + var a = ya[b._dbInfo.name] + if (a && a.dbReady) return a.dbReady + }) + return i(c, a, a), c + } + function z(a) { + o(a) + for (var b = ya[a.name], c = b.forages, d = 0; d < c.length; d++) { + var e = c[d] + e._dbInfo.db && (e._dbInfo.db.close(), (e._dbInfo.db = null)) + } + return ( + (a.db = null), + s(a) + .then(function (b) { + return (a.db = b), u(a) ? t(a) : b + }) + .then(function (d) { + a.db = b.db = d + for (var e = 0; e < c.length; e++) c[e]._dbInfo.db = d + }) + .catch(function (b) { + throw (q(a, b), b) + }) + ) + } + function A(a, b, c, d) { + void 0 === d && (d = 1) + try { + var e = a.db.transaction(a.storeName, b) + c(null, e) + } catch (e) { + if (d > 0 && (!a.db || 'InvalidStateError' === e.name || 'NotFoundError' === e.name)) + return va + .resolve() + .then(function () { + if ( + !a.db || + ('NotFoundError' === e.name && + !a.db.objectStoreNames.contains(a.storeName) && + a.version <= a.db.version) + ) + return a.db && (a.version = a.db.version + 1), t(a) + }) + .then(function () { + return z(a).then(function () { + A(a, b, c, d - 1) + }) + }) + .catch(c) + c(e) + } + } + function B() { + return { forages: [], db: null, dbReady: null, deferredOperations: [] } + } + function C(a) { + function b() { + return va.resolve() + } + var c = this, + d = { db: null } + if (a) for (var e in a) d[e] = a[e] + var f = ya[d.name] + f || ((f = B()), (ya[d.name] = f)), + f.forages.push(c), + c._initReady || ((c._initReady = c.ready), (c.ready = y)) + for (var g = [], h = 0; h < f.forages.length; h++) { + var i = f.forages[h] + i !== c && g.push(i._initReady().catch(b)) + } + var j = f.forages.slice(0) + return va + .all(g) + .then(function () { + return (d.db = f.db), s(d) + }) + .then(function (a) { + return (d.db = a), u(d, c._defaultConfig.version) ? t(d) : a + }) + .then(function (a) { + ;(d.db = f.db = a), (c._dbInfo = d) + for (var b = 0; b < j.length; b++) { + var e = j[b] + e !== c && ((e._dbInfo.db = d.db), (e._dbInfo.version = d.version)) + } + }) + } + function D(a, b) { + var c = this + a = j(a) + var d = new va(function (b, d) { + c.ready() + .then(function () { + A(c._dbInfo, Aa, function (e, f) { + if (e) return d(e) + try { + var g = f.objectStore(c._dbInfo.storeName), + h = g.get(a) + ;(h.onsuccess = function () { + var a = h.result + void 0 === a && (a = null), x(a) && (a = w(a)), b(a) + }), + (h.onerror = function () { + d(h.error) + }) + } catch (a) { + d(a) + } + }) + }) + .catch(d) + }) + return h(d, b), d + } + function E(a, b) { + var c = this, + d = new va(function (b, d) { + c.ready() + .then(function () { + A(c._dbInfo, Aa, function (e, f) { + if (e) return d(e) + try { + var g = f.objectStore(c._dbInfo.storeName), + h = g.openCursor(), + i = 1 + ;(h.onsuccess = function () { + var c = h.result + if (c) { + var d = c.value + x(d) && (d = w(d)) + var e = a(d, c.key, i++) + void 0 !== e ? b(e) : c.continue() + } else b() + }), + (h.onerror = function () { + d(h.error) + }) + } catch (a) { + d(a) + } + }) + }) + .catch(d) + }) + return h(d, b), d + } + function F(a, b, c) { + var d = this + a = j(a) + var e = new va(function (c, e) { + var f + d.ready() + .then(function () { + return ( + (f = d._dbInfo), + '[object Blob]' === za.call(b) + ? n(f.db).then(function (a) { + return a ? b : v(b) + }) + : b + ) + }) + .then(function (b) { + A(d._dbInfo, Ba, function (f, g) { + if (f) return e(f) + try { + var h = g.objectStore(d._dbInfo.storeName) + null === b && (b = void 0) + var i = h.put(b, a) + ;(g.oncomplete = function () { + void 0 === b && (b = null), c(b) + }), + (g.onabort = g.onerror = function () { + var a = i.error ? i.error : i.transaction.error + e(a) + }) + } catch (a) { + e(a) + } + }) + }) + .catch(e) + }) + return h(e, c), e + } + function G(a, b) { + var c = this + a = j(a) + var d = new va(function (b, d) { + c.ready() + .then(function () { + A(c._dbInfo, Ba, function (e, f) { + if (e) return d(e) + try { + var g = f.objectStore(c._dbInfo.storeName), + h = g.delete(a) + ;(f.oncomplete = function () { + b() + }), + (f.onerror = function () { + d(h.error) + }), + (f.onabort = function () { + var a = h.error ? h.error : h.transaction.error + d(a) + }) + } catch (a) { + d(a) + } + }) + }) + .catch(d) + }) + return h(d, b), d + } + function H(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + A(b._dbInfo, Ba, function (d, e) { + if (d) return c(d) + try { + var f = e.objectStore(b._dbInfo.storeName), + g = f.clear() + ;(e.oncomplete = function () { + a() + }), + (e.onabort = e.onerror = function () { + var a = g.error ? g.error : g.transaction.error + c(a) + }) + } catch (a) { + c(a) + } + }) + }) + .catch(c) + }) + return h(c, a), c + } + function I(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + A(b._dbInfo, Aa, function (d, e) { + if (d) return c(d) + try { + var f = e.objectStore(b._dbInfo.storeName), + g = f.count() + ;(g.onsuccess = function () { + a(g.result) + }), + (g.onerror = function () { + c(g.error) + }) + } catch (a) { + c(a) + } + }) + }) + .catch(c) + }) + return h(c, a), c + } + function J(a, b) { + var c = this, + d = new va(function (b, d) { + if (a < 0) return void b(null) + c.ready() + .then(function () { + A(c._dbInfo, Aa, function (e, f) { + if (e) return d(e) + try { + var g = f.objectStore(c._dbInfo.storeName), + h = !1, + i = g.openCursor() + ;(i.onsuccess = function () { + var c = i.result + if (!c) return void b(null) + 0 === a ? b(c.key) : h ? b(c.key) : ((h = !0), c.advance(a)) + }), + (i.onerror = function () { + d(i.error) + }) + } catch (a) { + d(a) + } + }) + }) + .catch(d) + }) + return h(d, b), d + } + function K(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + A(b._dbInfo, Aa, function (d, e) { + if (d) return c(d) + try { + var f = e.objectStore(b._dbInfo.storeName), + g = f.openCursor(), + h = [] + ;(g.onsuccess = function () { + var b = g.result + if (!b) return void a(h) + h.push(b.key), b.continue() + }), + (g.onerror = function () { + c(g.error) + }) + } catch (a) { + c(a) + } + }) + }) + .catch(c) + }) + return h(c, a), c + } + function L(a, b) { + b = k.apply(this, arguments) + var c = this.config() + ;(a = ('function' != typeof a && a) || {}), + a.name || ((a.name = a.name || c.name), (a.storeName = a.storeName || c.storeName)) + var d, + e = this + if (a.name) { + var f = a.name === c.name && e._dbInfo.db, + g = f + ? va.resolve(e._dbInfo.db) + : s(a).then(function (b) { + var c = ya[a.name], + d = c.forages + c.db = b + for (var e = 0; e < d.length; e++) d[e]._dbInfo.db = b + return b + }) + d = a.storeName + ? g.then(function (b) { + if (b.objectStoreNames.contains(a.storeName)) { + var c = b.version + 1 + o(a) + var d = ya[a.name], + e = d.forages + b.close() + for (var f = 0; f < e.length; f++) { + var g = e[f] + ;(g._dbInfo.db = null), (g._dbInfo.version = c) + } + return new va(function (b, d) { + var e = ua.open(a.name, c) + ;(e.onerror = function (a) { + e.result.close(), d(a) + }), + (e.onupgradeneeded = function () { + e.result.deleteObjectStore(a.storeName) + }), + (e.onsuccess = function () { + var a = e.result + a.close(), b(a) + }) + }) + .then(function (a) { + d.db = a + for (var b = 0; b < e.length; b++) { + var c = e[b] + ;(c._dbInfo.db = a), p(c._dbInfo) + } + }) + .catch(function (b) { + throw ((q(a, b) || va.resolve()).catch(function () {}), b) + }) + } + }) + : g.then(function (b) { + o(a) + var c = ya[a.name], + d = c.forages + b.close() + for (var e = 0; e < d.length; e++) { + d[e]._dbInfo.db = null + } + return new va(function (b, c) { + var d = ua.deleteDatabase(a.name) + ;(d.onerror = d.onblocked = function (a) { + var b = d.result + b && b.close(), c(a) + }), + (d.onsuccess = function () { + var a = d.result + a && a.close(), b(a) + }) + }) + .then(function (a) { + c.db = a + for (var b = 0; b < d.length; b++) p(d[b]._dbInfo) + }) + .catch(function (b) { + throw ((q(a, b) || va.resolve()).catch(function () {}), b) + }) + }) + } else d = va.reject('Invalid arguments') + return h(d, b), d + } + function M() { + return 'function' == typeof openDatabase + } + function N(a) { + var b, + c, + d, + e, + f, + g = 0.75 * a.length, + h = a.length, + i = 0 + '=' === a[a.length - 1] && (g--, '=' === a[a.length - 2] && g--) + var j = new ArrayBuffer(g), + k = new Uint8Array(j) + for (b = 0; b < h; b += 4) + (c = Da.indexOf(a[b])), + (d = Da.indexOf(a[b + 1])), + (e = Da.indexOf(a[b + 2])), + (f = Da.indexOf(a[b + 3])), + (k[i++] = (c << 2) | (d >> 4)), + (k[i++] = ((15 & d) << 4) | (e >> 2)), + (k[i++] = ((3 & e) << 6) | (63 & f)) + return j + } + function O(a) { + var b, + c = new Uint8Array(a), + d = '' + for (b = 0; b < c.length; b += 3) + (d += Da[c[b] >> 2]), + (d += Da[((3 & c[b]) << 4) | (c[b + 1] >> 4)]), + (d += Da[((15 & c[b + 1]) << 2) | (c[b + 2] >> 6)]), + (d += Da[63 & c[b + 2]]) + return ( + c.length % 3 == 2 + ? (d = d.substring(0, d.length - 1) + '=') + : c.length % 3 == 1 && (d = d.substring(0, d.length - 2) + '=='), + d + ) + } + function P(a, b) { + var c = '' + if ( + (a && (c = Ua.call(a)), + a && ('[object ArrayBuffer]' === c || (a.buffer && '[object ArrayBuffer]' === Ua.call(a.buffer)))) + ) { + var d, + e = Ga + a instanceof ArrayBuffer + ? ((d = a), (e += Ia)) + : ((d = a.buffer), + '[object Int8Array]' === c + ? (e += Ka) + : '[object Uint8Array]' === c + ? (e += La) + : '[object Uint8ClampedArray]' === c + ? (e += Ma) + : '[object Int16Array]' === c + ? (e += Na) + : '[object Uint16Array]' === c + ? (e += Pa) + : '[object Int32Array]' === c + ? (e += Oa) + : '[object Uint32Array]' === c + ? (e += Qa) + : '[object Float32Array]' === c + ? (e += Ra) + : '[object Float64Array]' === c + ? (e += Sa) + : b(new Error('Failed to get type for BinaryArray'))), + b(e + O(d)) + } else if ('[object Blob]' === c) { + var f = new FileReader() + ;(f.onload = function () { + var c = Ea + a.type + '~' + O(this.result) + b(Ga + Ja + c) + }), + f.readAsArrayBuffer(a) + } else + try { + b(JSON.stringify(a)) + } catch (c) { + console.error("Couldn't convert value into a JSON string: ", a), b(null, c) + } + } + function Q(a) { + if (a.substring(0, Ha) !== Ga) return JSON.parse(a) + var b, + c = a.substring(Ta), + d = a.substring(Ha, Ta) + if (d === Ja && Fa.test(c)) { + var e = c.match(Fa) + ;(b = e[1]), (c = c.substring(e[0].length)) + } + var f = N(c) + switch (d) { + case Ia: + return f + case Ja: + return g([f], { type: b }) + case Ka: + return new Int8Array(f) + case La: + return new Uint8Array(f) + case Ma: + return new Uint8ClampedArray(f) + case Na: + return new Int16Array(f) + case Pa: + return new Uint16Array(f) + case Oa: + return new Int32Array(f) + case Qa: + return new Uint32Array(f) + case Ra: + return new Float32Array(f) + case Sa: + return new Float64Array(f) + default: + throw new Error('Unkown type: ' + d) + } + } + function R(a, b, c, d) { + a.executeSql( + 'CREATE TABLE IF NOT EXISTS ' + b.storeName + ' (id INTEGER PRIMARY KEY, key unique, value)', + [], + c, + d + ) + } + function S(a) { + var b = this, + c = { db: null } + if (a) for (var d in a) c[d] = 'string' != typeof a[d] ? a[d].toString() : a[d] + var e = new va(function (a, d) { + try { + c.db = openDatabase(c.name, String(c.version), c.description, c.size) + } catch (a) { + return d(a) + } + c.db.transaction(function (e) { + R( + e, + c, + function () { + ;(b._dbInfo = c), a() + }, + function (a, b) { + d(b) + } + ) + }, d) + }) + return (c.serializer = Va), e + } + function T(a, b, c, d, e, f) { + a.executeSql( + c, + d, + e, + function (a, g) { + g.code === g.SYNTAX_ERR + ? a.executeSql( + "SELECT name FROM sqlite_master WHERE type='table' AND name = ?", + [b.storeName], + function (a, h) { + h.rows.length + ? f(a, g) + : R( + a, + b, + function () { + a.executeSql(c, d, e, f) + }, + f + ) + }, + f + ) + : f(a, g) + }, + f + ) + } + function U(a, b) { + var c = this + a = j(a) + var d = new va(function (b, d) { + c.ready() + .then(function () { + var e = c._dbInfo + e.db.transaction(function (c) { + T( + c, + e, + 'SELECT * FROM ' + e.storeName + ' WHERE key = ? LIMIT 1', + [a], + function (a, c) { + var d = c.rows.length ? c.rows.item(0).value : null + d && (d = e.serializer.deserialize(d)), b(d) + }, + function (a, b) { + d(b) + } + ) + }) + }) + .catch(d) + }) + return h(d, b), d + } + function V(a, b) { + var c = this, + d = new va(function (b, d) { + c.ready() + .then(function () { + var e = c._dbInfo + e.db.transaction(function (c) { + T( + c, + e, + 'SELECT * FROM ' + e.storeName, + [], + function (c, d) { + for (var f = d.rows, g = f.length, h = 0; h < g; h++) { + var i = f.item(h), + j = i.value + if ((j && (j = e.serializer.deserialize(j)), void 0 !== (j = a(j, i.key, h + 1)))) + return void b(j) + } + b() + }, + function (a, b) { + d(b) + } + ) + }) + }) + .catch(d) + }) + return h(d, b), d + } + function W(a, b, c, d) { + var e = this + a = j(a) + var f = new va(function (f, g) { + e.ready() + .then(function () { + void 0 === b && (b = null) + var h = b, + i = e._dbInfo + i.serializer.serialize(b, function (b, j) { + j + ? g(j) + : i.db.transaction( + function (c) { + T( + c, + i, + 'INSERT OR REPLACE INTO ' + i.storeName + ' (key, value) VALUES (?, ?)', + [a, b], + function () { + f(h) + }, + function (a, b) { + g(b) + } + ) + }, + function (b) { + if (b.code === b.QUOTA_ERR) { + if (d > 0) return void f(W.apply(e, [a, h, c, d - 1])) + g(b) + } + } + ) + }) + }) + .catch(g) + }) + return h(f, c), f + } + function X(a, b, c) { + return W.apply(this, [a, b, c, 1]) + } + function Y(a, b) { + var c = this + a = j(a) + var d = new va(function (b, d) { + c.ready() + .then(function () { + var e = c._dbInfo + e.db.transaction(function (c) { + T( + c, + e, + 'DELETE FROM ' + e.storeName + ' WHERE key = ?', + [a], + function () { + b() + }, + function (a, b) { + d(b) + } + ) + }) + }) + .catch(d) + }) + return h(d, b), d + } + function Z(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + var d = b._dbInfo + d.db.transaction(function (b) { + T( + b, + d, + 'DELETE FROM ' + d.storeName, + [], + function () { + a() + }, + function (a, b) { + c(b) + } + ) + }) + }) + .catch(c) + }) + return h(c, a), c + } + function $(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + var d = b._dbInfo + d.db.transaction(function (b) { + T( + b, + d, + 'SELECT COUNT(key) as c FROM ' + d.storeName, + [], + function (b, c) { + var d = c.rows.item(0).c + a(d) + }, + function (a, b) { + c(b) + } + ) + }) + }) + .catch(c) + }) + return h(c, a), c + } + function _(a, b) { + var c = this, + d = new va(function (b, d) { + c.ready() + .then(function () { + var e = c._dbInfo + e.db.transaction(function (c) { + T( + c, + e, + 'SELECT key FROM ' + e.storeName + ' WHERE id = ? LIMIT 1', + [a + 1], + function (a, c) { + var d = c.rows.length ? c.rows.item(0).key : null + b(d) + }, + function (a, b) { + d(b) + } + ) + }) + }) + .catch(d) + }) + return h(d, b), d + } + function aa(a) { + var b = this, + c = new va(function (a, c) { + b.ready() + .then(function () { + var d = b._dbInfo + d.db.transaction(function (b) { + T( + b, + d, + 'SELECT key FROM ' + d.storeName, + [], + function (b, c) { + for (var d = [], e = 0; e < c.rows.length; e++) d.push(c.rows.item(e).key) + a(d) + }, + function (a, b) { + c(b) + } + ) + }) + }) + .catch(c) + }) + return h(c, a), c + } + function ba(a) { + return new va(function (b, c) { + a.transaction( + function (d) { + d.executeSql( + "SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'", + [], + function (c, d) { + for (var e = [], f = 0; f < d.rows.length; f++) e.push(d.rows.item(f).name) + b({ db: a, storeNames: e }) + }, + function (a, b) { + c(b) + } + ) + }, + function (a) { + c(a) + } + ) + }) + } + function ca(a, b) { + b = k.apply(this, arguments) + var c = this.config() + ;(a = ('function' != typeof a && a) || {}), + a.name || ((a.name = a.name || c.name), (a.storeName = a.storeName || c.storeName)) + var d, + e = this + return ( + (d = a.name + ? new va(function (b) { + var d + ;(d = a.name === c.name ? e._dbInfo.db : openDatabase(a.name, '', '', 0)), + b(a.storeName ? { db: d, storeNames: [a.storeName] } : ba(d)) + }).then(function (a) { + return new va(function (b, c) { + a.db.transaction( + function (d) { + function e(a) { + return new va(function (b, c) { + d.executeSql( + 'DROP TABLE IF EXISTS ' + a, + [], + function () { + b() + }, + function (a, b) { + c(b) + } + ) + }) + } + for (var f = [], g = 0, h = a.storeNames.length; g < h; g++) f.push(e(a.storeNames[g])) + va.all(f) + .then(function () { + b() + }) + .catch(function (a) { + c(a) + }) + }, + function (a) { + c(a) + } + ) + }) + }) + : va.reject('Invalid arguments')), + h(d, b), + d + ) + } + function da() { + try { + return 'undefined' != typeof localStorage && 'setItem' in localStorage && !!localStorage.setItem + } catch (a) { + return !1 + } + } + function ea(a, b) { + var c = a.name + '/' + return a.storeName !== b.storeName && (c += a.storeName + '/'), c + } + function fa() { + var a = '_localforage_support_test' + try { + return localStorage.setItem(a, !0), localStorage.removeItem(a), !1 + } catch (a) { + return !0 + } + } + function ga() { + return !fa() || localStorage.length > 0 + } + function ha(a) { + var b = this, + c = {} + if (a) for (var d in a) c[d] = a[d] + return ( + (c.keyPrefix = ea(a, b._defaultConfig)), + ga() ? ((b._dbInfo = c), (c.serializer = Va), va.resolve()) : va.reject() + ) + } + function ia(a) { + var b = this, + c = b.ready().then(function () { + for (var a = b._dbInfo.keyPrefix, c = localStorage.length - 1; c >= 0; c--) { + var d = localStorage.key(c) + 0 === d.indexOf(a) && localStorage.removeItem(d) + } + }) + return h(c, a), c + } + function ja(a, b) { + var c = this + a = j(a) + var d = c.ready().then(function () { + var b = c._dbInfo, + d = localStorage.getItem(b.keyPrefix + a) + return d && (d = b.serializer.deserialize(d)), d + }) + return h(d, b), d + } + function ka(a, b) { + var c = this, + d = c.ready().then(function () { + for ( + var b = c._dbInfo, d = b.keyPrefix, e = d.length, f = localStorage.length, g = 1, h = 0; + h < f; + h++ + ) { + var i = localStorage.key(h) + if (0 === i.indexOf(d)) { + var j = localStorage.getItem(i) + if ((j && (j = b.serializer.deserialize(j)), void 0 !== (j = a(j, i.substring(e), g++)))) return j + } + } + }) + return h(d, b), d + } + function la(a, b) { + var c = this, + d = c.ready().then(function () { + var b, + d = c._dbInfo + try { + b = localStorage.key(a) + } catch (a) { + b = null + } + return b && (b = b.substring(d.keyPrefix.length)), b + }) + return h(d, b), d + } + function ma(a) { + var b = this, + c = b.ready().then(function () { + for (var a = b._dbInfo, c = localStorage.length, d = [], e = 0; e < c; e++) { + var f = localStorage.key(e) + 0 === f.indexOf(a.keyPrefix) && d.push(f.substring(a.keyPrefix.length)) + } + return d + }) + return h(c, a), c + } + function na(a) { + var b = this, + c = b.keys().then(function (a) { + return a.length + }) + return h(c, a), c + } + function oa(a, b) { + var c = this + a = j(a) + var d = c.ready().then(function () { + var b = c._dbInfo + localStorage.removeItem(b.keyPrefix + a) + }) + return h(d, b), d + } + function pa(a, b, c) { + var d = this + a = j(a) + var e = d.ready().then(function () { + void 0 === b && (b = null) + var c = b + return new va(function (e, f) { + var g = d._dbInfo + g.serializer.serialize(b, function (b, d) { + if (d) f(d) + else + try { + localStorage.setItem(g.keyPrefix + a, b), e(c) + } catch (a) { + ;('QuotaExceededError' !== a.name && 'NS_ERROR_DOM_QUOTA_REACHED' !== a.name) || f(a), f(a) + } + }) + }) + }) + return h(e, c), e + } + function qa(a, b) { + if (((b = k.apply(this, arguments)), (a = ('function' != typeof a && a) || {}), !a.name)) { + var c = this.config() + ;(a.name = a.name || c.name), (a.storeName = a.storeName || c.storeName) + } + var d, + e = this + return ( + (d = a.name + ? new va(function (b) { + b(a.storeName ? ea(a, e._defaultConfig) : a.name + '/') + }).then(function (a) { + for (var b = localStorage.length - 1; b >= 0; b--) { + var c = localStorage.key(b) + 0 === c.indexOf(a) && localStorage.removeItem(c) + } + }) + : va.reject('Invalid arguments')), + h(d, b), + d + ) + } + function ra(a, b) { + a[b] = function () { + var c = arguments + return a.ready().then(function () { + return a[b].apply(a, c) + }) + } + } + function sa() { + for (var a = 1; a < arguments.length; a++) { + var b = arguments[a] + if (b) + for (var c in b) + b.hasOwnProperty(c) && ($a(b[c]) ? (arguments[0][c] = b[c].slice()) : (arguments[0][c] = b[c])) + } + return arguments[0] + } + var ta = + 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator + ? function (a) { + return typeof a + } + : function (a) { + return a && 'function' == typeof Symbol && a.constructor === Symbol && a !== Symbol.prototype + ? 'symbol' + : typeof a + }, + ua = e() + 'undefined' == typeof Promise && a(3) + var va = Promise, + wa = 'local-forage-detect-blob-support', + xa = void 0, + ya = {}, + za = Object.prototype.toString, + Aa = 'readonly', + Ba = 'readwrite', + Ca = { + _driver: 'asyncStorage', + _initStorage: C, + _support: f(), + iterate: E, + getItem: D, + setItem: F, + removeItem: G, + clear: H, + length: I, + key: J, + keys: K, + dropInstance: L + }, + Da = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', + Ea = '~~local_forage_type~', + Fa = /^~~local_forage_type~([^~]+)~/, + Ga = '__lfsc__:', + Ha = Ga.length, + Ia = 'arbf', + Ja = 'blob', + Ka = 'si08', + La = 'ui08', + Ma = 'uic8', + Na = 'si16', + Oa = 'si32', + Pa = 'ur16', + Qa = 'ui32', + Ra = 'fl32', + Sa = 'fl64', + Ta = Ha + Ia.length, + Ua = Object.prototype.toString, + Va = { serialize: P, deserialize: Q, stringToBuffer: N, bufferToString: O }, + Wa = { + _driver: 'webSQLStorage', + _initStorage: S, + _support: M(), + iterate: V, + getItem: U, + setItem: X, + removeItem: Y, + clear: Z, + length: $, + key: _, + keys: aa, + dropInstance: ca + }, + Xa = { + _driver: 'localStorageWrapper', + _initStorage: ha, + _support: da(), + iterate: ka, + getItem: ja, + setItem: pa, + removeItem: oa, + clear: ia, + length: na, + key: la, + keys: ma, + dropInstance: qa + }, + Ya = function (a, b) { + return a === b || ('number' == typeof a && 'number' == typeof b && isNaN(a) && isNaN(b)) + }, + Za = function (a, b) { + for (var c = a.length, d = 0; d < c; ) { + if (Ya(a[d], b)) return !0 + d++ + } + return !1 + }, + $a = + Array.isArray || + function (a) { + return '[object Array]' === Object.prototype.toString.call(a) + }, + _a = {}, + ab = {}, + bb = { INDEXEDDB: Ca, WEBSQL: Wa, LOCALSTORAGE: Xa }, + cb = [bb.INDEXEDDB._driver, bb.WEBSQL._driver, bb.LOCALSTORAGE._driver], + db = ['dropInstance'], + eb = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(db), + fb = { + description: '', + driver: cb.slice(), + name: 'localforage', + size: 4980736, + storeName: 'keyvaluepairs', + version: 1 + }, + gb = (function () { + function a(b) { + d(this, a) + for (var c in bb) + if (bb.hasOwnProperty(c)) { + var e = bb[c], + f = e._driver + ;(this[c] = f), _a[f] || this.defineDriver(e) + } + ;(this._defaultConfig = sa({}, fb)), + (this._config = sa({}, this._defaultConfig, b)), + (this._driverSet = null), + (this._initDriver = null), + (this._ready = !1), + (this._dbInfo = null), + this._wrapLibraryMethodsWithReady(), + this.setDriver(this._config.driver).catch(function () {}) + } + return ( + (a.prototype.config = function (a) { + if ('object' === (void 0 === a ? 'undefined' : ta(a))) { + if (this._ready) return new Error("Can't call config() after localforage has been used.") + for (var b in a) { + if ( + ('storeName' === b && (a[b] = a[b].replace(/\W/g, '_')), + 'version' === b && 'number' != typeof a[b]) + ) + return new Error('Database version must be a number.') + this._config[b] = a[b] + } + return !('driver' in a && a.driver) || this.setDriver(this._config.driver) + } + return 'string' == typeof a ? this._config[a] : this._config + }), + (a.prototype.defineDriver = function (a, b, c) { + var d = new va(function (b, c) { + try { + var d = a._driver, + e = new Error( + 'Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver' + ) + if (!a._driver) return void c(e) + for (var f = eb.concat('_initStorage'), g = 0, i = f.length; g < i; g++) { + var j = f[g] + if ((!Za(db, j) || a[j]) && 'function' != typeof a[j]) return void c(e) + } + ;(function () { + for ( + var b = function (a) { + return function () { + var b = new Error('Method ' + a + ' is not implemented by the current driver'), + c = va.reject(b) + return h(c, arguments[arguments.length - 1]), c + } + }, + c = 0, + d = db.length; + c < d; + c++ + ) { + var e = db[c] + a[e] || (a[e] = b(e)) + } + })() + var k = function (c) { + _a[d] && console.info('Redefining LocalForage driver: ' + d), (_a[d] = a), (ab[d] = c), b() + } + '_support' in a + ? a._support && 'function' == typeof a._support + ? a._support().then(k, c) + : k(!!a._support) + : k(!0) + } catch (a) { + c(a) + } + }) + return i(d, b, c), d + }), + (a.prototype.driver = function () { + return this._driver || null + }), + (a.prototype.getDriver = function (a, b, c) { + var d = _a[a] ? va.resolve(_a[a]) : va.reject(new Error('Driver not found.')) + return i(d, b, c), d + }), + (a.prototype.getSerializer = function (a) { + var b = va.resolve(Va) + return i(b, a), b + }), + (a.prototype.ready = function (a) { + var b = this, + c = b._driverSet.then(function () { + return null === b._ready && (b._ready = b._initDriver()), b._ready + }) + return i(c, a, a), c + }), + (a.prototype.setDriver = function (a, b, c) { + function d() { + g._config.driver = g.driver() + } + function e(a) { + return g._extend(a), d(), (g._ready = g._initStorage(g._config)), g._ready + } + function f(a) { + return function () { + function b() { + for (; c < a.length; ) { + var f = a[c] + return c++, (g._dbInfo = null), (g._ready = null), g.getDriver(f).then(e).catch(b) + } + d() + var h = new Error('No available storage method found.') + return (g._driverSet = va.reject(h)), g._driverSet + } + var c = 0 + return b() + } + } + var g = this + $a(a) || (a = [a]) + var h = this._getSupportedDrivers(a), + j = + null !== this._driverSet + ? this._driverSet.catch(function () { + return va.resolve() + }) + : va.resolve() + return ( + (this._driverSet = j + .then(function () { + var a = h[0] + return ( + (g._dbInfo = null), + (g._ready = null), + g.getDriver(a).then(function (a) { + ;(g._driver = a._driver), d(), g._wrapLibraryMethodsWithReady(), (g._initDriver = f(h)) + }) + ) + }) + .catch(function () { + d() + var a = new Error('No available storage method found.') + return (g._driverSet = va.reject(a)), g._driverSet + })), + i(this._driverSet, b, c), + this._driverSet + ) + }), + (a.prototype.supports = function (a) { + return !!ab[a] + }), + (a.prototype._extend = function (a) { + sa(this, a) + }), + (a.prototype._getSupportedDrivers = function (a) { + for (var b = [], c = 0, d = a.length; c < d; c++) { + var e = a[c] + this.supports(e) && b.push(e) + } + return b + }), + (a.prototype._wrapLibraryMethodsWithReady = function () { + for (var a = 0, b = eb.length; a < b; a++) ra(this, eb[a]) + }), + (a.prototype.createInstance = function (b) { + return new a(b) + }), + a + ) + })(), + hb = new gb() + b.exports = hb + }, + { 3: 3 } + ] + }, + {}, + [4] + )(4) +}) diff --git a/public/lib/lodash.min.js b/public/lib/lodash.min.js new file mode 100644 index 0000000..d5d7e36 --- /dev/null +++ b/public/lib/lodash.min.js @@ -0,0 +1,4183 @@ +/** + * @license + * Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE + */ +;(function () { + function n(n, t, r) { + switch (r.length) { + case 0: + return n.call(t) + case 1: + return n.call(t, r[0]) + case 2: + return n.call(t, r[0], r[1]) + case 3: + return n.call(t, r[0], r[1], r[2]) + } + return n.apply(t, r) + } + function t(n, t, r, e) { + for (var u = -1, i = null == n ? 0 : n.length; ++u < i; ) { + var o = n[u] + t(e, o, r(o), n) + } + return e + } + function r(n, t) { + for (var r = -1, e = null == n ? 0 : n.length; ++r < e && false !== t(n[r], r, n); ); + return n + } + function e(n, t) { + for (var r = null == n ? 0 : n.length; r-- && false !== t(n[r], r, n); ); + return n + } + function u(n, t) { + for (var r = -1, e = null == n ? 0 : n.length; ++r < e; ) if (!t(n[r], r, n)) return false + return true + } + function i(n, t) { + for (var r = -1, e = null == n ? 0 : n.length, u = 0, i = []; ++r < e; ) { + var o = n[r] + t(o, r, n) && (i[u++] = o) + } + return i + } + function o(n, t) { + return !(null == n || !n.length) && -1 < v(n, t, 0) + } + function f(n, t, r) { + for (var e = -1, u = null == n ? 0 : n.length; ++e < u; ) if (r(t, n[e])) return true + return false + } + function c(n, t) { + for (var r = -1, e = null == n ? 0 : n.length, u = Array(e); ++r < e; ) u[r] = t(n[r], r, n) + return u + } + function a(n, t) { + for (var r = -1, e = t.length, u = n.length; ++r < e; ) n[u + r] = t[r] + return n + } + function l(n, t, r, e) { + var u = -1, + i = null == n ? 0 : n.length + for (e && i && (r = n[++u]); ++u < i; ) r = t(r, n[u], u, n) + return r + } + function s(n, t, r, e) { + var u = null == n ? 0 : n.length + for (e && u && (r = n[--u]); u--; ) r = t(r, n[u], u, n) + return r + } + function h(n, t) { + for (var r = -1, e = null == n ? 0 : n.length; ++r < e; ) if (t(n[r], r, n)) return true + return false + } + function p(n, t, r) { + var e + return ( + r(n, function (n, r, u) { + if (t(n, r, u)) return (e = r), false + }), + e + ) + } + function _(n, t, r, e) { + var u = n.length + for (r += e ? 1 : -1; e ? r-- : ++r < u; ) if (t(n[r], r, n)) return r + return -1 + } + function v(n, t, r) { + if (t === t) + n: { + --r + for (var e = n.length; ++r < e; ) + if (n[r] === t) { + n = r + break n + } + n = -1 + } + else n = _(n, d, r) + return n + } + function g(n, t, r, e) { + --r + for (var u = n.length; ++r < u; ) if (e(n[r], t)) return r + return -1 + } + function d(n) { + return n !== n + } + function y(n, t) { + var r = null == n ? 0 : n.length + return r ? m(n, t) / r : F + } + function b(n) { + return function (t) { + return null == t ? T : t[n] + } + } + function x(n) { + return function (t) { + return null == n ? T : n[t] + } + } + function j(n, t, r, e, u) { + return ( + u(n, function (n, u, i) { + r = e ? ((e = false), n) : t(r, n, u, i) + }), + r + ) + } + function w(n, t) { + var r = n.length + for (n.sort(t); r--; ) n[r] = n[r].c + return n + } + function m(n, t) { + for (var r, e = -1, u = n.length; ++e < u; ) { + var i = t(n[e]) + i !== T && (r = r === T ? i : r + i) + } + return r + } + function A(n, t) { + for (var r = -1, e = Array(n); ++r < n; ) e[r] = t(r) + return e + } + function k(n, t) { + return c(t, function (t) { + return [t, n[t]] + }) + } + function E(n) { + return function (t) { + return n(t) + } + } + function S(n, t) { + return c(t, function (t) { + return n[t] + }) + } + function O(n, t) { + return n.has(t) + } + function I(n, t) { + for (var r = -1, e = n.length; ++r < e && -1 < v(t, n[r], 0); ); + return r + } + function R(n, t) { + for (var r = n.length; r-- && -1 < v(t, n[r], 0); ); + return r + } + function z(n) { + return '\\' + Ln[n] + } + function W(n) { + var t = -1, + r = Array(n.size) + return ( + n.forEach(function (n, e) { + r[++t] = [e, n] + }), + r + ) + } + function U(n, t) { + return function (r) { + return n(t(r)) + } + } + function B(n, t) { + for (var r = -1, e = n.length, u = 0, i = []; ++r < e; ) { + var o = n[r] + ;(o !== t && '__lodash_placeholder__' !== o) || ((n[r] = '__lodash_placeholder__'), (i[u++] = r)) + } + return i + } + function L(n) { + var t = -1, + r = Array(n.size) + return ( + n.forEach(function (n) { + r[++t] = n + }), + r + ) + } + function C(n) { + var t = -1, + r = Array(n.size) + return ( + n.forEach(function (n) { + r[++t] = [n, n] + }), + r + ) + } + function D(n) { + if (Rn.test(n)) { + for (var t = (On.lastIndex = 0); On.test(n); ) ++t + n = t + } else n = Qn(n) + return n + } + function M(n) { + return Rn.test(n) ? n.match(On) || [] : n.split('') + } + var T, + $ = 1 / 0, + F = NaN, + N = [ + ['ary', 128], + ['bind', 1], + ['bindKey', 2], + ['curry', 8], + ['curryRight', 16], + ['flip', 512], + ['partial', 32], + ['partialRight', 64], + ['rearg', 256] + ], + P = /\b__p\+='';/g, + Z = /\b(__p\+=)''\+/g, + q = /(__e\(.*?\)|\b__t\))\+'';/g, + V = /&(?:amp|lt|gt|quot|#39);/g, + K = /[&<>"']/g, + G = RegExp(V.source), + H = RegExp(K.source), + J = /<%-([\s\S]+?)%>/g, + Y = /<%([\s\S]+?)%>/g, + Q = /<%=([\s\S]+?)%>/g, + X = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + nn = /^\w*$/, + tn = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + rn = /[\\^$.*+?()[\]{}|]/g, + en = RegExp(rn.source), + un = /^\s+|\s+$/g, + on = /^\s+/, + fn = /\s+$/, + cn = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + an = /\{\n\/\* \[wrapped with (.+)\] \*/, + ln = /,? & /, + sn = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, + hn = /\\(\\)?/g, + pn = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, + _n = /\w*$/, + vn = /^[-+]0x[0-9a-f]+$/i, + gn = /^0b[01]+$/i, + dn = /^\[object .+?Constructor\]$/, + yn = /^0o[0-7]+$/i, + bn = /^(?:0|[1-9]\d*)$/, + xn = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, + jn = /($^)/, + wn = /['\n\r\u2028\u2029\\]/g, + mn = + '[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*', + An = '(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])' + mn, + kn = + '(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])', + En = RegExp("['\u2019]", 'g'), + Sn = RegExp('[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]', 'g'), + On = RegExp('\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|' + kn + mn, 'g'), + In = RegExp( + [ + "[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+", + An + ].join('|'), + 'g' + ), + Rn = RegExp('[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]'), + zn = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, + Wn = 'Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout'.split( + ' ' + ), + Un = {} + ;(Un['[object Float32Array]'] = Un['[object Float64Array]'] = Un['[object Int8Array]'] = Un[ + '[object Int16Array]' + ] = Un['[object Int32Array]'] = Un['[object Uint8Array]'] = Un['[object Uint8ClampedArray]'] = Un[ + '[object Uint16Array]' + ] = Un['[object Uint32Array]'] = true), + (Un['[object Arguments]'] = Un['[object Array]'] = Un['[object ArrayBuffer]'] = Un['[object Boolean]'] = Un[ + '[object DataView]' + ] = Un['[object Date]'] = Un['[object Error]'] = Un['[object Function]'] = Un['[object Map]'] = Un[ + '[object Number]' + ] = Un['[object Object]'] = Un['[object RegExp]'] = Un['[object Set]'] = Un['[object String]'] = Un[ + '[object WeakMap]' + ] = false) + var Bn = {} + ;(Bn['[object Arguments]'] = Bn['[object Array]'] = Bn['[object ArrayBuffer]'] = Bn['[object DataView]'] = Bn[ + '[object Boolean]' + ] = Bn['[object Date]'] = Bn['[object Float32Array]'] = Bn['[object Float64Array]'] = Bn['[object Int8Array]'] = Bn[ + '[object Int16Array]' + ] = Bn['[object Int32Array]'] = Bn['[object Map]'] = Bn['[object Number]'] = Bn['[object Object]'] = Bn[ + '[object RegExp]' + ] = Bn['[object Set]'] = Bn['[object String]'] = Bn['[object Symbol]'] = Bn['[object Uint8Array]'] = Bn[ + '[object Uint8ClampedArray]' + ] = Bn['[object Uint16Array]'] = Bn['[object Uint32Array]'] = true), + (Bn['[object Error]'] = Bn['[object Function]'] = Bn['[object WeakMap]'] = false) + var Ln = { '\\': '\\', "'": "'", '\n': 'n', '\r': 'r', '\u2028': 'u2028', '\u2029': 'u2029' }, + Cn = parseFloat, + Dn = parseInt, + Mn = typeof global == 'object' && global && global.Object === Object && global, + Tn = typeof self == 'object' && self && self.Object === Object && self, + $n = Mn || Tn || Function('return this')(), + Fn = typeof exports == 'object' && exports && !exports.nodeType && exports, + Nn = Fn && typeof module == 'object' && module && !module.nodeType && module, + Pn = Nn && Nn.exports === Fn, + Zn = Pn && Mn.process, + qn = (function () { + try { + var n = Nn && Nn.require && Nn.require('util').types + return n ? n : Zn && Zn.binding && Zn.binding('util') + } catch (n) {} + })(), + Vn = qn && qn.isArrayBuffer, + Kn = qn && qn.isDate, + Gn = qn && qn.isMap, + Hn = qn && qn.isRegExp, + Jn = qn && qn.isSet, + Yn = qn && qn.isTypedArray, + Qn = b('length'), + Xn = x({ + À: 'A', + Á: 'A', + Â: 'A', + Ã: 'A', + Ä: 'A', + Å: 'A', + à: 'a', + á: 'a', + â: 'a', + ã: 'a', + ä: 'a', + å: 'a', + Ç: 'C', + ç: 'c', + Ð: 'D', + ð: 'd', + È: 'E', + É: 'E', + Ê: 'E', + Ë: 'E', + è: 'e', + é: 'e', + ê: 'e', + ë: 'e', + Ì: 'I', + Í: 'I', + Î: 'I', + Ï: 'I', + ì: 'i', + í: 'i', + î: 'i', + ï: 'i', + Ñ: 'N', + ñ: 'n', + Ò: 'O', + Ó: 'O', + Ô: 'O', + Õ: 'O', + Ö: 'O', + Ø: 'O', + ò: 'o', + ó: 'o', + ô: 'o', + õ: 'o', + ö: 'o', + ø: 'o', + Ù: 'U', + Ú: 'U', + Û: 'U', + Ü: 'U', + ù: 'u', + ú: 'u', + û: 'u', + ü: 'u', + Ý: 'Y', + ý: 'y', + ÿ: 'y', + Æ: 'Ae', + æ: 'ae', + Þ: 'Th', + þ: 'th', + ß: 'ss', + Ā: 'A', + Ă: 'A', + Ą: 'A', + ā: 'a', + ă: 'a', + ą: 'a', + Ć: 'C', + Ĉ: 'C', + Ċ: 'C', + Č: 'C', + ć: 'c', + ĉ: 'c', + ċ: 'c', + č: 'c', + Ď: 'D', + Đ: 'D', + ď: 'd', + đ: 'd', + Ē: 'E', + Ĕ: 'E', + Ė: 'E', + Ę: 'E', + Ě: 'E', + ē: 'e', + ĕ: 'e', + ė: 'e', + ę: 'e', + ě: 'e', + Ĝ: 'G', + Ğ: 'G', + Ġ: 'G', + Ģ: 'G', + ĝ: 'g', + ğ: 'g', + ġ: 'g', + ģ: 'g', + Ĥ: 'H', + Ħ: 'H', + ĥ: 'h', + ħ: 'h', + Ĩ: 'I', + Ī: 'I', + Ĭ: 'I', + Į: 'I', + İ: 'I', + ĩ: 'i', + ī: 'i', + ĭ: 'i', + į: 'i', + ı: 'i', + Ĵ: 'J', + ĵ: 'j', + Ķ: 'K', + ķ: 'k', + ĸ: 'k', + Ĺ: 'L', + Ļ: 'L', + Ľ: 'L', + Ŀ: 'L', + Ł: 'L', + ĺ: 'l', + ļ: 'l', + ľ: 'l', + ŀ: 'l', + ł: 'l', + Ń: 'N', + Ņ: 'N', + Ň: 'N', + Ŋ: 'N', + ń: 'n', + ņ: 'n', + ň: 'n', + ŋ: 'n', + Ō: 'O', + Ŏ: 'O', + Ő: 'O', + ō: 'o', + ŏ: 'o', + ő: 'o', + Ŕ: 'R', + Ŗ: 'R', + Ř: 'R', + ŕ: 'r', + ŗ: 'r', + ř: 'r', + Ś: 'S', + Ŝ: 'S', + Ş: 'S', + Š: 'S', + ś: 's', + ŝ: 's', + ş: 's', + š: 's', + Ţ: 'T', + Ť: 'T', + Ŧ: 'T', + ţ: 't', + ť: 't', + ŧ: 't', + Ũ: 'U', + Ū: 'U', + Ŭ: 'U', + Ů: 'U', + Ű: 'U', + Ų: 'U', + ũ: 'u', + ū: 'u', + ŭ: 'u', + ů: 'u', + ű: 'u', + ų: 'u', + Ŵ: 'W', + ŵ: 'w', + Ŷ: 'Y', + ŷ: 'y', + Ÿ: 'Y', + Ź: 'Z', + Ż: 'Z', + Ž: 'Z', + ź: 'z', + ż: 'z', + ž: 'z', + IJ: 'IJ', + ij: 'ij', + Œ: 'Oe', + œ: 'oe', + ʼn: "'n", + ſ: 's' + }), + nt = x({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }), + tt = x({ '&': '&', '<': '<', '>': '>', '"': '"', ''': "'" }), + rt = (function x(mn) { + function An(n) { + if (yu(n) && !ff(n) && !(n instanceof Ln)) { + if (n instanceof On) return n + if (oi.call(n, '__wrapped__')) return Fe(n) + } + return new On(n) + } + function kn() {} + function On(n, t) { + ;(this.__wrapped__ = n), + (this.__actions__ = []), + (this.__chain__ = !!t), + (this.__index__ = 0), + (this.__values__ = T) + } + function Ln(n) { + ;(this.__wrapped__ = n), + (this.__actions__ = []), + (this.__dir__ = 1), + (this.__filtered__ = false), + (this.__iteratees__ = []), + (this.__takeCount__ = 4294967295), + (this.__views__ = []) + } + function Mn(n) { + var t = -1, + r = null == n ? 0 : n.length + for (this.clear(); ++t < r; ) { + var e = n[t] + this.set(e[0], e[1]) + } + } + function Tn(n) { + var t = -1, + r = null == n ? 0 : n.length + for (this.clear(); ++t < r; ) { + var e = n[t] + this.set(e[0], e[1]) + } + } + function Fn(n) { + var t = -1, + r = null == n ? 0 : n.length + for (this.clear(); ++t < r; ) { + var e = n[t] + this.set(e[0], e[1]) + } + } + function Nn(n) { + var t = -1, + r = null == n ? 0 : n.length + for (this.__data__ = new Fn(); ++t < r; ) this.add(n[t]) + } + function Zn(n) { + this.size = (this.__data__ = new Tn(n)).size + } + function qn(n, t) { + var r, + e = ff(n), + u = !e && of(n), + i = !e && !u && af(n), + o = !e && !u && !i && _f(n), + u = (e = e || u || i || o) ? A(n.length, ni) : [], + f = u.length + for (r in n) + (!t && !oi.call(n, r)) || + (e && + ('length' == r || + (i && ('offset' == r || 'parent' == r)) || + (o && ('buffer' == r || 'byteLength' == r || 'byteOffset' == r)) || + Se(r, f))) || + u.push(r) + return u + } + function Qn(n) { + var t = n.length + return t ? n[ir(0, t - 1)] : T + } + function et(n, t) { + return De(Lr(n), pt(t, 0, n.length)) + } + function ut(n) { + return De(Lr(n)) + } + function it(n, t, r) { + ;((r === T || lu(n[t], r)) && (r !== T || t in n)) || st(n, t, r) + } + function ot(n, t, r) { + var e = n[t] + ;(oi.call(n, t) && lu(e, r) && (r !== T || t in n)) || st(n, t, r) + } + function ft(n, t) { + for (var r = n.length; r--; ) if (lu(n[r][0], t)) return r + return -1 + } + function ct(n, t, r, e) { + return ( + uo(n, function (n, u, i) { + t(e, n, r(n), i) + }), + e + ) + } + function at(n, t) { + return n && Cr(t, Wu(t), n) + } + function lt(n, t) { + return n && Cr(t, Uu(t), n) + } + function st(n, t, r) { + '__proto__' == t && Ai + ? Ai(n, t, { configurable: true, enumerable: true, value: r, writable: true }) + : (n[t] = r) + } + function ht(n, t) { + for (var r = -1, e = t.length, u = Ku(e), i = null == n; ++r < e; ) u[r] = i ? T : Ru(n, t[r]) + return u + } + function pt(n, t, r) { + return n === n && (r !== T && (n = n <= r ? n : r), t !== T && (n = n >= t ? n : t)), n + } + function _t(n, t, e, u, i, o) { + var f, + c = 1 & t, + a = 2 & t, + l = 4 & t + if ((e && (f = i ? e(n, u, i, o) : e(n)), f !== T)) return f + if (!du(n)) return n + if ((u = ff(n))) { + if (((f = me(n)), !c)) return Lr(n, f) + } else { + var s = vo(n), + h = '[object Function]' == s || '[object GeneratorFunction]' == s + if (af(n)) return Ir(n, c) + if ('[object Object]' == s || '[object Arguments]' == s || (h && !i)) { + if (((f = a || h ? {} : Ae(n)), !c)) return a ? Mr(n, lt(f, n)) : Dr(n, at(f, n)) + } else { + if (!Bn[s]) return i ? n : {} + f = ke(n, s, c) + } + } + if ((o || (o = new Zn()), (i = o.get(n)))) return i + if ((o.set(n, f), pf(n))) + return ( + n.forEach(function (r) { + f.add(_t(r, t, e, r, n, o)) + }), + f + ) + if (sf(n)) + return ( + n.forEach(function (r, u) { + f.set(u, _t(r, t, e, u, n, o)) + }), + f + ) + var a = l ? (a ? ve : _e) : a ? Uu : Wu, + p = u ? T : a(n) + return ( + r(p || n, function (r, u) { + p && ((u = r), (r = n[u])), ot(f, u, _t(r, t, e, u, n, o)) + }), + f + ) + } + function vt(n) { + var t = Wu(n) + return function (r) { + return gt(r, n, t) + } + } + function gt(n, t, r) { + var e = r.length + if (null == n) return !e + for (n = Qu(n); e--; ) { + var u = r[e], + i = t[u], + o = n[u] + if ((o === T && !(u in n)) || !i(o)) return false + } + return true + } + function dt(n, t, r) { + if (typeof n != 'function') throw new ti('Expected a function') + return bo(function () { + n.apply(T, r) + }, t) + } + function yt(n, t, r, e) { + var u = -1, + i = o, + a = true, + l = n.length, + s = [], + h = t.length + if (!l) return s + r && (t = c(t, E(r))), e ? ((i = f), (a = false)) : 200 <= t.length && ((i = O), (a = false), (t = new Nn(t))) + n: for (; ++u < l; ) { + var p = n[u], + _ = null == r ? p : r(p), + p = e || 0 !== p ? p : 0 + if (a && _ === _) { + for (var v = h; v--; ) if (t[v] === _) continue n + s.push(p) + } else i(t, _, e) || s.push(p) + } + return s + } + function bt(n, t) { + var r = true + return ( + uo(n, function (n, e, u) { + return (r = !!t(n, e, u)) + }), + r + ) + } + function xt(n, t, r) { + for (var e = -1, u = n.length; ++e < u; ) { + var i = n[e], + o = t(i) + if (null != o && (f === T ? o === o && !wu(o) : r(o, f))) + var f = o, + c = i + } + return c + } + function jt(n, t) { + var r = [] + return ( + uo(n, function (n, e, u) { + t(n, e, u) && r.push(n) + }), + r + ) + } + function wt(n, t, r, e, u) { + var i = -1, + o = n.length + for (r || (r = Ee), u || (u = []); ++i < o; ) { + var f = n[i] + 0 < t && r(f) ? (1 < t ? wt(f, t - 1, r, e, u) : a(u, f)) : e || (u[u.length] = f) + } + return u + } + function mt(n, t) { + return n && oo(n, t, Wu) + } + function At(n, t) { + return n && fo(n, t, Wu) + } + function kt(n, t) { + return i(t, function (t) { + return _u(n[t]) + }) + } + function Et(n, t) { + t = Sr(t, n) + for (var r = 0, e = t.length; null != n && r < e; ) n = n[Me(t[r++])] + return r && r == e ? n : T + } + function St(n, t, r) { + return (t = t(n)), ff(n) ? t : a(t, r(n)) + } + function Ot(n) { + if (null == n) return n === T ? '[object Undefined]' : '[object Null]' + if (mi && mi in Qu(n)) { + var t = oi.call(n, mi), + r = n[mi] + try { + n[mi] = T + var e = true + } catch (n) {} + var u = ai.call(n) + e && (t ? (n[mi] = r) : delete n[mi]), (n = u) + } else n = ai.call(n) + return n + } + function It(n, t) { + return n > t + } + function Rt(n, t) { + return null != n && oi.call(n, t) + } + function zt(n, t) { + return null != n && t in Qu(n) + } + function Wt(n, t, r) { + for (var e = r ? f : o, u = n[0].length, i = n.length, a = i, l = Ku(i), s = 1 / 0, h = []; a--; ) { + var p = n[a] + a && t && (p = c(p, E(t))), + (s = Ci(p.length, s)), + (l[a] = !r && (t || (120 <= u && 120 <= p.length)) ? new Nn(a && p) : T) + } + var p = n[0], + _ = -1, + v = l[0] + n: for (; ++_ < u && h.length < s; ) { + var g = p[_], + d = t ? t(g) : g, + g = r || 0 !== g ? g : 0 + if (v ? !O(v, d) : !e(h, d, r)) { + for (a = i; --a; ) { + var y = l[a] + if (y ? !O(y, d) : !e(n[a], d, r)) continue n + } + v && v.push(d), h.push(g) + } + } + return h + } + function Ut(n, t, r, e) { + return ( + mt(n, function (n, u, i) { + t(e, r(n), u, i) + }), + e + ) + } + function Bt(t, r, e) { + return ( + (r = Sr(r, t)), + (t = 2 > r.length ? t : Et(t, hr(r, 0, -1))), + (r = null == t ? t : t[Me(Ve(r))]), + null == r ? T : n(r, t, e) + ) + } + function Lt(n) { + return yu(n) && '[object Arguments]' == Ot(n) + } + function Ct(n) { + return yu(n) && '[object ArrayBuffer]' == Ot(n) + } + function Dt(n) { + return yu(n) && '[object Date]' == Ot(n) + } + function Mt(n, t, r, e, u) { + if (n === t) return true + if (null == n || null == t || (!yu(n) && !yu(t))) return n !== n && t !== t + n: { + var i = ff(n), + o = ff(t), + f = i ? '[object Array]' : vo(n), + c = o ? '[object Array]' : vo(t), + f = '[object Arguments]' == f ? '[object Object]' : f, + c = '[object Arguments]' == c ? '[object Object]' : c, + a = '[object Object]' == f, + o = '[object Object]' == c + if ((c = f == c) && af(n)) { + if (!af(t)) { + t = false + break n + } + ;(i = true), (a = false) + } + if (c && !a) u || (u = new Zn()), (t = i || _f(n) ? se(n, t, r, e, Mt, u) : he(n, t, f, r, e, Mt, u)) + else { + if (!(1 & r) && ((i = a && oi.call(n, '__wrapped__')), (f = o && oi.call(t, '__wrapped__')), i || f)) { + ;(n = i ? n.value() : n), (t = f ? t.value() : t), u || (u = new Zn()), (t = Mt(n, t, r, e, u)) + break n + } + if (c) + t: if ((u || (u = new Zn()), (i = 1 & r), (f = _e(n)), (o = f.length), (c = _e(t).length), o == c || i)) { + for (a = o; a--; ) { + var l = f[a] + if (!(i ? l in t : oi.call(t, l))) { + t = false + break t + } + } + if ((c = u.get(n)) && u.get(t)) t = c == t + else { + ;(c = true), u.set(n, t), u.set(t, n) + for (var s = i; ++a < o; ) { + var l = f[a], + h = n[l], + p = t[l] + if (e) var _ = i ? e(p, h, l, t, n, u) : e(h, p, l, n, t, u) + if (_ === T ? h !== p && !Mt(h, p, r, e, u) : !_) { + c = false + break + } + s || (s = 'constructor' == l) + } + c && + !s && + ((r = n.constructor), + (e = t.constructor), + r != e && + 'constructor' in n && + 'constructor' in t && + !(typeof r == 'function' && r instanceof r && typeof e == 'function' && e instanceof e) && + (c = false)), + u.delete(n), + u.delete(t), + (t = c) + } + } else t = false + else t = false + } + } + return t + } + function Tt(n) { + return yu(n) && '[object Map]' == vo(n) + } + function $t(n, t, r, e) { + var u = r.length, + i = u, + o = !e + if (null == n) return !i + for (n = Qu(n); u--; ) { + var f = r[u] + if (o && f[2] ? f[1] !== n[f[0]] : !(f[0] in n)) return false + } + for (; ++u < i; ) { + var f = r[u], + c = f[0], + a = n[c], + l = f[1] + if (o && f[2]) { + if (a === T && !(c in n)) return false + } else { + if (((f = new Zn()), e)) var s = e(a, l, c, n, t, f) + if (s === T ? !Mt(l, a, 3, e, f) : !s) return false + } + } + return true + } + function Ft(n) { + return !(!du(n) || (ci && ci in n)) && (_u(n) ? hi : dn).test(Te(n)) + } + function Nt(n) { + return yu(n) && '[object RegExp]' == Ot(n) + } + function Pt(n) { + return yu(n) && '[object Set]' == vo(n) + } + function Zt(n) { + return yu(n) && gu(n.length) && !!Un[Ot(n)] + } + function qt(n) { + return typeof n == 'function' + ? n + : null == n + ? $u + : typeof n == 'object' + ? ff(n) + ? Jt(n[0], n[1]) + : Ht(n) + : Zu(n) + } + function Vt(n) { + if (!ze(n)) return Bi(n) + var t, + r = [] + for (t in Qu(n)) oi.call(n, t) && 'constructor' != t && r.push(t) + return r + } + function Kt(n, t) { + return n < t + } + function Gt(n, t) { + var r = -1, + e = su(n) ? Ku(n.length) : [] + return ( + uo(n, function (n, u, i) { + e[++r] = t(n, u, i) + }), + e + ) + } + function Ht(n) { + var t = xe(n) + return 1 == t.length && t[0][2] + ? We(t[0][0], t[0][1]) + : function (r) { + return r === n || $t(r, n, t) + } + } + function Jt(n, t) { + return Ie(n) && t === t && !du(t) + ? We(Me(n), t) + : function (r) { + var e = Ru(r, n) + return e === T && e === t ? zu(r, n) : Mt(t, e, 3) + } + } + function Yt(n, t, r, e, u) { + n !== t && + oo( + t, + function (i, o) { + if (du(i)) { + u || (u = new Zn()) + var f = u, + c = Be(n, o), + a = Be(t, o), + l = f.get(a) + if (!l) { + var l = e ? e(c, a, o + '', n, t, f) : T, + s = l === T + if (s) { + var h = ff(a), + p = !h && af(a), + _ = !h && !p && _f(a), + l = a + h || p || _ + ? ff(c) + ? (l = c) + : hu(c) + ? (l = Lr(c)) + : p + ? ((s = false), (l = Ir(a, true))) + : _ + ? ((s = false), (l = zr(a, true))) + : (l = []) + : xu(a) || of(a) + ? ((l = c), of(c) ? (l = Ou(c)) : (du(c) && !_u(c)) || (l = Ae(a))) + : (s = false) + } + s && (f.set(a, l), Yt(l, a, r, e, f), f.delete(a)) + } + it(n, o, l) + } else (f = e ? e(Be(n, o), i, o + '', n, t, u) : T), f === T && (f = i), it(n, o, f) + }, + Uu + ) + } + function Qt(n, t) { + var r = n.length + if (r) return (t += 0 > t ? r : 0), Se(t, r) ? n[t] : T + } + function Xt(n, t, r) { + var e = -1 + return ( + (t = c(t.length ? t : [$u], E(ye()))), + (n = Gt(n, function (n, r, u) { + return { + a: c(t, function (t) { + return t(n) + }), + b: ++e, + c: n + } + })), + w(n, function (n, t) { + var e + n: { + e = -1 + for (var u = n.a, i = t.a, o = u.length, f = r.length; ++e < o; ) { + var c = Wr(u[e], i[e]) + if (c) { + if (e >= f) { + e = c + break n + } + e = c * ('desc' == r[e] ? -1 : 1) + break n + } + } + e = n.b - t.b + } + return e + }) + ) + } + function nr(n, t) { + return tr(n, t, function (t, r) { + return zu(n, r) + }) + } + function tr(n, t, r) { + for (var e = -1, u = t.length, i = {}; ++e < u; ) { + var o = t[e], + f = Et(n, o) + r(f, o) && lr(i, Sr(o, n), f) + } + return i + } + function rr(n) { + return function (t) { + return Et(t, n) + } + } + function er(n, t, r, e) { + var u = e ? g : v, + i = -1, + o = t.length, + f = n + for (n === t && (t = Lr(t)), r && (f = c(n, E(r))); ++i < o; ) + for (var a = 0, l = t[i], l = r ? r(l) : l; -1 < (a = u(f, l, a, e)); ) + f !== n && xi.call(f, a, 1), xi.call(n, a, 1) + return n + } + function ur(n, t) { + for (var r = n ? t.length : 0, e = r - 1; r--; ) { + var u = t[r] + if (r == e || u !== i) { + var i = u + Se(u) ? xi.call(n, u, 1) : xr(n, u) + } + } + return n + } + function ir(n, t) { + return n + Ii(Ti() * (t - n + 1)) + } + function or(n, t) { + var r = '' + if (!n || 1 > t || 9007199254740991 < t) return r + do t % 2 && (r += n), (t = Ii(t / 2)) && (n += n) + while (t) + return r + } + function fr(n, t) { + return xo(Ue(n, t, $u), n + '') + } + function cr(n) { + return Qn(Lu(n)) + } + function ar(n, t) { + var r = Lu(n) + return De(r, pt(t, 0, r.length)) + } + function lr(n, t, r, e) { + if (!du(n)) return n + t = Sr(t, n) + for (var u = -1, i = t.length, o = i - 1, f = n; null != f && ++u < i; ) { + var c = Me(t[u]), + a = r + if (u != o) { + var l = f[c], + a = e ? e(l, c, f) : T + a === T && (a = du(l) ? l : Se(t[u + 1]) ? [] : {}) + } + ot(f, c, a), (f = f[c]) + } + return n + } + function sr(n) { + return De(Lu(n)) + } + function hr(n, t, r) { + var e = -1, + u = n.length + for ( + 0 > t && (t = -t > u ? 0 : u + t), + r = r > u ? u : r, + 0 > r && (r += u), + u = t > r ? 0 : (r - t) >>> 0, + t >>>= 0, + r = Ku(u); + ++e < u; + + ) + r[e] = n[e + t] + return r + } + function pr(n, t) { + var r + return ( + uo(n, function (n, e, u) { + return (r = t(n, e, u)), !r + }), + !!r + ) + } + function _r(n, t, r) { + var e = 0, + u = null == n ? e : n.length + if (typeof t == 'number' && t === t && 2147483647 >= u) { + for (; e < u; ) { + var i = (e + u) >>> 1, + o = n[i] + null !== o && !wu(o) && (r ? o <= t : o < t) ? (e = i + 1) : (u = i) + } + return u + } + return vr(n, t, $u, r) + } + function vr(n, t, r, e) { + t = r(t) + for (var u = 0, i = null == n ? 0 : n.length, o = t !== t, f = null === t, c = wu(t), a = t === T; u < i; ) { + var l = Ii((u + i) / 2), + s = r(n[l]), + h = s !== T, + p = null === s, + _ = s === s, + v = wu(s) + ;( + o + ? e || _ + : a + ? _ && (e || h) + : f + ? _ && h && (e || !p) + : c + ? _ && h && !p && (e || !v) + : p || v + ? 0 + : e + ? s <= t + : s < t + ) + ? (u = l + 1) + : (i = l) + } + return Ci(i, 4294967294) + } + function gr(n, t) { + for (var r = -1, e = n.length, u = 0, i = []; ++r < e; ) { + var o = n[r], + f = t ? t(o) : o + if (!r || !lu(f, c)) { + var c = f + i[u++] = 0 === o ? 0 : o + } + } + return i + } + function dr(n) { + return typeof n == 'number' ? n : wu(n) ? F : +n + } + function yr(n) { + if (typeof n == 'string') return n + if (ff(n)) return c(n, yr) + '' + if (wu(n)) return ro ? ro.call(n) : '' + var t = n + '' + return '0' == t && 1 / n == -$ ? '-0' : t + } + function br(n, t, r) { + var e = -1, + u = o, + i = n.length, + c = true, + a = [], + l = a + if (r) (c = false), (u = f) + else if (200 <= i) { + if ((u = t ? null : so(n))) return L(u) + ;(c = false), (u = O), (l = new Nn()) + } else l = t ? [] : a + n: for (; ++e < i; ) { + var s = n[e], + h = t ? t(s) : s, + s = r || 0 !== s ? s : 0 + if (c && h === h) { + for (var p = l.length; p--; ) if (l[p] === h) continue n + t && l.push(h), a.push(s) + } else u(l, h, r) || (l !== a && l.push(h), a.push(s)) + } + return a + } + function xr(n, t) { + return (t = Sr(t, n)), (n = 2 > t.length ? n : Et(n, hr(t, 0, -1))), null == n || delete n[Me(Ve(t))] + } + function jr(n, t, r, e) { + for (var u = n.length, i = e ? u : -1; (e ? i-- : ++i < u) && t(n[i], i, n); ); + return r ? hr(n, e ? 0 : i, e ? i + 1 : u) : hr(n, e ? i + 1 : 0, e ? u : i) + } + function wr(n, t) { + var r = n + return ( + r instanceof Ln && (r = r.value()), + l( + t, + function (n, t) { + return t.func.apply(t.thisArg, a([n], t.args)) + }, + r + ) + ) + } + function mr(n, t, r) { + var e = n.length + if (2 > e) return e ? br(n[0]) : [] + for (var u = -1, i = Ku(e); ++u < e; ) + for (var o = n[u], f = -1; ++f < e; ) f != u && (i[u] = yt(i[u] || o, n[f], t, r)) + return br(wt(i, 1), t, r) + } + function Ar(n, t, r) { + for (var e = -1, u = n.length, i = t.length, o = {}; ++e < u; ) r(o, n[e], e < i ? t[e] : T) + return o + } + function kr(n) { + return hu(n) ? n : [] + } + function Er(n) { + return typeof n == 'function' ? n : $u + } + function Sr(n, t) { + return ff(n) ? n : Ie(n, t) ? [n] : jo(Iu(n)) + } + function Or(n, t, r) { + var e = n.length + return (r = r === T ? e : r), !t && r >= e ? n : hr(n, t, r) + } + function Ir(n, t) { + if (t) return n.slice() + var r = n.length, + r = gi ? gi(r) : new n.constructor(r) + return n.copy(r), r + } + function Rr(n) { + var t = new n.constructor(n.byteLength) + return new vi(t).set(new vi(n)), t + } + function zr(n, t) { + return new n.constructor(t ? Rr(n.buffer) : n.buffer, n.byteOffset, n.length) + } + function Wr(n, t) { + if (n !== t) { + var r = n !== T, + e = null === n, + u = n === n, + i = wu(n), + o = t !== T, + f = null === t, + c = t === t, + a = wu(t) + if ((!f && !a && !i && n > t) || (i && o && c && !f && !a) || (e && o && c) || (!r && c) || !u) return 1 + if ((!e && !i && !a && n < t) || (a && r && u && !e && !i) || (f && r && u) || (!o && u) || !c) return -1 + } + return 0 + } + function Ur(n, t, r, e) { + var u = -1, + i = n.length, + o = r.length, + f = -1, + c = t.length, + a = Li(i - o, 0), + l = Ku(c + a) + for (e = !e; ++f < c; ) l[f] = t[f] + for (; ++u < o; ) (e || u < i) && (l[r[u]] = n[u]) + for (; a--; ) l[f++] = n[u++] + return l + } + function Br(n, t, r, e) { + var u = -1, + i = n.length, + o = -1, + f = r.length, + c = -1, + a = t.length, + l = Li(i - f, 0), + s = Ku(l + a) + for (e = !e; ++u < l; ) s[u] = n[u] + for (l = u; ++c < a; ) s[l + c] = t[c] + for (; ++o < f; ) (e || u < i) && (s[l + r[o]] = n[u++]) + return s + } + function Lr(n, t) { + var r = -1, + e = n.length + for (t || (t = Ku(e)); ++r < e; ) t[r] = n[r] + return t + } + function Cr(n, t, r, e) { + var u = !r + r || (r = {}) + for (var i = -1, o = t.length; ++i < o; ) { + var f = t[i], + c = e ? e(r[f], n[f], f, r, n) : T + c === T && (c = n[f]), u ? st(r, f, c) : ot(r, f, c) + } + return r + } + function Dr(n, t) { + return Cr(n, po(n), t) + } + function Mr(n, t) { + return Cr(n, _o(n), t) + } + function Tr(n, r) { + return function (e, u) { + var i = ff(e) ? t : ct, + o = r ? r() : {} + return i(e, n, ye(u, 2), o) + } + } + function $r(n) { + return fr(function (t, r) { + var e = -1, + u = r.length, + i = 1 < u ? r[u - 1] : T, + o = 2 < u ? r[2] : T, + i = 3 < n.length && typeof i == 'function' ? (u--, i) : T + for (o && Oe(r[0], r[1], o) && ((i = 3 > u ? T : i), (u = 1)), t = Qu(t); ++e < u; ) + (o = r[e]) && n(t, o, e, i) + return t + }) + } + function Fr(n, t) { + return function (r, e) { + if (null == r) return r + if (!su(r)) return n(r, e) + for (var u = r.length, i = t ? u : -1, o = Qu(r); (t ? i-- : ++i < u) && false !== e(o[i], i, o); ); + return r + } + } + function Nr(n) { + return function (t, r, e) { + var u = -1, + i = Qu(t) + e = e(t) + for (var o = e.length; o--; ) { + var f = e[n ? o : ++u] + if (false === r(i[f], f, i)) break + } + return t + } + } + function Pr(n, t, r) { + function e() { + return (this && this !== $n && this instanceof e ? i : n).apply(u ? r : this, arguments) + } + var u = 1 & t, + i = Vr(n) + return e + } + function Zr(n) { + return function (t) { + t = Iu(t) + var r = Rn.test(t) ? M(t) : T, + e = r ? r[0] : t.charAt(0) + return (t = r ? Or(r, 1).join('') : t.slice(1)), e[n]() + t + } + } + function qr(n) { + return function (t) { + return l(Mu(Du(t).replace(En, '')), n, '') + } + } + function Vr(n) { + return function () { + var t = arguments + switch (t.length) { + case 0: + return new n() + case 1: + return new n(t[0]) + case 2: + return new n(t[0], t[1]) + case 3: + return new n(t[0], t[1], t[2]) + case 4: + return new n(t[0], t[1], t[2], t[3]) + case 5: + return new n(t[0], t[1], t[2], t[3], t[4]) + case 6: + return new n(t[0], t[1], t[2], t[3], t[4], t[5]) + case 7: + return new n(t[0], t[1], t[2], t[3], t[4], t[5], t[6]) + } + var r = eo(n.prototype), + t = n.apply(r, t) + return du(t) ? t : r + } + } + function Kr(t, r, e) { + function u() { + for (var o = arguments.length, f = Ku(o), c = o, a = de(u); c--; ) f[c] = arguments[c] + return ( + (c = 3 > o && f[0] !== a && f[o - 1] !== a ? [] : B(f, a)), + (o -= c.length), + o < e + ? ue(t, r, Jr, u.placeholder, T, f, c, T, T, e - o) + : n(this && this !== $n && this instanceof u ? i : t, this, f) + ) + } + var i = Vr(t) + return u + } + function Gr(n) { + return function (t, r, e) { + var u = Qu(t) + if (!su(t)) { + var i = ye(r, 3) + ;(t = Wu(t)), + (r = function (n) { + return i(u[n], n, u) + }) + } + return (r = n(t, r, e)), -1 < r ? u[i ? t[r] : r] : T + } + } + function Hr(n) { + return pe(function (t) { + var r = t.length, + e = r, + u = On.prototype.thru + for (n && t.reverse(); e--; ) { + var i = t[e] + if (typeof i != 'function') throw new ti('Expected a function') + if (u && !o && 'wrapper' == ge(i)) var o = new On([], true) + } + for (e = o ? e : r; ++e < r; ) + var i = t[e], + u = ge(i), + f = 'wrapper' == u ? ho(i) : T, + o = + f && Re(f[0]) && 424 == f[1] && !f[4].length && 1 == f[9] + ? o[ge(f[0])].apply(o, f[3]) + : 1 == i.length && Re(i) + ? o[u]() + : o.thru(i) + return function () { + var n = arguments, + e = n[0] + if (o && 1 == n.length && ff(e)) return o.plant(e).value() + for (var u = 0, n = r ? t[u].apply(this, n) : e; ++u < r; ) n = t[u].call(this, n) + return n + } + }) + } + function Jr(n, t, r, e, u, i, o, f, c, a) { + function l() { + for (var d = arguments.length, y = Ku(d), b = d; b--; ) y[b] = arguments[b] + if (_) { + var x, + j = de(l), + b = y.length + for (x = 0; b--; ) y[b] === j && ++x + } + if ((e && (y = Ur(y, e, u, _)), i && (y = Br(y, i, o, _)), (d -= x), _ && d < a)) + return (j = B(y, j)), ue(n, t, Jr, l.placeholder, r, y, j, f, c, a - d) + if (((j = h ? r : this), (b = p ? j[n] : n), (d = y.length), f)) { + x = y.length + for (var w = Ci(f.length, x), m = Lr(y); w--; ) { + var A = f[w] + y[w] = Se(A, x) ? m[A] : T + } + } else v && 1 < d && y.reverse() + return ( + s && c < d && (y.length = c), this && this !== $n && this instanceof l && (b = g || Vr(b)), b.apply(j, y) + ) + } + var s = 128 & t, + h = 1 & t, + p = 2 & t, + _ = 24 & t, + v = 512 & t, + g = p ? T : Vr(n) + return l + } + function Yr(n, t) { + return function (r, e) { + return Ut(r, n, t(e), {}) + } + } + function Qr(n, t) { + return function (r, e) { + var u + if (r === T && e === T) return t + if ((r !== T && (u = r), e !== T)) { + if (u === T) return e + typeof r == 'string' || typeof e == 'string' ? ((r = yr(r)), (e = yr(e))) : ((r = dr(r)), (e = dr(e))), + (u = n(r, e)) + } + return u + } + } + function Xr(t) { + return pe(function (r) { + return ( + (r = c(r, E(ye()))), + fr(function (e) { + var u = this + return t(r, function (t) { + return n(t, u, e) + }) + }) + ) + }) + } + function ne(n, t) { + t = t === T ? ' ' : yr(t) + var r = t.length + return 2 > r + ? r + ? or(t, n) + : t + : ((r = or(t, Oi(n / D(t)))), Rn.test(t) ? Or(M(r), 0, n).join('') : r.slice(0, n)) + } + function te(t, r, e, u) { + function i() { + for ( + var r = -1, + c = arguments.length, + a = -1, + l = u.length, + s = Ku(l + c), + h = this && this !== $n && this instanceof i ? f : t; + ++a < l; + + ) + s[a] = u[a] + for (; c--; ) s[a++] = arguments[++r] + return n(h, o ? e : this, s) + } + var o = 1 & r, + f = Vr(t) + return i + } + function re(n) { + return function (t, r, e) { + e && typeof e != 'number' && Oe(t, r, e) && (r = e = T), + (t = Au(t)), + r === T ? ((r = t), (t = 0)) : (r = Au(r)), + (e = e === T ? (t < r ? 1 : -1) : Au(e)) + var u = -1 + r = Li(Oi((r - t) / (e || 1)), 0) + for (var i = Ku(r); r--; ) (i[n ? r : ++u] = t), (t += e) + return i + } + } + function ee(n) { + return function (t, r) { + return (typeof t == 'string' && typeof r == 'string') || ((t = Su(t)), (r = Su(r))), n(t, r) + } + } + function ue(n, t, r, e, u, i, o, f, c, a) { + var l = 8 & t, + s = l ? o : T + o = l ? T : o + var h = l ? i : T + return ( + (i = l ? T : i), + (t = (t | (l ? 32 : 64)) & ~(l ? 64 : 32)), + 4 & t || (t &= -4), + (u = [n, t, u, h, s, i, o, f, c, a]), + (r = r.apply(T, u)), + Re(n) && yo(r, u), + (r.placeholder = e), + Le(r, n, t) + ) + } + function ie(n) { + var t = Yu[n] + return function (n, r) { + if (((n = Su(n)), (r = null == r ? 0 : Ci(ku(r), 292)))) { + var e = (Iu(n) + 'e').split('e'), + e = t(e[0] + 'e' + (+e[1] + r)), + e = (Iu(e) + 'e').split('e') + return +(e[0] + 'e' + (+e[1] - r)) + } + return t(n) + } + } + function oe(n) { + return function (t) { + var r = vo(t) + return '[object Map]' == r ? W(t) : '[object Set]' == r ? C(t) : k(t, n(t)) + } + } + function fe(n, t, r, e, u, i, o, f) { + var c = 2 & t + if (!c && typeof n != 'function') throw new ti('Expected a function') + var a = e ? e.length : 0 + if ( + (a || ((t &= -97), (e = u = T)), + (o = o === T ? o : Li(ku(o), 0)), + (f = f === T ? f : ku(f)), + (a -= u ? u.length : 0), + 64 & t) + ) { + var l = e, + s = u + e = u = T + } + var h = c ? T : ho(n) + return ( + (i = [n, t, r, e, u, l, s, i, o, f]), + h && + ((r = i[1]), + (n = h[1]), + (t = r | n), + (e = + (128 == n && 8 == r) || + (128 == n && 256 == r && i[7].length <= h[8]) || + (384 == n && h[7].length <= h[8] && 8 == r)), + 131 > t || e) && + (1 & n && ((i[2] = h[2]), (t |= 1 & r ? 0 : 4)), + (r = h[3]) && + ((e = i[3]), (i[3] = e ? Ur(e, r, h[4]) : r), (i[4] = e ? B(i[3], '__lodash_placeholder__') : h[4])), + (r = h[5]) && + ((e = i[5]), (i[5] = e ? Br(e, r, h[6]) : r), (i[6] = e ? B(i[5], '__lodash_placeholder__') : h[6])), + (r = h[7]) && (i[7] = r), + 128 & n && (i[8] = null == i[8] ? h[8] : Ci(i[8], h[8])), + null == i[9] && (i[9] = h[9]), + (i[0] = h[0]), + (i[1] = t)), + (n = i[0]), + (t = i[1]), + (r = i[2]), + (e = i[3]), + (u = i[4]), + (f = i[9] = i[9] === T ? (c ? 0 : n.length) : Li(i[9] - a, 0)), + !f && 24 & t && (t &= -25), + (c = + t && 1 != t + ? 8 == t || 16 == t + ? Kr(n, t, f) + : (32 != t && 33 != t) || u.length + ? Jr.apply(T, i) + : te(n, t, r, e) + : Pr(n, t, r)), + Le((h ? co : yo)(c, i), n, t) + ) + } + function ce(n, t, r, e) { + return n === T || (lu(n, ei[r]) && !oi.call(e, r)) ? t : n + } + function ae(n, t, r, e, u, i) { + return du(n) && du(t) && (i.set(t, n), Yt(n, t, T, ae, i), i.delete(t)), n + } + function le(n) { + return xu(n) ? T : n + } + function se(n, t, r, e, u, i) { + var o = 1 & r, + f = n.length, + c = t.length + if (f != c && !(o && c > f)) return false + if ((c = i.get(n)) && i.get(t)) return c == t + var c = -1, + a = true, + l = 2 & r ? new Nn() : T + for (i.set(n, t), i.set(t, n); ++c < f; ) { + var s = n[c], + p = t[c] + if (e) var _ = o ? e(p, s, c, t, n, i) : e(s, p, c, n, t, i) + if (_ !== T) { + if (_) continue + a = false + break + } + if (l) { + if ( + !h(t, function (n, t) { + if (!O(l, t) && (s === n || u(s, n, r, e, i))) return l.push(t) + }) + ) { + a = false + break + } + } else if (s !== p && !u(s, p, r, e, i)) { + a = false + break + } + } + return i.delete(n), i.delete(t), a + } + function he(n, t, r, e, u, i, o) { + switch (r) { + case '[object DataView]': + if (n.byteLength != t.byteLength || n.byteOffset != t.byteOffset) break + ;(n = n.buffer), (t = t.buffer) + case '[object ArrayBuffer]': + if (n.byteLength != t.byteLength || !i(new vi(n), new vi(t))) break + return true + case '[object Boolean]': + case '[object Date]': + case '[object Number]': + return lu(+n, +t) + case '[object Error]': + return n.name == t.name && n.message == t.message + case '[object RegExp]': + case '[object String]': + return n == t + '' + case '[object Map]': + var f = W + case '[object Set]': + if ((f || (f = L), n.size != t.size && !(1 & e))) break + return (r = o.get(n)) ? r == t : ((e |= 2), o.set(n, t), (t = se(f(n), f(t), e, u, i, o)), o.delete(n), t) + case '[object Symbol]': + if (to) return to.call(n) == to.call(t) + } + return false + } + function pe(n) { + return xo(Ue(n, T, Ze), n + '') + } + function _e(n) { + return St(n, Wu, po) + } + function ve(n) { + return St(n, Uu, _o) + } + function ge(n) { + for (var t = n.name + '', r = Gi[t], e = oi.call(Gi, t) ? r.length : 0; e--; ) { + var u = r[e], + i = u.func + if (null == i || i == n) return u.name + } + return t + } + function de(n) { + return (oi.call(An, 'placeholder') ? An : n).placeholder + } + function ye() { + var n = An.iteratee || Fu, + n = n === Fu ? qt : n + return arguments.length ? n(arguments[0], arguments[1]) : n + } + function be(n, t) { + var r = n.__data__, + e = typeof t + return ('string' == e || 'number' == e || 'symbol' == e || 'boolean' == e ? '__proto__' !== t : null === t) + ? r[typeof t == 'string' ? 'string' : 'hash'] + : r.map + } + function xe(n) { + for (var t = Wu(n), r = t.length; r--; ) { + var e = t[r], + u = n[e] + t[r] = [e, u, u === u && !du(u)] + } + return t + } + function je(n, t) { + var r = null == n ? T : n[t] + return Ft(r) ? r : T + } + function we(n, t, r) { + t = Sr(t, n) + for (var e = -1, u = t.length, i = false; ++e < u; ) { + var o = Me(t[e]) + if (!(i = null != n && r(n, o))) break + n = n[o] + } + return i || ++e != u ? i : ((u = null == n ? 0 : n.length), !!u && gu(u) && Se(o, u) && (ff(n) || of(n))) + } + function me(n) { + var t = n.length, + r = new n.constructor(t) + return t && 'string' == typeof n[0] && oi.call(n, 'index') && ((r.index = n.index), (r.input = n.input)), r + } + function Ae(n) { + return typeof n.constructor != 'function' || ze(n) ? {} : eo(di(n)) + } + function ke(n, t, r) { + var e = n.constructor + switch (t) { + case '[object ArrayBuffer]': + return Rr(n) + case '[object Boolean]': + case '[object Date]': + return new e(+n) + case '[object DataView]': + return (t = r ? Rr(n.buffer) : n.buffer), new n.constructor(t, n.byteOffset, n.byteLength) + case '[object Float32Array]': + case '[object Float64Array]': + case '[object Int8Array]': + case '[object Int16Array]': + case '[object Int32Array]': + case '[object Uint8Array]': + case '[object Uint8ClampedArray]': + case '[object Uint16Array]': + case '[object Uint32Array]': + return zr(n, r) + case '[object Map]': + return new e() + case '[object Number]': + case '[object String]': + return new e(n) + case '[object RegExp]': + return (t = new n.constructor(n.source, _n.exec(n))), (t.lastIndex = n.lastIndex), t + case '[object Set]': + return new e() + case '[object Symbol]': + return to ? Qu(to.call(n)) : {} + } + } + function Ee(n) { + return ff(n) || of(n) || !!(ji && n && n[ji]) + } + function Se(n, t) { + var r = typeof n + return ( + (t = null == t ? 9007199254740991 : t), + !!t && ('number' == r || ('symbol' != r && bn.test(n))) && -1 < n && 0 == n % 1 && n < t + ) + } + function Oe(n, t, r) { + if (!du(r)) return false + var e = typeof t + return !!('number' == e ? su(r) && Se(t, r.length) : 'string' == e && t in r) && lu(r[t], n) + } + function Ie(n, t) { + if (ff(n)) return false + var r = typeof n + return ( + !('number' != r && 'symbol' != r && 'boolean' != r && null != n && !wu(n)) || + nn.test(n) || + !X.test(n) || + (null != t && n in Qu(t)) + ) + } + function Re(n) { + var t = ge(n), + r = An[t] + return typeof r == 'function' && t in Ln.prototype && (n === r || ((t = ho(r)), !!t && n === t[0])) + } + function ze(n) { + var t = n && n.constructor + return n === ((typeof t == 'function' && t.prototype) || ei) + } + function We(n, t) { + return function (r) { + return null != r && r[n] === t && (t !== T || n in Qu(r)) + } + } + function Ue(t, r, e) { + return ( + (r = Li(r === T ? t.length - 1 : r, 0)), + function () { + for (var u = arguments, i = -1, o = Li(u.length - r, 0), f = Ku(o); ++i < o; ) f[i] = u[r + i] + for (i = -1, o = Ku(r + 1); ++i < r; ) o[i] = u[i] + return (o[r] = e(f)), n(t, this, o) + } + ) + } + function Be(n, t) { + if ('__proto__' != t) return n[t] + } + function Le(n, t, r) { + var e = t + '' + t = xo + var u, + i = $e + return ( + (u = (u = e.match(an)) ? u[1].split(ln) : []), + (r = i(u, r)), + (i = r.length) && + ((u = i - 1), + (r[u] = (1 < i ? '& ' : '') + r[u]), + (r = r.join(2 < i ? ', ' : ' ')), + (e = e.replace(cn, '{\n/* [wrapped with ' + r + '] */\n'))), + t(n, e) + ) + } + function Ce(n) { + var t = 0, + r = 0 + return function () { + var e = Di(), + u = 16 - (e - r) + if (((r = e), 0 < u)) { + if (800 <= ++t) return arguments[0] + } else t = 0 + return n.apply(T, arguments) + } + } + function De(n, t) { + var r = -1, + e = n.length, + u = e - 1 + for (t = t === T ? e : t; ++r < t; ) { + var e = ir(r, u), + i = n[e] + ;(n[e] = n[r]), (n[r] = i) + } + return (n.length = t), n + } + function Me(n) { + if (typeof n == 'string' || wu(n)) return n + var t = n + '' + return '0' == t && 1 / n == -$ ? '-0' : t + } + function Te(n) { + if (null != n) { + try { + return ii.call(n) + } catch (n) {} + return n + '' + } + return '' + } + function $e(n, t) { + return ( + r(N, function (r) { + var e = '_.' + r[0] + t & r[1] && !o(n, e) && n.push(e) + }), + n.sort() + ) + } + function Fe(n) { + if (n instanceof Ln) return n.clone() + var t = new On(n.__wrapped__, n.__chain__) + return (t.__actions__ = Lr(n.__actions__)), (t.__index__ = n.__index__), (t.__values__ = n.__values__), t + } + function Ne(n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((r = null == r ? 0 : ku(r)), 0 > r && (r = Li(e + r, 0)), _(n, ye(t, 3), r)) : -1 + } + function Pe(n, t, r) { + var e = null == n ? 0 : n.length + if (!e) return -1 + var u = e - 1 + return r !== T && ((u = ku(r)), (u = 0 > r ? Li(e + u, 0) : Ci(u, e - 1))), _(n, ye(t, 3), u, true) + } + function Ze(n) { + return (null == n ? 0 : n.length) ? wt(n, 1) : [] + } + function qe(n) { + return n && n.length ? n[0] : T + } + function Ve(n) { + var t = null == n ? 0 : n.length + return t ? n[t - 1] : T + } + function Ke(n, t) { + return n && n.length && t && t.length ? er(n, t) : n + } + function Ge(n) { + return null == n ? n : $i.call(n) + } + function He(n) { + if (!n || !n.length) return [] + var t = 0 + return ( + (n = i(n, function (n) { + if (hu(n)) return (t = Li(n.length, t)), true + })), + A(t, function (t) { + return c(n, b(t)) + }) + ) + } + function Je(t, r) { + if (!t || !t.length) return [] + var e = He(t) + return null == r + ? e + : c(e, function (t) { + return n(r, T, t) + }) + } + function Ye(n) { + return (n = An(n)), (n.__chain__ = true), n + } + function Qe(n, t) { + return t(n) + } + function Xe() { + return this + } + function nu(n, t) { + return (ff(n) ? r : uo)(n, ye(t, 3)) + } + function tu(n, t) { + return (ff(n) ? e : io)(n, ye(t, 3)) + } + function ru(n, t) { + return (ff(n) ? c : Gt)(n, ye(t, 3)) + } + function eu(n, t, r) { + return (t = r ? T : t), (t = n && null == t ? n.length : t), fe(n, 128, T, T, T, T, t) + } + function uu(n, t) { + var r + if (typeof t != 'function') throw new ti('Expected a function') + return ( + (n = ku(n)), + function () { + return 0 < --n && (r = t.apply(this, arguments)), 1 >= n && (t = T), r + } + ) + } + function iu(n, t, r) { + return (t = r ? T : t), (n = fe(n, 8, T, T, T, T, T, t)), (n.placeholder = iu.placeholder), n + } + function ou(n, t, r) { + return (t = r ? T : t), (n = fe(n, 16, T, T, T, T, T, t)), (n.placeholder = ou.placeholder), n + } + function fu(n, t, r) { + function e(t) { + var r = c, + e = a + return (c = a = T), (_ = t), (s = n.apply(e, r)) + } + function u(n) { + var r = n - p + return (n -= _), p === T || r >= t || 0 > r || (g && n >= l) + } + function i() { + var n = Go() + if (u(n)) return o(n) + var r, + e = bo + ;(r = n - _), (n = t - (n - p)), (r = g ? Ci(n, l - r) : n), (h = e(i, r)) + } + function o(n) { + return (h = T), d && c ? e(n) : ((c = a = T), s) + } + function f() { + var n = Go(), + r = u(n) + if (((c = arguments), (a = this), (p = n), r)) { + if (h === T) return (_ = n = p), (h = bo(i, t)), v ? e(n) : s + if (g) return (h = bo(i, t)), e(p) + } + return h === T && (h = bo(i, t)), s + } + var c, + a, + l, + s, + h, + p, + _ = 0, + v = false, + g = false, + d = true + if (typeof n != 'function') throw new ti('Expected a function') + return ( + (t = Su(t) || 0), + du(r) && + ((v = !!r.leading), + (l = (g = 'maxWait' in r) ? Li(Su(r.maxWait) || 0, t) : l), + (d = 'trailing' in r ? !!r.trailing : d)), + (f.cancel = function () { + h !== T && lo(h), (_ = 0), (c = p = a = h = T) + }), + (f.flush = function () { + return h === T ? s : o(Go()) + }), + f + ) + } + function cu(n, t) { + if (typeof n != 'function' || (null != t && typeof t != 'function')) throw new ti('Expected a function') + var r = function () { + var e = arguments, + u = t ? t.apply(this, e) : e[0], + i = r.cache + return i.has(u) ? i.get(u) : ((e = n.apply(this, e)), (r.cache = i.set(u, e) || i), e) + } + return (r.cache = new (cu.Cache || Fn)()), r + } + function au(n) { + if (typeof n != 'function') throw new ti('Expected a function') + return function () { + var t = arguments + switch (t.length) { + case 0: + return !n.call(this) + case 1: + return !n.call(this, t[0]) + case 2: + return !n.call(this, t[0], t[1]) + case 3: + return !n.call(this, t[0], t[1], t[2]) + } + return !n.apply(this, t) + } + } + function lu(n, t) { + return n === t || (n !== n && t !== t) + } + function su(n) { + return null != n && gu(n.length) && !_u(n) + } + function hu(n) { + return yu(n) && su(n) + } + function pu(n) { + if (!yu(n)) return false + var t = Ot(n) + return ( + '[object Error]' == t || + '[object DOMException]' == t || + (typeof n.message == 'string' && typeof n.name == 'string' && !xu(n)) + ) + } + function _u(n) { + return ( + !!du(n) && + ((n = Ot(n)), + '[object Function]' == n || + '[object GeneratorFunction]' == n || + '[object AsyncFunction]' == n || + '[object Proxy]' == n) + ) + } + function vu(n) { + return typeof n == 'number' && n == ku(n) + } + function gu(n) { + return typeof n == 'number' && -1 < n && 0 == n % 1 && 9007199254740991 >= n + } + function du(n) { + var t = typeof n + return null != n && ('object' == t || 'function' == t) + } + function yu(n) { + return null != n && typeof n == 'object' + } + function bu(n) { + return typeof n == 'number' || (yu(n) && '[object Number]' == Ot(n)) + } + function xu(n) { + return ( + !(!yu(n) || '[object Object]' != Ot(n)) && + ((n = di(n)), + null === n || + ((n = oi.call(n, 'constructor') && n.constructor), + typeof n == 'function' && n instanceof n && ii.call(n) == li)) + ) + } + function ju(n) { + return typeof n == 'string' || (!ff(n) && yu(n) && '[object String]' == Ot(n)) + } + function wu(n) { + return typeof n == 'symbol' || (yu(n) && '[object Symbol]' == Ot(n)) + } + function mu(n) { + if (!n) return [] + if (su(n)) return ju(n) ? M(n) : Lr(n) + if (wi && n[wi]) { + n = n[wi]() + for (var t, r = []; !(t = n.next()).done; ) r.push(t.value) + return r + } + return (t = vo(n)), ('[object Map]' == t ? W : '[object Set]' == t ? L : Lu)(n) + } + function Au(n) { + return n + ? ((n = Su(n)), n === $ || n === -$ ? 1.7976931348623157e308 * (0 > n ? -1 : 1) : n === n ? n : 0) + : 0 === n + ? n + : 0 + } + function ku(n) { + n = Au(n) + var t = n % 1 + return n === n ? (t ? n - t : n) : 0 + } + function Eu(n) { + return n ? pt(ku(n), 0, 4294967295) : 0 + } + function Su(n) { + if (typeof n == 'number') return n + if (wu(n)) return F + if ( + (du(n) && ((n = typeof n.valueOf == 'function' ? n.valueOf() : n), (n = du(n) ? n + '' : n)), + typeof n != 'string') + ) + return 0 === n ? n : +n + n = n.replace(un, '') + var t = gn.test(n) + return t || yn.test(n) ? Dn(n.slice(2), t ? 2 : 8) : vn.test(n) ? F : +n + } + function Ou(n) { + return Cr(n, Uu(n)) + } + function Iu(n) { + return null == n ? '' : yr(n) + } + function Ru(n, t, r) { + return (n = null == n ? T : Et(n, t)), n === T ? r : n + } + function zu(n, t) { + return null != n && we(n, t, zt) + } + function Wu(n) { + return su(n) ? qn(n) : Vt(n) + } + function Uu(n) { + if (su(n)) n = qn(n, true) + else if (du(n)) { + var t, + r = ze(n), + e = [] + for (t in n) ('constructor' != t || (!r && oi.call(n, t))) && e.push(t) + n = e + } else { + if (((t = []), null != n)) for (r in Qu(n)) t.push(r) + n = t + } + return n + } + function Bu(n, t) { + if (null == n) return {} + var r = c(ve(n), function (n) { + return [n] + }) + return ( + (t = ye(t)), + tr(n, r, function (n, r) { + return t(n, r[0]) + }) + ) + } + function Lu(n) { + return null == n ? [] : S(n, Wu(n)) + } + function Cu(n) { + return $f(Iu(n).toLowerCase()) + } + function Du(n) { + return (n = Iu(n)) && n.replace(xn, Xn).replace(Sn, '') + } + function Mu(n, t, r) { + return ( + (n = Iu(n)), + (t = r ? T : t), + t === T ? (zn.test(n) ? n.match(In) || [] : n.match(sn) || []) : n.match(t) || [] + ) + } + function Tu(n) { + return function () { + return n + } + } + function $u(n) { + return n + } + function Fu(n) { + return qt(typeof n == 'function' ? n : _t(n, 1)) + } + function Nu(n, t, e) { + var u = Wu(t), + i = kt(t, u) + null != e || (du(t) && (i.length || !u.length)) || ((e = t), (t = n), (n = this), (i = kt(t, Wu(t)))) + var o = !(du(e) && 'chain' in e && !e.chain), + f = _u(n) + return ( + r(i, function (r) { + var e = t[r] + ;(n[r] = e), + f && + (n.prototype[r] = function () { + var t = this.__chain__ + if (o || t) { + var r = n(this.__wrapped__) + return ( + (r.__actions__ = Lr(this.__actions__)).push({ + func: e, + args: arguments, + thisArg: n + }), + (r.__chain__ = t), + r + ) + } + return e.apply(n, a([this.value()], arguments)) + }) + }), + n + ) + } + function Pu() {} + function Zu(n) { + return Ie(n) ? b(Me(n)) : rr(n) + } + function qu() { + return [] + } + function Vu() { + return false + } + mn = null == mn ? $n : rt.defaults($n.Object(), mn, rt.pick($n, Wn)) + var Ku = mn.Array, + Gu = mn.Date, + Hu = mn.Error, + Ju = mn.Function, + Yu = mn.Math, + Qu = mn.Object, + Xu = mn.RegExp, + ni = mn.String, + ti = mn.TypeError, + ri = Ku.prototype, + ei = Qu.prototype, + ui = mn['__core-js_shared__'], + ii = Ju.prototype.toString, + oi = ei.hasOwnProperty, + fi = 0, + ci = (function () { + var n = /[^.]+$/.exec((ui && ui.keys && ui.keys.IE_PROTO) || '') + return n ? 'Symbol(src)_1.' + n : '' + })(), + ai = ei.toString, + li = ii.call(Qu), + si = $n._, + hi = Xu( + '^' + + ii + .call(oi) + .replace(rn, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + + '$' + ), + pi = Pn ? mn.Buffer : T, + _i = mn.Symbol, + vi = mn.Uint8Array, + gi = pi ? pi.allocUnsafe : T, + di = U(Qu.getPrototypeOf, Qu), + yi = Qu.create, + bi = ei.propertyIsEnumerable, + xi = ri.splice, + ji = _i ? _i.isConcatSpreadable : T, + wi = _i ? _i.iterator : T, + mi = _i ? _i.toStringTag : T, + Ai = (function () { + try { + var n = je(Qu, 'defineProperty') + return n({}, '', {}), n + } catch (n) {} + })(), + ki = mn.clearTimeout !== $n.clearTimeout && mn.clearTimeout, + Ei = Gu && Gu.now !== $n.Date.now && Gu.now, + Si = mn.setTimeout !== $n.setTimeout && mn.setTimeout, + Oi = Yu.ceil, + Ii = Yu.floor, + Ri = Qu.getOwnPropertySymbols, + zi = pi ? pi.isBuffer : T, + Wi = mn.isFinite, + Ui = ri.join, + Bi = U(Qu.keys, Qu), + Li = Yu.max, + Ci = Yu.min, + Di = Gu.now, + Mi = mn.parseInt, + Ti = Yu.random, + $i = ri.reverse, + Fi = je(mn, 'DataView'), + Ni = je(mn, 'Map'), + Pi = je(mn, 'Promise'), + Zi = je(mn, 'Set'), + qi = je(mn, 'WeakMap'), + Vi = je(Qu, 'create'), + Ki = qi && new qi(), + Gi = {}, + Hi = Te(Fi), + Ji = Te(Ni), + Yi = Te(Pi), + Qi = Te(Zi), + Xi = Te(qi), + no = _i ? _i.prototype : T, + to = no ? no.valueOf : T, + ro = no ? no.toString : T, + eo = (function () { + function n() {} + return function (t) { + return du(t) ? (yi ? yi(t) : ((n.prototype = t), (t = new n()), (n.prototype = T), t)) : {} + } + })() + ;(An.templateSettings = { + escape: J, + evaluate: Y, + interpolate: Q, + variable: '', + imports: { _: An } + }), + (An.prototype = kn.prototype), + (An.prototype.constructor = An), + (On.prototype = eo(kn.prototype)), + (On.prototype.constructor = On), + (Ln.prototype = eo(kn.prototype)), + (Ln.prototype.constructor = Ln), + (Mn.prototype.clear = function () { + ;(this.__data__ = Vi ? Vi(null) : {}), (this.size = 0) + }), + (Mn.prototype.delete = function (n) { + return (n = this.has(n) && delete this.__data__[n]), (this.size -= n ? 1 : 0), n + }), + (Mn.prototype.get = function (n) { + var t = this.__data__ + return Vi ? ((n = t[n]), '__lodash_hash_undefined__' === n ? T : n) : oi.call(t, n) ? t[n] : T + }), + (Mn.prototype.has = function (n) { + var t = this.__data__ + return Vi ? t[n] !== T : oi.call(t, n) + }), + (Mn.prototype.set = function (n, t) { + var r = this.__data__ + return (this.size += this.has(n) ? 0 : 1), (r[n] = Vi && t === T ? '__lodash_hash_undefined__' : t), this + }), + (Tn.prototype.clear = function () { + ;(this.__data__ = []), (this.size = 0) + }), + (Tn.prototype.delete = function (n) { + var t = this.__data__ + return (n = ft(t, n)), !(0 > n) && (n == t.length - 1 ? t.pop() : xi.call(t, n, 1), --this.size, true) + }), + (Tn.prototype.get = function (n) { + var t = this.__data__ + return (n = ft(t, n)), 0 > n ? T : t[n][1] + }), + (Tn.prototype.has = function (n) { + return -1 < ft(this.__data__, n) + }), + (Tn.prototype.set = function (n, t) { + var r = this.__data__, + e = ft(r, n) + return 0 > e ? (++this.size, r.push([n, t])) : (r[e][1] = t), this + }), + (Fn.prototype.clear = function () { + ;(this.size = 0), (this.__data__ = { hash: new Mn(), map: new (Ni || Tn)(), string: new Mn() }) + }), + (Fn.prototype.delete = function (n) { + return (n = be(this, n).delete(n)), (this.size -= n ? 1 : 0), n + }), + (Fn.prototype.get = function (n) { + return be(this, n).get(n) + }), + (Fn.prototype.has = function (n) { + return be(this, n).has(n) + }), + (Fn.prototype.set = function (n, t) { + var r = be(this, n), + e = r.size + return r.set(n, t), (this.size += r.size == e ? 0 : 1), this + }), + (Nn.prototype.add = Nn.prototype.push = function (n) { + return this.__data__.set(n, '__lodash_hash_undefined__'), this + }), + (Nn.prototype.has = function (n) { + return this.__data__.has(n) + }), + (Zn.prototype.clear = function () { + ;(this.__data__ = new Tn()), (this.size = 0) + }), + (Zn.prototype.delete = function (n) { + var t = this.__data__ + return (n = t.delete(n)), (this.size = t.size), n + }), + (Zn.prototype.get = function (n) { + return this.__data__.get(n) + }), + (Zn.prototype.has = function (n) { + return this.__data__.has(n) + }), + (Zn.prototype.set = function (n, t) { + var r = this.__data__ + if (r instanceof Tn) { + var e = r.__data__ + if (!Ni || 199 > e.length) return e.push([n, t]), (this.size = ++r.size), this + r = this.__data__ = new Fn(e) + } + return r.set(n, t), (this.size = r.size), this + }) + var uo = Fr(mt), + io = Fr(At, true), + oo = Nr(), + fo = Nr(true), + co = Ki + ? function (n, t) { + return Ki.set(n, t), n + } + : $u, + ao = Ai + ? function (n, t) { + return Ai(n, 'toString', { + configurable: true, + enumerable: false, + value: Tu(t), + writable: true + }) + } + : $u, + lo = + ki || + function (n) { + return $n.clearTimeout(n) + }, + so = + Zi && 1 / L(new Zi([, -0]))[1] == $ + ? function (n) { + return new Zi(n) + } + : Pu, + ho = Ki + ? function (n) { + return Ki.get(n) + } + : Pu, + po = Ri + ? function (n) { + return null == n + ? [] + : ((n = Qu(n)), + i(Ri(n), function (t) { + return bi.call(n, t) + })) + } + : qu, + _o = Ri + ? function (n) { + for (var t = []; n; ) a(t, po(n)), (n = di(n)) + return t + } + : qu, + vo = Ot + ;((Fi && '[object DataView]' != vo(new Fi(new ArrayBuffer(1)))) || + (Ni && '[object Map]' != vo(new Ni())) || + (Pi && '[object Promise]' != vo(Pi.resolve())) || + (Zi && '[object Set]' != vo(new Zi())) || + (qi && '[object WeakMap]' != vo(new qi()))) && + (vo = function (n) { + var t = Ot(n) + if ((n = (n = '[object Object]' == t ? n.constructor : T) ? Te(n) : '')) + switch (n) { + case Hi: + return '[object DataView]' + case Ji: + return '[object Map]' + case Yi: + return '[object Promise]' + case Qi: + return '[object Set]' + case Xi: + return '[object WeakMap]' + } + return t + }) + var go = ui ? _u : Vu, + yo = Ce(co), + bo = + Si || + function (n, t) { + return $n.setTimeout(n, t) + }, + xo = Ce(ao), + jo = (function (n) { + n = cu(n, function (n) { + return 500 === t.size && t.clear(), n + }) + var t = n.cache + return n + })(function (n) { + var t = [] + return ( + 46 === n.charCodeAt(0) && t.push(''), + n.replace(tn, function (n, r, e, u) { + t.push(e ? u.replace(hn, '$1') : r || n) + }), + t + ) + }), + wo = fr(function (n, t) { + return hu(n) ? yt(n, wt(t, 1, hu, true)) : [] + }), + mo = fr(function (n, t) { + var r = Ve(t) + return hu(r) && (r = T), hu(n) ? yt(n, wt(t, 1, hu, true), ye(r, 2)) : [] + }), + Ao = fr(function (n, t) { + var r = Ve(t) + return hu(r) && (r = T), hu(n) ? yt(n, wt(t, 1, hu, true), T, r) : [] + }), + ko = fr(function (n) { + var t = c(n, kr) + return t.length && t[0] === n[0] ? Wt(t) : [] + }), + Eo = fr(function (n) { + var t = Ve(n), + r = c(n, kr) + return t === Ve(r) ? (t = T) : r.pop(), r.length && r[0] === n[0] ? Wt(r, ye(t, 2)) : [] + }), + So = fr(function (n) { + var t = Ve(n), + r = c(n, kr) + return (t = typeof t == 'function' ? t : T) && r.pop(), r.length && r[0] === n[0] ? Wt(r, T, t) : [] + }), + Oo = fr(Ke), + Io = pe(function (n, t) { + var r = null == n ? 0 : n.length, + e = ht(n, t) + return ( + ur( + n, + c(t, function (n) { + return Se(n, r) ? +n : n + }).sort(Wr) + ), + e + ) + }), + Ro = fr(function (n) { + return br(wt(n, 1, hu, true)) + }), + zo = fr(function (n) { + var t = Ve(n) + return hu(t) && (t = T), br(wt(n, 1, hu, true), ye(t, 2)) + }), + Wo = fr(function (n) { + var t = Ve(n), + t = typeof t == 'function' ? t : T + return br(wt(n, 1, hu, true), T, t) + }), + Uo = fr(function (n, t) { + return hu(n) ? yt(n, t) : [] + }), + Bo = fr(function (n) { + return mr(i(n, hu)) + }), + Lo = fr(function (n) { + var t = Ve(n) + return hu(t) && (t = T), mr(i(n, hu), ye(t, 2)) + }), + Co = fr(function (n) { + var t = Ve(n), + t = typeof t == 'function' ? t : T + return mr(i(n, hu), T, t) + }), + Do = fr(He), + Mo = fr(function (n) { + var t = n.length, + t = 1 < t ? n[t - 1] : T, + t = typeof t == 'function' ? (n.pop(), t) : T + return Je(n, t) + }), + To = pe(function (n) { + var t = n.length, + r = t ? n[0] : 0, + e = this.__wrapped__, + u = function (t) { + return ht(t, n) + } + return !(1 < t || this.__actions__.length) && e instanceof Ln && Se(r) + ? ((e = e.slice(r, +r + (t ? 1 : 0))), + e.__actions__.push({ func: Qe, args: [u], thisArg: T }), + new On(e, this.__chain__).thru(function (n) { + return t && !n.length && n.push(T), n + })) + : this.thru(u) + }), + $o = Tr(function (n, t, r) { + oi.call(n, r) ? ++n[r] : st(n, r, 1) + }), + Fo = Gr(Ne), + No = Gr(Pe), + Po = Tr(function (n, t, r) { + oi.call(n, r) ? n[r].push(t) : st(n, r, [t]) + }), + Zo = fr(function (t, r, e) { + var u = -1, + i = typeof r == 'function', + o = su(t) ? Ku(t.length) : [] + return ( + uo(t, function (t) { + o[++u] = i ? n(r, t, e) : Bt(t, r, e) + }), + o + ) + }), + qo = Tr(function (n, t, r) { + st(n, r, t) + }), + Vo = Tr( + function (n, t, r) { + n[r ? 0 : 1].push(t) + }, + function () { + return [[], []] + } + ), + Ko = fr(function (n, t) { + if (null == n) return [] + var r = t.length + return ( + 1 < r && Oe(n, t[0], t[1]) ? (t = []) : 2 < r && Oe(t[0], t[1], t[2]) && (t = [t[0]]), Xt(n, wt(t, 1), []) + ) + }), + Go = + Ei || + function () { + return $n.Date.now() + }, + Ho = fr(function (n, t, r) { + var e = 1 + if (r.length) + var u = B(r, de(Ho)), + e = 32 | e + return fe(n, e, t, r, u) + }), + Jo = fr(function (n, t, r) { + var e = 3 + if (r.length) + var u = B(r, de(Jo)), + e = 32 | e + return fe(t, e, n, r, u) + }), + Yo = fr(function (n, t) { + return dt(n, 1, t) + }), + Qo = fr(function (n, t, r) { + return dt(n, Su(t) || 0, r) + }) + cu.Cache = Fn + var Xo = fr(function (t, r) { + r = 1 == r.length && ff(r[0]) ? c(r[0], E(ye())) : c(wt(r, 1), E(ye())) + var e = r.length + return fr(function (u) { + for (var i = -1, o = Ci(u.length, e); ++i < o; ) u[i] = r[i].call(this, u[i]) + return n(t, this, u) + }) + }), + nf = fr(function (n, t) { + return fe(n, 32, T, t, B(t, de(nf))) + }), + tf = fr(function (n, t) { + return fe(n, 64, T, t, B(t, de(tf))) + }), + rf = pe(function (n, t) { + return fe(n, 256, T, T, T, t) + }), + ef = ee(It), + uf = ee(function (n, t) { + return n >= t + }), + of = Lt( + (function () { + return arguments + })() + ) + ? Lt + : function (n) { + return yu(n) && oi.call(n, 'callee') && !bi.call(n, 'callee') + }, + ff = Ku.isArray, + cf = Vn ? E(Vn) : Ct, + af = zi || Vu, + lf = Kn ? E(Kn) : Dt, + sf = Gn ? E(Gn) : Tt, + hf = Hn ? E(Hn) : Nt, + pf = Jn ? E(Jn) : Pt, + _f = Yn ? E(Yn) : Zt, + vf = ee(Kt), + gf = ee(function (n, t) { + return n <= t + }), + df = $r(function (n, t) { + if (ze(t) || su(t)) Cr(t, Wu(t), n) + else for (var r in t) oi.call(t, r) && ot(n, r, t[r]) + }), + yf = $r(function (n, t) { + Cr(t, Uu(t), n) + }), + bf = $r(function (n, t, r, e) { + Cr(t, Uu(t), n, e) + }), + xf = $r(function (n, t, r, e) { + Cr(t, Wu(t), n, e) + }), + jf = pe(ht), + wf = fr(function (n, t) { + n = Qu(n) + var r = -1, + e = t.length, + u = 2 < e ? t[2] : T + for (u && Oe(t[0], t[1], u) && (e = 1); ++r < e; ) + for (var u = t[r], i = Uu(u), o = -1, f = i.length; ++o < f; ) { + var c = i[o], + a = n[c] + ;(a === T || (lu(a, ei[c]) && !oi.call(n, c))) && (n[c] = u[c]) + } + return n + }), + mf = fr(function (t) { + return t.push(T, ae), n(Of, T, t) + }), + Af = Yr(function (n, t, r) { + null != t && typeof t.toString != 'function' && (t = ai.call(t)), (n[t] = r) + }, Tu($u)), + kf = Yr(function (n, t, r) { + null != t && typeof t.toString != 'function' && (t = ai.call(t)), oi.call(n, t) ? n[t].push(r) : (n[t] = [r]) + }, ye), + Ef = fr(Bt), + Sf = $r(function (n, t, r) { + Yt(n, t, r) + }), + Of = $r(function (n, t, r, e) { + Yt(n, t, r, e) + }), + If = pe(function (n, t) { + var r = {} + if (null == n) return r + var e = false + ;(t = c(t, function (t) { + return (t = Sr(t, n)), e || (e = 1 < t.length), t + })), + Cr(n, ve(n), r), + e && (r = _t(r, 7, le)) + for (var u = t.length; u--; ) xr(r, t[u]) + return r + }), + Rf = pe(function (n, t) { + return null == n ? {} : nr(n, t) + }), + zf = oe(Wu), + Wf = oe(Uu), + Uf = qr(function (n, t, r) { + return (t = t.toLowerCase()), n + (r ? Cu(t) : t) + }), + Bf = qr(function (n, t, r) { + return n + (r ? '-' : '') + t.toLowerCase() + }), + Lf = qr(function (n, t, r) { + return n + (r ? ' ' : '') + t.toLowerCase() + }), + Cf = Zr('toLowerCase'), + Df = qr(function (n, t, r) { + return n + (r ? '_' : '') + t.toLowerCase() + }), + Mf = qr(function (n, t, r) { + return n + (r ? ' ' : '') + $f(t) + }), + Tf = qr(function (n, t, r) { + return n + (r ? ' ' : '') + t.toUpperCase() + }), + $f = Zr('toUpperCase'), + Ff = fr(function (t, r) { + try { + return n(t, T, r) + } catch (n) { + return pu(n) ? n : new Hu(n) + } + }), + Nf = pe(function (n, t) { + return ( + r(t, function (t) { + ;(t = Me(t)), st(n, t, Ho(n[t], n)) + }), + n + ) + }), + Pf = Hr(), + Zf = Hr(true), + qf = fr(function (n, t) { + return function (r) { + return Bt(r, n, t) + } + }), + Vf = fr(function (n, t) { + return function (r) { + return Bt(n, r, t) + } + }), + Kf = Xr(c), + Gf = Xr(u), + Hf = Xr(h), + Jf = re(), + Yf = re(true), + Qf = Qr(function (n, t) { + return n + t + }, 0), + Xf = ie('ceil'), + nc = Qr(function (n, t) { + return n / t + }, 1), + tc = ie('floor'), + rc = Qr(function (n, t) { + return n * t + }, 1), + ec = ie('round'), + uc = Qr(function (n, t) { + return n - t + }, 0) + return ( + (An.after = function (n, t) { + if (typeof t != 'function') throw new ti('Expected a function') + return ( + (n = ku(n)), + function () { + if (1 > --n) return t.apply(this, arguments) + } + ) + }), + (An.ary = eu), + (An.assign = df), + (An.assignIn = yf), + (An.assignInWith = bf), + (An.assignWith = xf), + (An.at = jf), + (An.before = uu), + (An.bind = Ho), + (An.bindAll = Nf), + (An.bindKey = Jo), + (An.castArray = function () { + if (!arguments.length) return [] + var n = arguments[0] + return ff(n) ? n : [n] + }), + (An.chain = Ye), + (An.chunk = function (n, t, r) { + if (((t = (r ? Oe(n, t, r) : t === T) ? 1 : Li(ku(t), 0)), (r = null == n ? 0 : n.length), !r || 1 > t)) + return [] + for (var e = 0, u = 0, i = Ku(Oi(r / t)); e < r; ) i[u++] = hr(n, e, (e += t)) + return i + }), + (An.compact = function (n) { + for (var t = -1, r = null == n ? 0 : n.length, e = 0, u = []; ++t < r; ) { + var i = n[t] + i && (u[e++] = i) + } + return u + }), + (An.concat = function () { + var n = arguments.length + if (!n) return [] + for (var t = Ku(n - 1), r = arguments[0]; n--; ) t[n - 1] = arguments[n] + return a(ff(r) ? Lr(r) : [r], wt(t, 1)) + }), + (An.cond = function (t) { + var r = null == t ? 0 : t.length, + e = ye() + return ( + (t = r + ? c(t, function (n) { + if ('function' != typeof n[1]) throw new ti('Expected a function') + return [e(n[0]), n[1]] + }) + : []), + fr(function (e) { + for (var u = -1; ++u < r; ) { + var i = t[u] + if (n(i[0], this, e)) return n(i[1], this, e) + } + }) + ) + }), + (An.conforms = function (n) { + return vt(_t(n, 1)) + }), + (An.constant = Tu), + (An.countBy = $o), + (An.create = function (n, t) { + var r = eo(n) + return null == t ? r : at(r, t) + }), + (An.curry = iu), + (An.curryRight = ou), + (An.debounce = fu), + (An.defaults = wf), + (An.defaultsDeep = mf), + (An.defer = Yo), + (An.delay = Qo), + (An.difference = wo), + (An.differenceBy = mo), + (An.differenceWith = Ao), + (An.drop = function (n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((t = r || t === T ? 1 : ku(t)), hr(n, 0 > t ? 0 : t, e)) : [] + }), + (An.dropRight = function (n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((t = r || t === T ? 1 : ku(t)), (t = e - t), hr(n, 0, 0 > t ? 0 : t)) : [] + }), + (An.dropRightWhile = function (n, t) { + return n && n.length ? jr(n, ye(t, 3), true, true) : [] + }), + (An.dropWhile = function (n, t) { + return n && n.length ? jr(n, ye(t, 3), true) : [] + }), + (An.fill = function (n, t, r, e) { + var u = null == n ? 0 : n.length + if (!u) return [] + for ( + r && typeof r != 'number' && Oe(n, t, r) && ((r = 0), (e = u)), + u = n.length, + r = ku(r), + 0 > r && (r = -r > u ? 0 : u + r), + e = e === T || e > u ? u : ku(e), + 0 > e && (e += u), + e = r > e ? 0 : Eu(e); + r < e; + + ) + n[r++] = t + return n + }), + (An.filter = function (n, t) { + return (ff(n) ? i : jt)(n, ye(t, 3)) + }), + (An.flatMap = function (n, t) { + return wt(ru(n, t), 1) + }), + (An.flatMapDeep = function (n, t) { + return wt(ru(n, t), $) + }), + (An.flatMapDepth = function (n, t, r) { + return (r = r === T ? 1 : ku(r)), wt(ru(n, t), r) + }), + (An.flatten = Ze), + (An.flattenDeep = function (n) { + return (null == n ? 0 : n.length) ? wt(n, $) : [] + }), + (An.flattenDepth = function (n, t) { + return null != n && n.length ? ((t = t === T ? 1 : ku(t)), wt(n, t)) : [] + }), + (An.flip = function (n) { + return fe(n, 512) + }), + (An.flow = Pf), + (An.flowRight = Zf), + (An.fromPairs = function (n) { + for (var t = -1, r = null == n ? 0 : n.length, e = {}; ++t < r; ) { + var u = n[t] + e[u[0]] = u[1] + } + return e + }), + (An.functions = function (n) { + return null == n ? [] : kt(n, Wu(n)) + }), + (An.functionsIn = function (n) { + return null == n ? [] : kt(n, Uu(n)) + }), + (An.groupBy = Po), + (An.initial = function (n) { + return (null == n ? 0 : n.length) ? hr(n, 0, -1) : [] + }), + (An.intersection = ko), + (An.intersectionBy = Eo), + (An.intersectionWith = So), + (An.invert = Af), + (An.invertBy = kf), + (An.invokeMap = Zo), + (An.iteratee = Fu), + (An.keyBy = qo), + (An.keys = Wu), + (An.keysIn = Uu), + (An.map = ru), + (An.mapKeys = function (n, t) { + var r = {} + return ( + (t = ye(t, 3)), + mt(n, function (n, e, u) { + st(r, t(n, e, u), n) + }), + r + ) + }), + (An.mapValues = function (n, t) { + var r = {} + return ( + (t = ye(t, 3)), + mt(n, function (n, e, u) { + st(r, e, t(n, e, u)) + }), + r + ) + }), + (An.matches = function (n) { + return Ht(_t(n, 1)) + }), + (An.matchesProperty = function (n, t) { + return Jt(n, _t(t, 1)) + }), + (An.memoize = cu), + (An.merge = Sf), + (An.mergeWith = Of), + (An.method = qf), + (An.methodOf = Vf), + (An.mixin = Nu), + (An.negate = au), + (An.nthArg = function (n) { + return ( + (n = ku(n)), + fr(function (t) { + return Qt(t, n) + }) + ) + }), + (An.omit = If), + (An.omitBy = function (n, t) { + return Bu(n, au(ye(t))) + }), + (An.once = function (n) { + return uu(2, n) + }), + (An.orderBy = function (n, t, r, e) { + return null == n + ? [] + : (ff(t) || (t = null == t ? [] : [t]), (r = e ? T : r), ff(r) || (r = null == r ? [] : [r]), Xt(n, t, r)) + }), + (An.over = Kf), + (An.overArgs = Xo), + (An.overEvery = Gf), + (An.overSome = Hf), + (An.partial = nf), + (An.partialRight = tf), + (An.partition = Vo), + (An.pick = Rf), + (An.pickBy = Bu), + (An.property = Zu), + (An.propertyOf = function (n) { + return function (t) { + return null == n ? T : Et(n, t) + } + }), + (An.pull = Oo), + (An.pullAll = Ke), + (An.pullAllBy = function (n, t, r) { + return n && n.length && t && t.length ? er(n, t, ye(r, 2)) : n + }), + (An.pullAllWith = function (n, t, r) { + return n && n.length && t && t.length ? er(n, t, T, r) : n + }), + (An.pullAt = Io), + (An.range = Jf), + (An.rangeRight = Yf), + (An.rearg = rf), + (An.reject = function (n, t) { + return (ff(n) ? i : jt)(n, au(ye(t, 3))) + }), + (An.remove = function (n, t) { + var r = [] + if (!n || !n.length) return r + var e = -1, + u = [], + i = n.length + for (t = ye(t, 3); ++e < i; ) { + var o = n[e] + t(o, e, n) && (r.push(o), u.push(e)) + } + return ur(n, u), r + }), + (An.rest = function (n, t) { + if (typeof n != 'function') throw new ti('Expected a function') + return (t = t === T ? t : ku(t)), fr(n, t) + }), + (An.reverse = Ge), + (An.sampleSize = function (n, t, r) { + return (t = (r ? Oe(n, t, r) : t === T) ? 1 : ku(t)), (ff(n) ? et : ar)(n, t) + }), + (An.set = function (n, t, r) { + return null == n ? n : lr(n, t, r) + }), + (An.setWith = function (n, t, r, e) { + return (e = typeof e == 'function' ? e : T), null == n ? n : lr(n, t, r, e) + }), + (An.shuffle = function (n) { + return (ff(n) ? ut : sr)(n) + }), + (An.slice = function (n, t, r) { + var e = null == n ? 0 : n.length + return e + ? (r && typeof r != 'number' && Oe(n, t, r) + ? ((t = 0), (r = e)) + : ((t = null == t ? 0 : ku(t)), (r = r === T ? e : ku(r))), + hr(n, t, r)) + : [] + }), + (An.sortBy = Ko), + (An.sortedUniq = function (n) { + return n && n.length ? gr(n) : [] + }), + (An.sortedUniqBy = function (n, t) { + return n && n.length ? gr(n, ye(t, 2)) : [] + }), + (An.split = function (n, t, r) { + return ( + r && typeof r != 'number' && Oe(n, t, r) && (t = r = T), + (r = r === T ? 4294967295 : r >>> 0), + r + ? (n = Iu(n)) && (typeof t == 'string' || (null != t && !hf(t))) && ((t = yr(t)), !t && Rn.test(n)) + ? Or(M(n), 0, r) + : n.split(t, r) + : [] + ) + }), + (An.spread = function (t, r) { + if (typeof t != 'function') throw new ti('Expected a function') + return ( + (r = null == r ? 0 : Li(ku(r), 0)), + fr(function (e) { + var u = e[r] + return (e = Or(e, 0, r)), u && a(e, u), n(t, this, e) + }) + ) + }), + (An.tail = function (n) { + var t = null == n ? 0 : n.length + return t ? hr(n, 1, t) : [] + }), + (An.take = function (n, t, r) { + return n && n.length ? ((t = r || t === T ? 1 : ku(t)), hr(n, 0, 0 > t ? 0 : t)) : [] + }), + (An.takeRight = function (n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((t = r || t === T ? 1 : ku(t)), (t = e - t), hr(n, 0 > t ? 0 : t, e)) : [] + }), + (An.takeRightWhile = function (n, t) { + return n && n.length ? jr(n, ye(t, 3), false, true) : [] + }), + (An.takeWhile = function (n, t) { + return n && n.length ? jr(n, ye(t, 3)) : [] + }), + (An.tap = function (n, t) { + return t(n), n + }), + (An.throttle = function (n, t, r) { + var e = true, + u = true + if (typeof n != 'function') throw new ti('Expected a function') + return ( + du(r) && ((e = 'leading' in r ? !!r.leading : e), (u = 'trailing' in r ? !!r.trailing : u)), + fu(n, t, { leading: e, maxWait: t, trailing: u }) + ) + }), + (An.thru = Qe), + (An.toArray = mu), + (An.toPairs = zf), + (An.toPairsIn = Wf), + (An.toPath = function (n) { + return ff(n) ? c(n, Me) : wu(n) ? [n] : Lr(jo(Iu(n))) + }), + (An.toPlainObject = Ou), + (An.transform = function (n, t, e) { + var u = ff(n), + i = u || af(n) || _f(n) + if (((t = ye(t, 4)), null == e)) { + var o = n && n.constructor + e = i ? (u ? new o() : []) : du(n) && _u(o) ? eo(di(n)) : {} + } + return ( + (i ? r : mt)(n, function (n, r, u) { + return t(e, n, r, u) + }), + e + ) + }), + (An.unary = function (n) { + return eu(n, 1) + }), + (An.union = Ro), + (An.unionBy = zo), + (An.unionWith = Wo), + (An.uniq = function (n) { + return n && n.length ? br(n) : [] + }), + (An.uniqBy = function (n, t) { + return n && n.length ? br(n, ye(t, 2)) : [] + }), + (An.uniqWith = function (n, t) { + return (t = typeof t == 'function' ? t : T), n && n.length ? br(n, T, t) : [] + }), + (An.unset = function (n, t) { + return null == n || xr(n, t) + }), + (An.unzip = He), + (An.unzipWith = Je), + (An.update = function (n, t, r) { + return null != n && ((r = Er(r)), (n = lr(n, t, r(Et(n, t)), void 0))), n + }), + (An.updateWith = function (n, t, r, e) { + return (e = typeof e == 'function' ? e : T), null != n && ((r = Er(r)), (n = lr(n, t, r(Et(n, t)), e))), n + }), + (An.values = Lu), + (An.valuesIn = function (n) { + return null == n ? [] : S(n, Uu(n)) + }), + (An.without = Uo), + (An.words = Mu), + (An.wrap = function (n, t) { + return nf(Er(t), n) + }), + (An.xor = Bo), + (An.xorBy = Lo), + (An.xorWith = Co), + (An.zip = Do), + (An.zipObject = function (n, t) { + return Ar(n || [], t || [], ot) + }), + (An.zipObjectDeep = function (n, t) { + return Ar(n || [], t || [], lr) + }), + (An.zipWith = Mo), + (An.entries = zf), + (An.entriesIn = Wf), + (An.extend = yf), + (An.extendWith = bf), + Nu(An, An), + (An.add = Qf), + (An.attempt = Ff), + (An.camelCase = Uf), + (An.capitalize = Cu), + (An.ceil = Xf), + (An.clamp = function (n, t, r) { + return ( + r === T && ((r = t), (t = T)), + r !== T && ((r = Su(r)), (r = r === r ? r : 0)), + t !== T && ((t = Su(t)), (t = t === t ? t : 0)), + pt(Su(n), t, r) + ) + }), + (An.clone = function (n) { + return _t(n, 4) + }), + (An.cloneDeep = function (n) { + return _t(n, 5) + }), + (An.cloneDeepWith = function (n, t) { + return (t = typeof t == 'function' ? t : T), _t(n, 5, t) + }), + (An.cloneWith = function (n, t) { + return (t = typeof t == 'function' ? t : T), _t(n, 4, t) + }), + (An.conformsTo = function (n, t) { + return null == t || gt(n, t, Wu(t)) + }), + (An.deburr = Du), + (An.defaultTo = function (n, t) { + return null == n || n !== n ? t : n + }), + (An.divide = nc), + (An.endsWith = function (n, t, r) { + ;(n = Iu(n)), (t = yr(t)) + var e = n.length, + e = (r = r === T ? e : pt(ku(r), 0, e)) + return (r -= t.length), 0 <= r && n.slice(r, e) == t + }), + (An.eq = lu), + (An.escape = function (n) { + return (n = Iu(n)) && H.test(n) ? n.replace(K, nt) : n + }), + (An.escapeRegExp = function (n) { + return (n = Iu(n)) && en.test(n) ? n.replace(rn, '\\$&') : n + }), + (An.every = function (n, t, r) { + var e = ff(n) ? u : bt + return r && Oe(n, t, r) && (t = T), e(n, ye(t, 3)) + }), + (An.find = Fo), + (An.findIndex = Ne), + (An.findKey = function (n, t) { + return p(n, ye(t, 3), mt) + }), + (An.findLast = No), + (An.findLastIndex = Pe), + (An.findLastKey = function (n, t) { + return p(n, ye(t, 3), At) + }), + (An.floor = tc), + (An.forEach = nu), + (An.forEachRight = tu), + (An.forIn = function (n, t) { + return null == n ? n : oo(n, ye(t, 3), Uu) + }), + (An.forInRight = function (n, t) { + return null == n ? n : fo(n, ye(t, 3), Uu) + }), + (An.forOwn = function (n, t) { + return n && mt(n, ye(t, 3)) + }), + (An.forOwnRight = function (n, t) { + return n && At(n, ye(t, 3)) + }), + (An.get = Ru), + (An.gt = ef), + (An.gte = uf), + (An.has = function (n, t) { + return null != n && we(n, t, Rt) + }), + (An.hasIn = zu), + (An.head = qe), + (An.identity = $u), + (An.includes = function (n, t, r, e) { + return ( + (n = su(n) ? n : Lu(n)), + (r = r && !e ? ku(r) : 0), + (e = n.length), + 0 > r && (r = Li(e + r, 0)), + ju(n) ? r <= e && -1 < n.indexOf(t, r) : !!e && -1 < v(n, t, r) + ) + }), + (An.indexOf = function (n, t, r) { + var e = null == n ? 0 : n.length + return e ? ((r = null == r ? 0 : ku(r)), 0 > r && (r = Li(e + r, 0)), v(n, t, r)) : -1 + }), + (An.inRange = function (n, t, r) { + return (t = Au(t)), r === T ? ((r = t), (t = 0)) : (r = Au(r)), (n = Su(n)), n >= Ci(t, r) && n < Li(t, r) + }), + (An.invoke = Ef), + (An.isArguments = of), + (An.isArray = ff), + (An.isArrayBuffer = cf), + (An.isArrayLike = su), + (An.isArrayLikeObject = hu), + (An.isBoolean = function (n) { + return true === n || false === n || (yu(n) && '[object Boolean]' == Ot(n)) + }), + (An.isBuffer = af), + (An.isDate = lf), + (An.isElement = function (n) { + return yu(n) && 1 === n.nodeType && !xu(n) + }), + (An.isEmpty = function (n) { + if (null == n) return true + if (su(n) && (ff(n) || typeof n == 'string' || typeof n.splice == 'function' || af(n) || _f(n) || of(n))) + return !n.length + var t = vo(n) + if ('[object Map]' == t || '[object Set]' == t) return !n.size + if (ze(n)) return !Vt(n).length + for (var r in n) if (oi.call(n, r)) return false + return true + }), + (An.isEqual = function (n, t) { + return Mt(n, t) + }), + (An.isEqualWith = function (n, t, r) { + var e = (r = typeof r == 'function' ? r : T) ? r(n, t) : T + return e === T ? Mt(n, t, T, r) : !!e + }), + (An.isError = pu), + (An.isFinite = function (n) { + return typeof n == 'number' && Wi(n) + }), + (An.isFunction = _u), + (An.isInteger = vu), + (An.isLength = gu), + (An.isMap = sf), + (An.isMatch = function (n, t) { + return n === t || $t(n, t, xe(t)) + }), + (An.isMatchWith = function (n, t, r) { + return (r = typeof r == 'function' ? r : T), $t(n, t, xe(t), r) + }), + (An.isNaN = function (n) { + return bu(n) && n != +n + }), + (An.isNative = function (n) { + if (go(n)) throw new Hu('Unsupported core-js use. Try https://npms.io/search?q=ponyfill.') + return Ft(n) + }), + (An.isNil = function (n) { + return null == n + }), + (An.isNull = function (n) { + return null === n + }), + (An.isNumber = bu), + (An.isObject = du), + (An.isObjectLike = yu), + (An.isPlainObject = xu), + (An.isRegExp = hf), + (An.isSafeInteger = function (n) { + return vu(n) && -9007199254740991 <= n && 9007199254740991 >= n + }), + (An.isSet = pf), + (An.isString = ju), + (An.isSymbol = wu), + (An.isTypedArray = _f), + (An.isUndefined = function (n) { + return n === T + }), + (An.isWeakMap = function (n) { + return yu(n) && '[object WeakMap]' == vo(n) + }), + (An.isWeakSet = function (n) { + return yu(n) && '[object WeakSet]' == Ot(n) + }), + (An.join = function (n, t) { + return null == n ? '' : Ui.call(n, t) + }), + (An.kebabCase = Bf), + (An.last = Ve), + (An.lastIndexOf = function (n, t, r) { + var e = null == n ? 0 : n.length + if (!e) return -1 + var u = e + if ((r !== T && ((u = ku(r)), (u = 0 > u ? Li(e + u, 0) : Ci(u, e - 1))), t === t)) + n: { + for (r = u + 1; r--; ) + if (n[r] === t) { + n = r + break n + } + n = r + } + else n = _(n, d, u, true) + return n + }), + (An.lowerCase = Lf), + (An.lowerFirst = Cf), + (An.lt = vf), + (An.lte = gf), + (An.max = function (n) { + return n && n.length ? xt(n, $u, It) : T + }), + (An.maxBy = function (n, t) { + return n && n.length ? xt(n, ye(t, 2), It) : T + }), + (An.mean = function (n) { + return y(n, $u) + }), + (An.meanBy = function (n, t) { + return y(n, ye(t, 2)) + }), + (An.min = function (n) { + return n && n.length ? xt(n, $u, Kt) : T + }), + (An.minBy = function (n, t) { + return n && n.length ? xt(n, ye(t, 2), Kt) : T + }), + (An.stubArray = qu), + (An.stubFalse = Vu), + (An.stubObject = function () { + return {} + }), + (An.stubString = function () { + return '' + }), + (An.stubTrue = function () { + return true + }), + (An.multiply = rc), + (An.nth = function (n, t) { + return n && n.length ? Qt(n, ku(t)) : T + }), + (An.noConflict = function () { + return $n._ === this && ($n._ = si), this + }), + (An.noop = Pu), + (An.now = Go), + (An.pad = function (n, t, r) { + n = Iu(n) + var e = (t = ku(t)) ? D(n) : 0 + return !t || e >= t ? n : ((t = (t - e) / 2), ne(Ii(t), r) + n + ne(Oi(t), r)) + }), + (An.padEnd = function (n, t, r) { + n = Iu(n) + var e = (t = ku(t)) ? D(n) : 0 + return t && e < t ? n + ne(t - e, r) : n + }), + (An.padStart = function (n, t, r) { + n = Iu(n) + var e = (t = ku(t)) ? D(n) : 0 + return t && e < t ? ne(t - e, r) + n : n + }), + (An.parseInt = function (n, t, r) { + return r || null == t ? (t = 0) : t && (t = +t), Mi(Iu(n).replace(on, ''), t || 0) + }), + (An.random = function (n, t, r) { + if ( + (r && typeof r != 'boolean' && Oe(n, t, r) && (t = r = T), + r === T && (typeof t == 'boolean' ? ((r = t), (t = T)) : typeof n == 'boolean' && ((r = n), (n = T))), + n === T && t === T ? ((n = 0), (t = 1)) : ((n = Au(n)), t === T ? ((t = n), (n = 0)) : (t = Au(t))), + n > t) + ) { + var e = n + ;(n = t), (t = e) + } + return r || n % 1 || t % 1 + ? ((r = Ti()), Ci(n + r * (t - n + Cn('1e-' + ((r + '').length - 1))), t)) + : ir(n, t) + }), + (An.reduce = function (n, t, r) { + var e = ff(n) ? l : j, + u = 3 > arguments.length + return e(n, ye(t, 4), r, u, uo) + }), + (An.reduceRight = function (n, t, r) { + var e = ff(n) ? s : j, + u = 3 > arguments.length + return e(n, ye(t, 4), r, u, io) + }), + (An.repeat = function (n, t, r) { + return (t = (r ? Oe(n, t, r) : t === T) ? 1 : ku(t)), or(Iu(n), t) + }), + (An.replace = function () { + var n = arguments, + t = Iu(n[0]) + return 3 > n.length ? t : t.replace(n[1], n[2]) + }), + (An.result = function (n, t, r) { + t = Sr(t, n) + var e = -1, + u = t.length + for (u || ((u = 1), (n = T)); ++e < u; ) { + var i = null == n ? T : n[Me(t[e])] + i === T && ((e = u), (i = r)), (n = _u(i) ? i.call(n) : i) + } + return n + }), + (An.round = ec), + (An.runInContext = x), + (An.sample = function (n) { + return (ff(n) ? Qn : cr)(n) + }), + (An.size = function (n) { + if (null == n) return 0 + if (su(n)) return ju(n) ? D(n) : n.length + var t = vo(n) + return '[object Map]' == t || '[object Set]' == t ? n.size : Vt(n).length + }), + (An.snakeCase = Df), + (An.some = function (n, t, r) { + var e = ff(n) ? h : pr + return r && Oe(n, t, r) && (t = T), e(n, ye(t, 3)) + }), + (An.sortedIndex = function (n, t) { + return _r(n, t) + }), + (An.sortedIndexBy = function (n, t, r) { + return vr(n, t, ye(r, 2)) + }), + (An.sortedIndexOf = function (n, t) { + var r = null == n ? 0 : n.length + if (r) { + var e = _r(n, t) + if (e < r && lu(n[e], t)) return e + } + return -1 + }), + (An.sortedLastIndex = function (n, t) { + return _r(n, t, true) + }), + (An.sortedLastIndexBy = function (n, t, r) { + return vr(n, t, ye(r, 2), true) + }), + (An.sortedLastIndexOf = function (n, t) { + if (null == n ? 0 : n.length) { + var r = _r(n, t, true) - 1 + if (lu(n[r], t)) return r + } + return -1 + }), + (An.startCase = Mf), + (An.startsWith = function (n, t, r) { + return (n = Iu(n)), (r = null == r ? 0 : pt(ku(r), 0, n.length)), (t = yr(t)), n.slice(r, r + t.length) == t + }), + (An.subtract = uc), + (An.sum = function (n) { + return n && n.length ? m(n, $u) : 0 + }), + (An.sumBy = function (n, t) { + return n && n.length ? m(n, ye(t, 2)) : 0 + }), + (An.template = function (n, t, r) { + var e = An.templateSettings + r && Oe(n, t, r) && (t = T), (n = Iu(n)), (t = bf({}, t, e, ce)), (r = bf({}, t.imports, e.imports, ce)) + var u, + i, + o = Wu(r), + f = S(r, o), + c = 0 + r = t.interpolate || jn + var a = "__p+='" + r = Xu( + (t.escape || jn).source + + '|' + + r.source + + '|' + + (r === Q ? pn : jn).source + + '|' + + (t.evaluate || jn).source + + '|$', + 'g' + ) + var l = 'sourceURL' in t ? '//# sourceURL=' + t.sourceURL + '\n' : '' + if ( + (n.replace(r, function (t, r, e, o, f, l) { + return ( + e || (e = o), + (a += n.slice(c, l).replace(wn, z)), + r && ((u = true), (a += "'+__e(" + r + ")+'")), + f && ((i = true), (a += "';" + f + ";\n__p+='")), + e && (a += "'+((__t=(" + e + "))==null?'':__t)+'"), + (c = l + t.length), + t + ) + }), + (a += "';"), + (t = t.variable) || (a = 'with(obj){' + a + '}'), + (a = (i ? a.replace(P, '') : a).replace(Z, '$1').replace(q, '$1;')), + (a = + 'function(' + + (t || 'obj') + + '){' + + (t ? '' : 'obj||(obj={});') + + "var __t,__p=''" + + (u ? ',__e=_.escape' : '') + + (i ? ",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}" : ';') + + a + + 'return __p}'), + (t = Ff(function () { + return Ju(o, l + 'return ' + a).apply(T, f) + })), + (t.source = a), + pu(t)) + ) + throw t + return t + }), + (An.times = function (n, t) { + if (((n = ku(n)), 1 > n || 9007199254740991 < n)) return [] + var r = 4294967295, + e = Ci(n, 4294967295) + for (t = ye(t), n -= 4294967295, e = A(e, t); ++r < n; ) t(r) + return e + }), + (An.toFinite = Au), + (An.toInteger = ku), + (An.toLength = Eu), + (An.toLower = function (n) { + return Iu(n).toLowerCase() + }), + (An.toNumber = Su), + (An.toSafeInteger = function (n) { + return n ? pt(ku(n), -9007199254740991, 9007199254740991) : 0 === n ? n : 0 + }), + (An.toString = Iu), + (An.toUpper = function (n) { + return Iu(n).toUpperCase() + }), + (An.trim = function (n, t, r) { + return (n = Iu(n)) && (r || t === T) + ? n.replace(un, '') + : n && (t = yr(t)) + ? ((n = M(n)), (r = M(t)), (t = I(n, r)), (r = R(n, r) + 1), Or(n, t, r).join('')) + : n + }), + (An.trimEnd = function (n, t, r) { + return (n = Iu(n)) && (r || t === T) + ? n.replace(fn, '') + : n && (t = yr(t)) + ? ((n = M(n)), (t = R(n, M(t)) + 1), Or(n, 0, t).join('')) + : n + }), + (An.trimStart = function (n, t, r) { + return (n = Iu(n)) && (r || t === T) + ? n.replace(on, '') + : n && (t = yr(t)) + ? ((n = M(n)), (t = I(n, M(t))), Or(n, t).join('')) + : n + }), + (An.truncate = function (n, t) { + var r = 30, + e = '...' + if (du(t)) + var u = 'separator' in t ? t.separator : u, + r = 'length' in t ? ku(t.length) : r, + e = 'omission' in t ? yr(t.omission) : e + n = Iu(n) + var i = n.length + if (Rn.test(n)) + var o = M(n), + i = o.length + if (r >= i) return n + if (((i = r - D(e)), 1 > i)) return e + if (((r = o ? Or(o, 0, i).join('') : n.slice(0, i)), u === T)) return r + e + if ((o && (i += r.length - i), hf(u))) { + if (n.slice(i).search(u)) { + var f = r + for (u.global || (u = Xu(u.source, Iu(_n.exec(u)) + 'g')), u.lastIndex = 0; (o = u.exec(f)); ) + var c = o.index + r = r.slice(0, c === T ? i : c) + } + } else n.indexOf(yr(u), i) != i && ((u = r.lastIndexOf(u)), -1 < u && (r = r.slice(0, u))) + return r + e + }), + (An.unescape = function (n) { + return (n = Iu(n)) && G.test(n) ? n.replace(V, tt) : n + }), + (An.uniqueId = function (n) { + var t = ++fi + return Iu(n) + t + }), + (An.upperCase = Tf), + (An.upperFirst = $f), + (An.each = nu), + (An.eachRight = tu), + (An.first = qe), + Nu( + An, + (function () { + var n = {} + return ( + mt(An, function (t, r) { + oi.call(An.prototype, r) || (n[r] = t) + }), + n + ) + })(), + { chain: false } + ), + (An.VERSION = '4.17.11'), + r('bind bindKey curry curryRight partial partialRight'.split(' '), function (n) { + An[n].placeholder = An + }), + r(['drop', 'take'], function (n, t) { + ;(Ln.prototype[n] = function (r) { + r = r === T ? 1 : Li(ku(r), 0) + var e = this.__filtered__ && !t ? new Ln(this) : this.clone() + return ( + e.__filtered__ + ? (e.__takeCount__ = Ci(r, e.__takeCount__)) + : e.__views__.push({ + size: Ci(r, 4294967295), + type: n + (0 > e.__dir__ ? 'Right' : '') + }), + e + ) + }), + (Ln.prototype[n + 'Right'] = function (t) { + return this.reverse()[n](t).reverse() + }) + }), + r(['filter', 'map', 'takeWhile'], function (n, t) { + var r = t + 1, + e = 1 == r || 3 == r + Ln.prototype[n] = function (n) { + var t = this.clone() + return ( + t.__iteratees__.push({ + iteratee: ye(n, 3), + type: r + }), + (t.__filtered__ = t.__filtered__ || e), + t + ) + } + }), + r(['head', 'last'], function (n, t) { + var r = 'take' + (t ? 'Right' : '') + Ln.prototype[n] = function () { + return this[r](1).value()[0] + } + }), + r(['initial', 'tail'], function (n, t) { + var r = 'drop' + (t ? '' : 'Right') + Ln.prototype[n] = function () { + return this.__filtered__ ? new Ln(this) : this[r](1) + } + }), + (Ln.prototype.compact = function () { + return this.filter($u) + }), + (Ln.prototype.find = function (n) { + return this.filter(n).head() + }), + (Ln.prototype.findLast = function (n) { + return this.reverse().find(n) + }), + (Ln.prototype.invokeMap = fr(function (n, t) { + return typeof n == 'function' + ? new Ln(this) + : this.map(function (r) { + return Bt(r, n, t) + }) + })), + (Ln.prototype.reject = function (n) { + return this.filter(au(ye(n))) + }), + (Ln.prototype.slice = function (n, t) { + n = ku(n) + var r = this + return r.__filtered__ && (0 < n || 0 > t) + ? new Ln(r) + : (0 > n ? (r = r.takeRight(-n)) : n && (r = r.drop(n)), + t !== T && ((t = ku(t)), (r = 0 > t ? r.dropRight(-t) : r.take(t - n))), + r) + }), + (Ln.prototype.takeRightWhile = function (n) { + return this.reverse().takeWhile(n).reverse() + }), + (Ln.prototype.toArray = function () { + return this.take(4294967295) + }), + mt(Ln.prototype, function (n, t) { + var r = /^(?:filter|find|map|reject)|While$/.test(t), + e = /^(?:head|last)$/.test(t), + u = An[e ? 'take' + ('last' == t ? 'Right' : '') : t], + i = e || /^find/.test(t) + u && + (An.prototype[t] = function () { + var t = this.__wrapped__, + o = e ? [1] : arguments, + f = t instanceof Ln, + c = o[0], + l = f || ff(t), + s = function (n) { + return (n = u.apply(An, a([n], o))), e && h ? n[0] : n + } + l && r && typeof c == 'function' && 1 != c.length && (f = l = false) + var h = this.__chain__, + p = !!this.__actions__.length, + c = i && !h, + f = f && !p + return !i && l + ? ((t = f ? t : new Ln(this)), + (t = n.apply(t, o)), + t.__actions__.push({ + func: Qe, + args: [s], + thisArg: T + }), + new On(t, h)) + : c && f + ? n.apply(this, o) + : ((t = this.thru(s)), c ? (e ? t.value()[0] : t.value()) : t) + }) + }), + r('pop push shift sort splice unshift'.split(' '), function (n) { + var t = ri[n], + r = /^(?:push|sort|unshift)$/.test(n) ? 'tap' : 'thru', + e = /^(?:pop|shift)$/.test(n) + An.prototype[n] = function () { + var n = arguments + if (e && !this.__chain__) { + var u = this.value() + return t.apply(ff(u) ? u : [], n) + } + return this[r](function (r) { + return t.apply(ff(r) ? r : [], n) + }) + } + }), + mt(Ln.prototype, function (n, t) { + var r = An[t] + if (r) { + var e = r.name + '' + ;(Gi[e] || (Gi[e] = [])).push({ name: t, func: r }) + } + }), + (Gi[Jr(T, 2).name] = [{ name: 'wrapper', func: T }]), + (Ln.prototype.clone = function () { + var n = new Ln(this.__wrapped__) + return ( + (n.__actions__ = Lr(this.__actions__)), + (n.__dir__ = this.__dir__), + (n.__filtered__ = this.__filtered__), + (n.__iteratees__ = Lr(this.__iteratees__)), + (n.__takeCount__ = this.__takeCount__), + (n.__views__ = Lr(this.__views__)), + n + ) + }), + (Ln.prototype.reverse = function () { + if (this.__filtered__) { + var n = new Ln(this) + ;(n.__dir__ = -1), (n.__filtered__ = true) + } else (n = this.clone()), (n.__dir__ *= -1) + return n + }), + (Ln.prototype.value = function () { + var n, + t = this.__wrapped__.value(), + r = this.__dir__, + e = ff(t), + u = 0 > r, + i = e ? t.length : 0 + n = 0 + for (var o = i, f = this.__views__, c = -1, a = f.length; ++c < a; ) { + var l = f[c], + s = l.size + switch (l.type) { + case 'drop': + n += s + break + case 'dropRight': + o -= s + break + case 'take': + o = Ci(o, n + s) + break + case 'takeRight': + n = Li(n, o - s) + } + } + if ( + ((n = { start: n, end: o }), + (o = n.start), + (f = n.end), + (n = f - o), + (o = u ? f : o - 1), + (f = this.__iteratees__), + (c = f.length), + (a = 0), + (l = Ci(n, this.__takeCount__)), + !e || (!u && i == n && l == n)) + ) + return wr(t, this.__actions__) + e = [] + n: for (; n-- && a < l; ) { + for (o += r, u = -1, i = t[o]; ++u < c; ) { + var h = f[u], + s = h.type, + h = (0, h.iteratee)(i) + if (2 == s) i = h + else if (!h) { + if (1 == s) continue n + break n + } + } + e[a++] = i + } + return e + }), + (An.prototype.at = To), + (An.prototype.chain = function () { + return Ye(this) + }), + (An.prototype.commit = function () { + return new On(this.value(), this.__chain__) + }), + (An.prototype.next = function () { + this.__values__ === T && (this.__values__ = mu(this.value())) + var n = this.__index__ >= this.__values__.length + return { done: n, value: n ? T : this.__values__[this.__index__++] } + }), + (An.prototype.plant = function (n) { + for (var t, r = this; r instanceof kn; ) { + var e = Fe(r) + ;(e.__index__ = 0), (e.__values__ = T), t ? (u.__wrapped__ = e) : (t = e) + var u = e, + r = r.__wrapped__ + } + return (u.__wrapped__ = n), t + }), + (An.prototype.reverse = function () { + var n = this.__wrapped__ + return n instanceof Ln + ? (this.__actions__.length && (n = new Ln(this)), + (n = n.reverse()), + n.__actions__.push({ func: Qe, args: [Ge], thisArg: T }), + new On(n, this.__chain__)) + : this.thru(Ge) + }), + (An.prototype.toJSON = An.prototype.valueOf = An.prototype.value = function () { + return wr(this.__wrapped__, this.__actions__) + }), + (An.prototype.first = An.prototype.head), + wi && (An.prototype[wi] = Xe), + An + ) + })() + typeof define == 'function' && typeof define.amd == 'object' && define.amd + ? (($n._ = rt), + define(function () { + return rt + })) + : Nn + ? (((Nn.exports = rt)._ = rt), (Fn._ = rt)) + : ($n._ = rt) +}.call(this)) diff --git a/public/lib/vue-router.min.js b/public/lib/vue-router.min.js new file mode 100644 index 0000000..f7e216d --- /dev/null +++ b/public/lib/vue-router.min.js @@ -0,0 +1,1409 @@ +/** + * vue-router v3.0.1 + * (c) 2017 Evan You + * @license MIT + */ +!(function(t, e) { + 'object' == typeof exports && 'undefined' != typeof module + ? (module.exports = e()) + : 'function' == typeof define && define.amd + ? define(e) + : (t.VueRouter = e()) +})(this, function() { + 'use strict' + function t(t, e) {} + function e(t) { + return Object.prototype.toString.call(t).indexOf('Error') > -1 + } + function r(t, e) { + switch (typeof e) { + case 'undefined': + return + case 'object': + return e + case 'function': + return e(t) + case 'boolean': + return e ? t.params : void 0 + } + } + function n(t, e) { + for (var r in e) t[r] = e[r] + return t + } + function o(t, e, r) { + void 0 === e && (e = {}) + var n, + o = r || i + try { + n = o(t || '') + } catch (t) { + n = {} + } + for (var a in e) n[a] = e[a] + return n + } + function i(t) { + var e = {} + return (t = t.trim().replace(/^(\?|#|&)/, '')) + ? (t.split('&').forEach(function(t) { + var r = t.replace(/\+/g, ' ').split('='), + n = Ut(r.shift()), + o = r.length > 0 ? Ut(r.join('=')) : null + void 0 === e[n] ? (e[n] = o) : Array.isArray(e[n]) ? e[n].push(o) : (e[n] = [e[n], o]) + }), + e) + : e + } + function a(t) { + var e = t + ? Object.keys(t) + .map(function(e) { + var r = t[e] + if (void 0 === r) return '' + if (null === r) return Pt(e) + if (Array.isArray(r)) { + var n = [] + return ( + r.forEach(function(t) { + void 0 !== t && (null === t ? n.push(Pt(e)) : n.push(Pt(e) + '=' + Pt(t))) + }), + n.join('&') + ) + } + return Pt(e) + '=' + Pt(r) + }) + .filter(function(t) { + return t.length > 0 + }) + .join('&') + : null + return e ? '?' + e : '' + } + function u(t, e, r, n) { + var o = n && n.options.stringifyQuery, + i = e.query || {} + try { + i = c(i) + } catch (t) {} + var a = { + name: e.name || (t && t.name), + meta: (t && t.meta) || {}, + path: e.path || '/', + hash: e.hash || '', + query: i, + params: e.params || {}, + fullPath: p(e, o), + matched: t ? s(t) : [], + } + return r && (a.redirectedFrom = p(r, o)), Object.freeze(a) + } + function c(t) { + if (Array.isArray(t)) return t.map(c) + if (t && 'object' == typeof t) { + var e = {} + for (var r in t) e[r] = c(t[r]) + return e + } + return t + } + function s(t) { + for (var e = []; t; ) e.unshift(t), (t = t.parent) + return e + } + function p(t, e) { + var r = t.path, + n = t.query + void 0 === n && (n = {}) + var o = t.hash + void 0 === o && (o = '') + var i = e || a + return (r || '/') + i(n) + o + } + function f(t, e) { + return e === Ht + ? t === e + : !!e && + (t.path && e.path + ? t.path.replace(Mt, '') === e.path.replace(Mt, '') && + t.hash === e.hash && + h(t.query, e.query) + : !(!t.name || !e.name) && + t.name === e.name && + t.hash === e.hash && + h(t.query, e.query) && + h(t.params, e.params)) + } + function h(t, e) { + if ((void 0 === t && (t = {}), void 0 === e && (e = {}), !t || !e)) return t === e + var r = Object.keys(t), + n = Object.keys(e) + return ( + r.length === n.length && + r.every(function(r) { + var n = t[r], + o = e[r] + return 'object' == typeof n && 'object' == typeof o ? h(n, o) : String(n) === String(o) + }) + ) + } + function l(t, e) { + return ( + 0 === t.path.replace(Mt, '/').indexOf(e.path.replace(Mt, '/')) && + (!e.hash || t.hash === e.hash) && + d(t.query, e.query) + ) + } + function d(t, e) { + for (var r in e) if (!(r in t)) return !1 + return !0 + } + function y(t) { + if ( + !( + t.metaKey || + t.altKey || + t.ctrlKey || + t.shiftKey || + t.defaultPrevented || + (void 0 !== t.button && 0 !== t.button) + ) + ) { + if (t.currentTarget && t.currentTarget.getAttribute) { + var e = t.currentTarget.getAttribute('target') + if (/\b_blank\b/i.test(e)) return + } + return t.preventDefault && t.preventDefault(), !0 + } + } + function v(t) { + if (t) + for (var e, r = 0; r < t.length; r++) { + if ('a' === (e = t[r]).tag) return e + if (e.children && (e = v(e.children))) return e + } + } + function m(t) { + if (!m.installed || Tt !== t) { + ;(m.installed = !0), (Tt = t) + var e = function(t) { + return void 0 !== t + }, + r = function(t, r) { + var n = t.$options._parentVnode + e(n) && e((n = n.data)) && e((n = n.registerRouteInstance)) && n(t, r) + } + t.mixin({ + beforeCreate: function() { + e(this.$options.router) + ? ((this._routerRoot = this), + (this._router = this.$options.router), + this._router.init(this), + t.util.defineReactive(this, '_route', this._router.history.current)) + : (this._routerRoot = (this.$parent && this.$parent._routerRoot) || this), + r(this, this) + }, + destroyed: function() { + r(this) + }, + }), + Object.defineProperty(t.prototype, '$router', { + get: function() { + return this._routerRoot._router + }, + }), + Object.defineProperty(t.prototype, '$route', { + get: function() { + return this._routerRoot._route + }, + }), + t.component('router-view', St), + t.component('router-link', zt) + var n = t.config.optionMergeStrategies + n.beforeRouteEnter = n.beforeRouteLeave = n.beforeRouteUpdate = n.created + } + } + function g(t, e, r) { + var n = t.charAt(0) + if ('/' === n) return t + if ('?' === n || '#' === n) return e + t + var o = e.split('/') + ;(r && o[o.length - 1]) || o.pop() + for (var i = t.replace(/^\//, '').split('/'), a = 0; a < i.length; a++) { + var u = i[a] + '..' === u ? o.pop() : '.' !== u && o.push(u) + } + return '' !== o[0] && o.unshift(''), o.join('/') + } + function b(t) { + var e = '', + r = '', + n = t.indexOf('#') + n >= 0 && ((e = t.slice(n)), (t = t.slice(0, n))) + var o = t.indexOf('?') + return o >= 0 && ((r = t.slice(o + 1)), (t = t.slice(0, o))), { path: t, query: r, hash: e } + } + function w(t) { + return t.replace(/\/\//g, '/') + } + function x(t, e) { + for ( + var r, n = [], o = 0, i = 0, a = '', u = (e && e.delimiter) || '/'; + null != (r = Qt.exec(t)); + + ) { + var c = r[0], + s = r[1], + p = r.index + if (((a += t.slice(i, p)), (i = p + c.length), s)) a += s[1] + else { + var f = t[i], + h = r[2], + l = r[3], + d = r[4], + y = r[5], + v = r[6], + m = r[7] + a && (n.push(a), (a = '')) + var g = null != h && null != f && f !== h, + b = '+' === v || '*' === v, + w = '?' === v || '*' === v, + x = r[2] || u, + k = d || y + n.push({ + name: l || o++, + prefix: h || '', + delimiter: x, + optional: w, + repeat: b, + partial: g, + asterisk: !!m, + pattern: k ? C(k) : m ? '.*' : '[^' + O(x) + ']+?', + }) + } + } + return i < t.length && (a += t.substr(i)), a && n.push(a), n + } + function k(t) { + return encodeURI(t).replace(/[\/?#]/g, function(t) { + return ( + '%' + + t + .charCodeAt(0) + .toString(16) + .toUpperCase() + ) + }) + } + function R(t) { + return encodeURI(t).replace(/[?#]/g, function(t) { + return ( + '%' + + t + .charCodeAt(0) + .toString(16) + .toUpperCase() + ) + }) + } + function E(t) { + for (var e = new Array(t.length), r = 0; r < t.length; r++) + 'object' == typeof t[r] && (e[r] = new RegExp('^(?:' + t[r].pattern + ')$')) + return function(r, n) { + for ( + var o = '', i = r || {}, a = (n || {}).pretty ? k : encodeURIComponent, u = 0; + u < t.length; + u++ + ) { + var c = t[u] + if ('string' != typeof c) { + var s, + p = i[c.name] + if (null == p) { + if (c.optional) { + c.partial && (o += c.prefix) + continue + } + throw new TypeError('Expected "' + c.name + '" to be defined') + } + if (Ft(p)) { + if (!c.repeat) + throw new TypeError( + 'Expected "' + c.name + '" to not repeat, but received `' + JSON.stringify(p) + '`' + ) + if (0 === p.length) { + if (c.optional) continue + throw new TypeError('Expected "' + c.name + '" to not be empty') + } + for (var f = 0; f < p.length; f++) { + if (((s = a(p[f])), !e[u].test(s))) + throw new TypeError( + 'Expected all "' + + c.name + + '" to match "' + + c.pattern + + '", but received `' + + JSON.stringify(s) + + '`' + ) + o += (0 === f ? c.prefix : c.delimiter) + s + } + } else { + if (((s = c.asterisk ? R(p) : a(p)), !e[u].test(s))) + throw new TypeError( + 'Expected "' + c.name + '" to match "' + c.pattern + '", but received "' + s + '"' + ) + o += c.prefix + s + } + } else o += c + } + return o + } + } + function O(t) { + return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1') + } + function C(t) { + return t.replace(/([=!:$\/()])/g, '\\$1') + } + function j(t, e) { + return (t.keys = e), t + } + function A(t) { + return t.sensitive ? '' : 'i' + } + function _(t, e) { + var r = t.source.match(/\((?!\?)/g) + if (r) + for (var n = 0; n < r.length; n++) + e.push({ + name: n, + prefix: null, + delimiter: null, + optional: !1, + repeat: !1, + partial: !1, + asterisk: !1, + pattern: null, + }) + return j(t, e) + } + function T(t, e, r) { + for (var n = [], o = 0; o < t.length; o++) n.push(q(t[o], e, r).source) + return j(new RegExp('(?:' + n.join('|') + ')', A(r)), e) + } + function S(t, e, r) { + return $(x(t, r), e, r) + } + function $(t, e, r) { + Ft(e) || ((r = e || r), (e = [])) + for (var n = (r = r || {}).strict, o = !1 !== r.end, i = '', a = 0; a < t.length; a++) { + var u = t[a] + if ('string' == typeof u) i += O(u) + else { + var c = O(u.prefix), + s = '(?:' + u.pattern + ')' + e.push(u), + u.repeat && (s += '(?:' + c + s + ')*'), + (i += s = u.optional + ? u.partial + ? c + '(' + s + ')?' + : '(?:' + c + '(' + s + '))?' + : c + '(' + s + ')') + } + } + var p = O(r.delimiter || '/'), + f = i.slice(-p.length) === p + return ( + n || (i = (f ? i.slice(0, -p.length) : i) + '(?:' + p + '(?=$))?'), + (i += o ? '$' : n && f ? '' : '(?=' + p + '|$)'), + j(new RegExp('^' + i, A(r)), e) + ) + } + function q(t, e, r) { + return ( + Ft(e) || ((r = e || r), (e = [])), + (r = r || {}), + t instanceof RegExp ? _(t, e) : Ft(t) ? T(t, e, r) : S(t, e, r) + ) + } + function L(t, e, r) { + try { + return (Xt[t] || (Xt[t] = Dt.compile(t)))(e || {}, { pretty: !0 }) + } catch (t) { + return '' + } + } + function P(t, e, r, n) { + var o = e || [], + i = r || Object.create(null), + a = n || Object.create(null) + t.forEach(function(t) { + U(o, i, a, t) + }) + for (var u = 0, c = o.length; u < c; u++) '*' === o[u] && (o.push(o.splice(u, 1)[0]), c--, u--) + return { pathList: o, pathMap: i, nameMap: a } + } + function U(t, e, r, n, o, i) { + var a = n.path, + u = n.name, + c = n.pathToRegexpOptions || {}, + s = H(a, o, c.strict) + 'boolean' == typeof n.caseSensitive && (c.sensitive = n.caseSensitive) + var p = { + path: s, + regex: M(s, c), + components: n.components || { default: n.component }, + instances: {}, + name: u, + parent: o, + matchAs: i, + redirect: n.redirect, + beforeEnter: n.beforeEnter, + meta: n.meta || {}, + props: null == n.props ? {} : n.components ? n.props : { default: n.props }, + } + n.children && + n.children.forEach(function(n) { + var o = i ? w(i + '/' + n.path) : void 0 + U(t, e, r, n, p, o) + }), + void 0 !== n.alias && + (Array.isArray(n.alias) ? n.alias : [n.alias]).forEach(function(i) { + var a = { path: i, children: n.children } + U(t, e, r, a, o, p.path || '/') + }), + e[p.path] || (t.push(p.path), (e[p.path] = p)), + u && (r[u] || (r[u] = p)) + } + function M(t, e) { + return Dt(t, [], e) + } + function H(t, e, r) { + return r || (t = t.replace(/\/$/, '')), '/' === t[0] ? t : null == e ? t : w(e.path + '/' + t) + } + function I(t, e, r, n) { + var i = 'string' == typeof t ? { path: t } : t + if (i.name || i._normalized) return i + if (!i.path && i.params && e) { + ;(i = V({}, i))._normalized = !0 + var a = V(V({}, e.params), i.params) + if (e.name) (i.name = e.name), (i.params = a) + else if (e.matched.length) { + var u = e.matched[e.matched.length - 1].path + i.path = L(u, a, 'path ' + e.path) + } + return i + } + var c = b(i.path || ''), + s = (e && e.path) || '/', + p = c.path ? g(c.path, s, r || i.append) : s, + f = o(c.query, i.query, n && n.options.parseQuery), + h = i.hash || c.hash + return ( + h && '#' !== h.charAt(0) && (h = '#' + h), { _normalized: !0, path: p, query: f, hash: h } + ) + } + function V(t, e) { + for (var r in e) t[r] = e[r] + return t + } + function z(t, e) { + function r(t, r, n) { + var o = I(t, r, !1, e), + a = o.name + if (a) { + var u = p[a] + if (!u) return i(null, o) + var f = u.regex.keys + .filter(function(t) { + return !t.optional + }) + .map(function(t) { + return t.name + }) + if (('object' != typeof o.params && (o.params = {}), r && 'object' == typeof r.params)) + for (var h in r.params) + !(h in o.params) && f.indexOf(h) > -1 && (o.params[h] = r.params[h]) + if (u) return (o.path = L(u.path, o.params, 'named route "' + a + '"')), i(u, o, n) + } else if (o.path) { + o.params = {} + for (var l = 0; l < c.length; l++) { + var d = c[l], + y = s[d] + if (B(y.regex, o.path, o.params)) return i(y, o, n) + } + } + return i(null, o) + } + function n(t, n) { + var o = t.redirect, + a = 'function' == typeof o ? o(u(t, n, null, e)) : o + if (('string' == typeof a && (a = { path: a }), !a || 'object' != typeof a)) return i(null, n) + var c = a, + s = c.name, + p = c.path, + f = n.query, + h = n.hash, + l = n.params + if ( + ((f = c.hasOwnProperty('query') ? c.query : f), + (h = c.hasOwnProperty('hash') ? c.hash : h), + (l = c.hasOwnProperty('params') ? c.params : l), + s) + ) + return r({ _normalized: !0, name: s, query: f, hash: h, params: l }, void 0, n) + if (p) { + var d = F(p, t) + return r( + { + _normalized: !0, + path: L(d, l, 'redirect route with path "' + d + '"'), + query: f, + hash: h, + }, + void 0, + n + ) + } + return i(null, n) + } + function o(t, e, n) { + var o = r({ _normalized: !0, path: L(n, e.params, 'aliased route with path "' + n + '"') }) + if (o) { + var a = o.matched, + u = a[a.length - 1] + return (e.params = o.params), i(u, e) + } + return i(null, e) + } + function i(t, r, i) { + return t && t.redirect ? n(t, i || r) : t && t.matchAs ? o(t, r, t.matchAs) : u(t, r, i, e) + } + var a = P(t), + c = a.pathList, + s = a.pathMap, + p = a.nameMap + return { + match: r, + addRoutes: function(t) { + P(t, c, s, p) + }, + } + } + function B(t, e, r) { + var n = e.match(t) + if (!n) return !1 + if (!r) return !0 + for (var o = 1, i = n.length; o < i; ++o) { + var a = t.keys[o - 1], + u = 'string' == typeof n[o] ? decodeURIComponent(n[o]) : n[o] + a && (r[a.name] = u) + } + return !0 + } + function F(t, e) { + return g(t, e.parent ? e.parent.path : '/', !0) + } + function D() { + window.history.replaceState({ key: et() }, ''), + window.addEventListener('popstate', function(t) { + J(), t.state && t.state.key && rt(t.state.key) + }) + } + function K(t, e, r, n) { + if (t.app) { + var o = t.options.scrollBehavior + o && + t.app.$nextTick(function() { + var t = N(), + i = o(e, r, n ? t : null) + i && + ('function' == typeof i.then + ? i + .then(function(e) { + Z(e, t) + }) + .catch(function(t) {}) + : Z(i, t)) + }) + } + } + function J() { + var t = et() + t && (Yt[t] = { x: window.pageXOffset, y: window.pageYOffset }) + } + function N() { + var t = et() + if (t) return Yt[t] + } + function Q(t, e) { + var r = document.documentElement.getBoundingClientRect(), + n = t.getBoundingClientRect() + return { x: n.left - r.left - e.x, y: n.top - r.top - e.y } + } + function X(t) { + return G(t.x) || G(t.y) + } + function Y(t) { + return { x: G(t.x) ? t.x : window.pageXOffset, y: G(t.y) ? t.y : window.pageYOffset } + } + function W(t) { + return { x: G(t.x) ? t.x : 0, y: G(t.y) ? t.y : 0 } + } + function G(t) { + return 'number' == typeof t + } + function Z(t, e) { + var r = 'object' == typeof t + if (r && 'string' == typeof t.selector) { + var n = document.querySelector(t.selector) + if (n) { + var o = t.offset && 'object' == typeof t.offset ? t.offset : {} + e = Q(n, (o = W(o))) + } else X(t) && (e = Y(t)) + } else r && X(t) && (e = Y(t)) + e && window.scrollTo(e.x, e.y) + } + function tt() { + return Gt.now().toFixed(3) + } + function et() { + return Zt + } + function rt(t) { + Zt = t + } + function nt(t, e) { + J() + var r = window.history + try { + e ? r.replaceState({ key: Zt }, '', t) : ((Zt = tt()), r.pushState({ key: Zt }, '', t)) + } catch (r) { + window.location[e ? 'replace' : 'assign'](t) + } + } + function ot(t) { + nt(t, !0) + } + function it(t, e, r) { + var n = function(o) { + o >= t.length + ? r() + : t[o] + ? e(t[o], function() { + n(o + 1) + }) + : n(o + 1) + } + n(0) + } + function at(t) { + return function(r, n, o) { + var i = !1, + a = 0, + u = null + ut(t, function(t, r, n, c) { + if ('function' == typeof t && void 0 === t.cid) { + ;(i = !0), a++ + var s, + p = pt(function(e) { + st(e) && (e = e.default), + (t.resolved = 'function' == typeof e ? e : Tt.extend(e)), + (n.components[c] = e), + --a <= 0 && o() + }), + f = pt(function(t) { + var r = 'Failed to resolve async component ' + c + ': ' + t + u || ((u = e(t) ? t : new Error(r)), o(u)) + }) + try { + s = t(p, f) + } catch (t) { + f(t) + } + if (s) + if ('function' == typeof s.then) s.then(p, f) + else { + var h = s.component + h && 'function' == typeof h.then && h.then(p, f) + } + } + }), + i || o() + } + } + function ut(t, e) { + return ct( + t.map(function(t) { + return Object.keys(t.components).map(function(r) { + return e(t.components[r], t.instances[r], t, r) + }) + }) + ) + } + function ct(t) { + return Array.prototype.concat.apply([], t) + } + function st(t) { + return t.__esModule || (te && 'Module' === t[Symbol.toStringTag]) + } + function pt(t) { + var e = !1 + return function() { + for (var r = [], n = arguments.length; n--; ) r[n] = arguments[n] + if (!e) return (e = !0), t.apply(this, r) + } + } + function ft(t) { + if (!t) + if (Bt) { + var e = document.querySelector('base') + t = (t = (e && e.getAttribute('href')) || '/').replace(/^https?:\/\/[^\/]+/, '') + } else t = '/' + return '/' !== t.charAt(0) && (t = '/' + t), t.replace(/\/$/, '') + } + function ht(t, e) { + var r, + n = Math.max(t.length, e.length) + for (r = 0; r < n && t[r] === e[r]; r++); + return { updated: e.slice(0, r), activated: e.slice(r), deactivated: t.slice(r) } + } + function lt(t, e, r, n) { + var o = ut(t, function(t, n, o, i) { + var a = dt(t, e) + if (a) + return Array.isArray(a) + ? a.map(function(t) { + return r(t, n, o, i) + }) + : r(a, n, o, i) + }) + return ct(n ? o.reverse() : o) + } + function dt(t, e) { + return 'function' != typeof t && (t = Tt.extend(t)), t.options[e] + } + function yt(t) { + return lt(t, 'beforeRouteLeave', mt, !0) + } + function vt(t) { + return lt(t, 'beforeRouteUpdate', mt) + } + function mt(t, e) { + if (e) + return function() { + return t.apply(e, arguments) + } + } + function gt(t, e, r) { + return lt(t, 'beforeRouteEnter', function(t, n, o, i) { + return bt(t, o, i, e, r) + }) + } + function bt(t, e, r, n, o) { + return function(i, a, u) { + return t(i, a, function(t) { + u(t), + 'function' == typeof t && + n.push(function() { + wt(t, e.instances, r, o) + }) + }) + } + } + function wt(t, e, r, n) { + e[r] + ? t(e[r]) + : n() && + setTimeout(function() { + wt(t, e, r, n) + }, 16) + } + function xt(t) { + var e = window.location.pathname + return ( + t && 0 === e.indexOf(t) && (e = e.slice(t.length)), + (e || '/') + window.location.search + window.location.hash + ) + } + function kt(t) { + var e = xt(t) + if (!/^\/#/.test(e)) return window.location.replace(w(t + '/#' + e)), !0 + } + function Rt() { + var t = Et() + return '/' === t.charAt(0) || (jt('/' + t), !1) + } + function Et() { + var t = window.location.href, + e = t.indexOf('#') + return -1 === e ? '' : t.slice(e + 1) + } + function Ot(t) { + var e = window.location.href, + r = e.indexOf('#') + return (r >= 0 ? e.slice(0, r) : e) + '#' + t + } + function Ct(t) { + Wt ? nt(Ot(t)) : (window.location.hash = t) + } + function jt(t) { + Wt ? ot(Ot(t)) : window.location.replace(Ot(t)) + } + function At(t, e) { + return ( + t.push(e), + function() { + var r = t.indexOf(e) + r > -1 && t.splice(r, 1) + } + ) + } + function _t(t, e, r) { + var n = 'hash' === r ? '#' + e : e + return t ? w(t + '/' + n) : n + } + var Tt, + St = { + name: 'router-view', + functional: !0, + props: { name: { type: String, default: 'default' } }, + render: function(t, e) { + var o = e.props, + i = e.children, + a = e.parent, + u = e.data + u.routerView = !0 + for ( + var c = a.$createElement, + s = o.name, + p = a.$route, + f = a._routerViewCache || (a._routerViewCache = {}), + h = 0, + l = !1; + a && a._routerRoot !== a; + + ) + a.$vnode && a.$vnode.data.routerView && h++, a._inactive && (l = !0), (a = a.$parent) + if (((u.routerViewDepth = h), l)) return c(f[s], u, i) + var d = p.matched[h] + if (!d) return (f[s] = null), c() + var y = (f[s] = d.components[s]) + ;(u.registerRouteInstance = function(t, e) { + var r = d.instances[s] + ;((e && r !== t) || (!e && r === t)) && (d.instances[s] = e) + }), + ((u.hook || (u.hook = {})).prepatch = function(t, e) { + d.instances[s] = e.componentInstance + }) + var v = (u.props = r(p, d.props && d.props[s])) + if (v) { + v = u.props = n({}, v) + var m = (u.attrs = u.attrs || {}) + for (var g in v) (y.props && g in y.props) || ((m[g] = v[g]), delete v[g]) + } + return c(y, u, i) + }, + }, + $t = /[!'()*]/g, + qt = function(t) { + return '%' + t.charCodeAt(0).toString(16) + }, + Lt = /%2C/g, + Pt = function(t) { + return encodeURIComponent(t) + .replace($t, qt) + .replace(Lt, ',') + }, + Ut = decodeURIComponent, + Mt = /\/?$/, + Ht = u(null, { path: '/' }), + It = [String, Object], + Vt = [String, Array], + zt = { + name: 'router-link', + props: { + to: { type: It, required: !0 }, + tag: { type: String, default: 'a' }, + exact: Boolean, + append: Boolean, + replace: Boolean, + activeClass: String, + exactActiveClass: String, + event: { type: Vt, default: 'click' }, + }, + render: function(t) { + var e = this, + r = this.$router, + n = this.$route, + o = r.resolve(this.to, n, this.append), + i = o.location, + a = o.route, + c = o.href, + s = {}, + p = r.options.linkActiveClass, + h = r.options.linkExactActiveClass, + d = null == p ? 'router-link-active' : p, + m = null == h ? 'router-link-exact-active' : h, + g = null == this.activeClass ? d : this.activeClass, + b = null == this.exactActiveClass ? m : this.exactActiveClass, + w = i.path ? u(null, i, null, r) : a + ;(s[b] = f(n, w)), (s[g] = this.exact ? s[b] : l(n, w)) + var x = function(t) { + y(t) && (e.replace ? r.replace(i) : r.push(i)) + }, + k = { click: y } + Array.isArray(this.event) + ? this.event.forEach(function(t) { + k[t] = x + }) + : (k[this.event] = x) + var R = { class: s } + if ('a' === this.tag) (R.on = k), (R.attrs = { href: c }) + else { + var E = v(this.$slots.default) + if (E) { + E.isStatic = !1 + var O = Tt.util.extend + ;((E.data = O({}, E.data)).on = k), ((E.data.attrs = O({}, E.data.attrs)).href = c) + } else R.on = k + } + return t(this.tag, R, this.$slots.default) + }, + }, + Bt = 'undefined' != typeof window, + Ft = + Array.isArray || + function(t) { + return '[object Array]' == Object.prototype.toString.call(t) + }, + Dt = q, + Kt = x, + Jt = E, + Nt = $, + Qt = new RegExp( + [ + '(\\\\.)', + '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))', + ].join('|'), + 'g' + ) + ;(Dt.parse = Kt), + (Dt.compile = function(t, e) { + return E(x(t, e)) + }), + (Dt.tokensToFunction = Jt), + (Dt.tokensToRegExp = Nt) + var Xt = Object.create(null), + Yt = Object.create(null), + Wt = + Bt && + (function() { + var t = window.navigator.userAgent + return ( + ((-1 === t.indexOf('Android 2.') && -1 === t.indexOf('Android 4.0')) || + -1 === t.indexOf('Mobile Safari') || + -1 !== t.indexOf('Chrome') || + -1 !== t.indexOf('Windows Phone')) && + window.history && 'pushState' in window.history + ) + })(), + Gt = Bt && window.performance && window.performance.now ? window.performance : Date, + Zt = tt(), + te = 'function' == typeof Symbol && 'symbol' == typeof Symbol.toStringTag, + ee = function(t, e) { + ;(this.router = t), + (this.base = ft(e)), + (this.current = Ht), + (this.pending = null), + (this.ready = !1), + (this.readyCbs = []), + (this.readyErrorCbs = []), + (this.errorCbs = []) + } + ;(ee.prototype.listen = function(t) { + this.cb = t + }), + (ee.prototype.onReady = function(t, e) { + this.ready ? t() : (this.readyCbs.push(t), e && this.readyErrorCbs.push(e)) + }), + (ee.prototype.onError = function(t) { + this.errorCbs.push(t) + }), + (ee.prototype.transitionTo = function(t, e, r) { + var n = this, + o = this.router.match(t, this.current) + this.confirmTransition( + o, + function() { + n.updateRoute(o), + e && e(o), + n.ensureURL(), + n.ready || + ((n.ready = !0), + n.readyCbs.forEach(function(t) { + t(o) + })) + }, + function(t) { + r && r(t), + t && + !n.ready && + ((n.ready = !0), + n.readyErrorCbs.forEach(function(e) { + e(t) + })) + } + ) + }), + (ee.prototype.confirmTransition = function(r, n, o) { + var i = this, + a = this.current, + u = function(r) { + e(r) && + (i.errorCbs.length + ? i.errorCbs.forEach(function(t) { + t(r) + }) + : (t(!1, 'uncaught error during route navigation:'), console.error(r))), + o && o(r) + } + if (f(r, a) && r.matched.length === a.matched.length) return this.ensureURL(), u() + var c = ht(this.current.matched, r.matched), + s = c.updated, + p = c.deactivated, + h = c.activated, + l = [].concat( + yt(p), + this.router.beforeHooks, + vt(s), + h.map(function(t) { + return t.beforeEnter + }), + at(h) + ) + this.pending = r + var d = function(t, n) { + if (i.pending !== r) return u() + try { + t(r, a, function(t) { + !1 === t || e(t) + ? (i.ensureURL(!0), u(t)) + : 'string' == typeof t || + ('object' == typeof t && ('string' == typeof t.path || 'string' == typeof t.name)) + ? (u(), 'object' == typeof t && t.replace ? i.replace(t) : i.push(t)) + : n(t) + }) + } catch (t) { + u(t) + } + } + it(l, d, function() { + var t = [] + it( + gt(h, t, function() { + return i.current === r + }).concat(i.router.resolveHooks), + d, + function() { + if (i.pending !== r) return u() + ;(i.pending = null), + n(r), + i.router.app && + i.router.app.$nextTick(function() { + t.forEach(function(t) { + t() + }) + }) + } + ) + }) + }), + (ee.prototype.updateRoute = function(t) { + var e = this.current + ;(this.current = t), + this.cb && this.cb(t), + this.router.afterHooks.forEach(function(r) { + r && r(t, e) + }) + }) + var re = (function(t) { + function e(e, r) { + var n = this + t.call(this, e, r) + var o = e.options.scrollBehavior + o && D() + var i = xt(this.base) + window.addEventListener('popstate', function(t) { + var r = n.current, + a = xt(n.base) + ;(n.current === Ht && a === i) || + n.transitionTo(a, function(t) { + o && K(e, t, r, !0) + }) + }) + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.go = function(t) { + window.history.go(t) + }), + (e.prototype.push = function(t, e, r) { + var n = this, + o = this.current + this.transitionTo( + t, + function(t) { + nt(w(n.base + t.fullPath)), K(n.router, t, o, !1), e && e(t) + }, + r + ) + }), + (e.prototype.replace = function(t, e, r) { + var n = this, + o = this.current + this.transitionTo( + t, + function(t) { + ot(w(n.base + t.fullPath)), K(n.router, t, o, !1), e && e(t) + }, + r + ) + }), + (e.prototype.ensureURL = function(t) { + if (xt(this.base) !== this.current.fullPath) { + var e = w(this.base + this.current.fullPath) + t ? nt(e) : ot(e) + } + }), + (e.prototype.getCurrentLocation = function() { + return xt(this.base) + }), + e + ) + })(ee), + ne = (function(t) { + function e(e, r, n) { + t.call(this, e, r), (n && kt(this.base)) || Rt() + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.setupListeners = function() { + var t = this, + e = this.router.options.scrollBehavior, + r = Wt && e + r && D(), + window.addEventListener(Wt ? 'popstate' : 'hashchange', function() { + var e = t.current + Rt() && + t.transitionTo(Et(), function(n) { + r && K(t.router, n, e, !0), Wt || jt(n.fullPath) + }) + }) + }), + (e.prototype.push = function(t, e, r) { + var n = this, + o = this.current + this.transitionTo( + t, + function(t) { + Ct(t.fullPath), K(n.router, t, o, !1), e && e(t) + }, + r + ) + }), + (e.prototype.replace = function(t, e, r) { + var n = this, + o = this.current + this.transitionTo( + t, + function(t) { + jt(t.fullPath), K(n.router, t, o, !1), e && e(t) + }, + r + ) + }), + (e.prototype.go = function(t) { + window.history.go(t) + }), + (e.prototype.ensureURL = function(t) { + var e = this.current.fullPath + Et() !== e && (t ? Ct(e) : jt(e)) + }), + (e.prototype.getCurrentLocation = function() { + return Et() + }), + e + ) + })(ee), + oe = (function(t) { + function e(e, r) { + t.call(this, e, r), (this.stack = []), (this.index = -1) + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.push = function(t, e, r) { + var n = this + this.transitionTo( + t, + function(t) { + ;(n.stack = n.stack.slice(0, n.index + 1).concat(t)), n.index++, e && e(t) + }, + r + ) + }), + (e.prototype.replace = function(t, e, r) { + var n = this + this.transitionTo( + t, + function(t) { + ;(n.stack = n.stack.slice(0, n.index).concat(t)), e && e(t) + }, + r + ) + }), + (e.prototype.go = function(t) { + var e = this, + r = this.index + t + if (!(r < 0 || r >= this.stack.length)) { + var n = this.stack[r] + this.confirmTransition(n, function() { + ;(e.index = r), e.updateRoute(n) + }) + } + }), + (e.prototype.getCurrentLocation = function() { + var t = this.stack[this.stack.length - 1] + return t ? t.fullPath : '/' + }), + (e.prototype.ensureURL = function() {}), + e + ) + })(ee), + ie = function(t) { + void 0 === t && (t = {}), + (this.app = null), + (this.apps = []), + (this.options = t), + (this.beforeHooks = []), + (this.resolveHooks = []), + (this.afterHooks = []), + (this.matcher = z(t.routes || [], this)) + var e = t.mode || 'hash' + switch ( + ((this.fallback = 'history' === e && !Wt && !1 !== t.fallback), + this.fallback && (e = 'hash'), + Bt || (e = 'abstract'), + (this.mode = e), + e) + ) { + case 'history': + this.history = new re(this, t.base) + break + case 'hash': + this.history = new ne(this, t.base, this.fallback) + break + case 'abstract': + this.history = new oe(this, t.base) + } + }, + ae = { currentRoute: { configurable: !0 } } + return ( + (ie.prototype.match = function(t, e, r) { + return this.matcher.match(t, e, r) + }), + (ae.currentRoute.get = function() { + return this.history && this.history.current + }), + (ie.prototype.init = function(t) { + var e = this + if ((this.apps.push(t), !this.app)) { + this.app = t + var r = this.history + if (r instanceof re) r.transitionTo(r.getCurrentLocation()) + else if (r instanceof ne) { + var n = function() { + r.setupListeners() + } + r.transitionTo(r.getCurrentLocation(), n, n) + } + r.listen(function(t) { + e.apps.forEach(function(e) { + e._route = t + }) + }) + } + }), + (ie.prototype.beforeEach = function(t) { + return At(this.beforeHooks, t) + }), + (ie.prototype.beforeResolve = function(t) { + return At(this.resolveHooks, t) + }), + (ie.prototype.afterEach = function(t) { + return At(this.afterHooks, t) + }), + (ie.prototype.onReady = function(t, e) { + this.history.onReady(t, e) + }), + (ie.prototype.onError = function(t) { + this.history.onError(t) + }), + (ie.prototype.push = function(t, e, r) { + this.history.push(t, e, r) + }), + (ie.prototype.replace = function(t, e, r) { + this.history.replace(t, e, r) + }), + (ie.prototype.go = function(t) { + this.history.go(t) + }), + (ie.prototype.back = function() { + this.go(-1) + }), + (ie.prototype.forward = function() { + this.go(1) + }), + (ie.prototype.getMatchedComponents = function(t) { + var e = t ? (t.matched ? t : this.resolve(t).route) : this.currentRoute + return e + ? [].concat.apply( + [], + e.matched.map(function(t) { + return Object.keys(t.components).map(function(e) { + return t.components[e] + }) + }) + ) + : [] + }), + (ie.prototype.resolve = function(t, e, r) { + var n = I(t, e || this.history.current, r, this), + o = this.match(n, e), + i = o.redirectedFrom || o.fullPath + return { + location: n, + route: o, + href: _t(this.history.base, i, this.mode), + normalizedTo: n, + resolved: o, + } + }), + (ie.prototype.addRoutes = function(t) { + this.matcher.addRoutes(t), + this.history.current !== Ht && this.history.transitionTo(this.history.getCurrentLocation()) + }), + Object.defineProperties(ie.prototype, ae), + (ie.install = m), + (ie.version = '3.0.1'), + Bt && window.Vue && window.Vue.use(ie), + ie + ) +}) diff --git a/public/lib/vue.runtime.development.js b/public/lib/vue.runtime.development.js new file mode 100644 index 0000000..3d38d0d --- /dev/null +++ b/public/lib/vue.runtime.development.js @@ -0,0 +1,8262 @@ +/*! + * Vue.js v2.6.9 + * (c) 2014-2019 Evan You + * Released under the MIT License. + */ +;(function(global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' + ? (module.exports = factory()) + : typeof define === 'function' && define.amd + ? define(factory) + : ((global = global || self), (global.Vue = factory())) +})(this, function() { + 'use strict' + + /* */ + + var emptyObject = Object.freeze({}) + + // These helpers produce better VM code in JS engines due to their + // explicitness and function inlining. + function isUndef(v) { + return v === undefined || v === null + } + + function isDef(v) { + return v !== undefined && v !== null + } + + function isTrue(v) { + return v === true + } + + function isFalse(v) { + return v === false + } + + /** + * Check if value is primitive. + */ + function isPrimitive(value) { + return ( + typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean' + ) + } + + /** + * Quick object check - this is primarily used to tell + * Objects from primitive values when we know the value + * is a JSON-compliant type. + */ + function isObject(obj) { + return obj !== null && typeof obj === 'object' + } + + /** + * Get the raw type string of a value, e.g., [object Object]. + */ + var _toString = Object.prototype.toString + + function toRawType(value) { + return _toString.call(value).slice(8, -1) + } + + /** + * Strict object type check. Only returns true + * for plain JavaScript objects. + */ + function isPlainObject(obj) { + return _toString.call(obj) === '[object Object]' + } + + function isRegExp(v) { + return _toString.call(v) === '[object RegExp]' + } + + /** + * Check if val is a valid array index. + */ + function isValidArrayIndex(val) { + var n = parseFloat(String(val)) + return n >= 0 && Math.floor(n) === n && isFinite(val) + } + + function isPromise(val) { + return isDef(val) && typeof val.then === 'function' && typeof val.catch === 'function' + } + + /** + * Convert a value to a string that is actually rendered. + */ + function toString(val) { + return val == null + ? '' + : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) + ? JSON.stringify(val, null, 2) + : String(val) + } + + /** + * Convert an input value to a number for persistence. + * If the conversion fails, return original string. + */ + function toNumber(val) { + var n = parseFloat(val) + return isNaN(n) ? val : n + } + + /** + * Make a map and return a function for checking if a key + * is in that map. + */ + function makeMap(str, expectsLowerCase) { + var map = Object.create(null) + var list = str.split(',') + for (var i = 0; i < list.length; i++) { + map[list[i]] = true + } + return expectsLowerCase + ? function(val) { + return map[val.toLowerCase()] + } + : function(val) { + return map[val] + } + } + + /** + * Check if a tag is a built-in tag. + */ + var isBuiltInTag = makeMap('slot,component', true) + + /** + * Check if an attribute is a reserved attribute. + */ + var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is') + + /** + * Remove an item from an array. + */ + function remove(arr, item) { + if (arr.length) { + var index = arr.indexOf(item) + if (index > -1) { + return arr.splice(index, 1) + } + } + } + + /** + * Check whether an object has the property. + */ + var hasOwnProperty = Object.prototype.hasOwnProperty + function hasOwn(obj, key) { + return hasOwnProperty.call(obj, key) + } + + /** + * Create a cached version of a pure function. + */ + function cached(fn) { + var cache = Object.create(null) + return function cachedFn(str) { + var hit = cache[str] + return hit || (cache[str] = fn(str)) + } + } + + /** + * Camelize a hyphen-delimited string. + */ + var camelizeRE = /-(\w)/g + var camelize = cached(function(str) { + return str.replace(camelizeRE, function(_, c) { + return c ? c.toUpperCase() : '' + }) + }) + + /** + * Capitalize a string. + */ + var capitalize = cached(function(str) { + return str.charAt(0).toUpperCase() + str.slice(1) + }) + + /** + * Hyphenate a camelCase string. + */ + var hyphenateRE = /\B([A-Z])/g + var hyphenate = cached(function(str) { + return str.replace(hyphenateRE, '-$1').toLowerCase() + }) + + /** + * Simple bind polyfill for environments that do not support it, + * e.g., PhantomJS 1.x. Technically, we don't need this anymore + * since native bind is now performant enough in most browsers. + * But removing it would mean breaking code that was able to run in + * PhantomJS 1.x, so this must be kept for backward compatibility. + */ + + /* istanbul ignore next */ + function polyfillBind(fn, ctx) { + function boundFn(a) { + var l = arguments.length + return l ? (l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a)) : fn.call(ctx) + } + + boundFn._length = fn.length + return boundFn + } + + function nativeBind(fn, ctx) { + return fn.bind(ctx) + } + + var bind = Function.prototype.bind ? nativeBind : polyfillBind + + /** + * Convert an Array-like object to a real Array. + */ + function toArray(list, start) { + start = start || 0 + var i = list.length - start + var ret = new Array(i) + while (i--) { + ret[i] = list[i + start] + } + return ret + } + + /** + * Mix properties into target object. + */ + function extend(to, _from) { + for (var key in _from) { + to[key] = _from[key] + } + return to + } + + /** + * Merge an Array of Objects into a single Object. + */ + function toObject(arr) { + var res = {} + for (var i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]) + } + } + return res + } + + /* eslint-disable no-unused-vars */ + + /** + * Perform no operation. + * Stubbing args to make Flow happy without leaving useless transpiled code + * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). + */ + function noop(a, b, c) {} + + /** + * Always return false. + */ + var no = function(a, b, c) { + return false + } + + /* eslint-enable no-unused-vars */ + + /** + * Return the same value. + */ + var identity = function(_) { + return _ + } + + /** + * Check if two values are loosely equal - that is, + * if they are plain objects, do they have the same shape? + */ + function looseEqual(a, b) { + if (a === b) { + return true + } + var isObjectA = isObject(a) + var isObjectB = isObject(b) + if (isObjectA && isObjectB) { + try { + var isArrayA = Array.isArray(a) + var isArrayB = Array.isArray(b) + if (isArrayA && isArrayB) { + return ( + a.length === b.length && + a.every(function(e, i) { + return looseEqual(e, b[i]) + }) + ) + } else if (a instanceof Date && b instanceof Date) { + return a.getTime() === b.getTime() + } else if (!isArrayA && !isArrayB) { + var keysA = Object.keys(a) + var keysB = Object.keys(b) + return ( + keysA.length === keysB.length && + keysA.every(function(key) { + return looseEqual(a[key], b[key]) + }) + ) + } else { + /* istanbul ignore next */ + return false + } + } catch (e) { + /* istanbul ignore next */ + return false + } + } else if (!isObjectA && !isObjectB) { + return String(a) === String(b) + } else { + return false + } + } + + /** + * Return the first index at which a loosely equal value can be + * found in the array (if value is a plain object, the array must + * contain an object of the same shape), or -1 if it is not present. + */ + function looseIndexOf(arr, val) { + for (var i = 0; i < arr.length; i++) { + if (looseEqual(arr[i], val)) { + return i + } + } + return -1 + } + + /** + * Ensure a function is called only once. + */ + function once(fn) { + var called = false + return function() { + if (!called) { + called = true + fn.apply(this, arguments) + } + } + } + + var SSR_ATTR = 'data-server-rendered' + + var ASSET_TYPES = ['component', 'directive', 'filter'] + + var LIFECYCLE_HOOKS = [ + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured', + 'serverPrefetch', + ] + + /* */ + + var config = { + /** + * Option merge strategies (used in core/util/options) + */ + // $flow-disable-line + optionMergeStrategies: Object.create(null), + + /** + * Whether to suppress warnings. + */ + silent: false, + + /** + * Show production mode tip message on boot? + */ + productionTip: 'development' !== 'production', + + /** + * Whether to enable devtools + */ + devtools: 'development' !== 'production', + + /** + * Whether to record perf + */ + performance: false, + + /** + * Error handler for watcher errors + */ + errorHandler: null, + + /** + * Warn handler for watcher warns + */ + warnHandler: null, + + /** + * Ignore certain custom elements + */ + ignoredElements: [], + + /** + * Custom user key aliases for v-on + */ + // $flow-disable-line + keyCodes: Object.create(null), + + /** + * Check if a tag is reserved so that it cannot be registered as a + * component. This is platform-dependent and may be overwritten. + */ + isReservedTag: no, + + /** + * Check if an attribute is reserved so that it cannot be used as a component + * prop. This is platform-dependent and may be overwritten. + */ + isReservedAttr: no, + + /** + * Check if a tag is an unknown element. + * Platform-dependent. + */ + isUnknownElement: no, + + /** + * Get the namespace of an element + */ + getTagNamespace: noop, + + /** + * Parse the real tag name for the specific platform. + */ + parsePlatformTagName: identity, + + /** + * Check if an attribute must be bound using property, e.g. value + * Platform-dependent. + */ + mustUseProp: no, + + /** + * Perform updates asynchronously. Intended to be used by Vue Test Utils + * This will significantly reduce performance if set to false. + */ + async: true, + + /** + * Exposed for legacy reasons + */ + _lifecycleHooks: LIFECYCLE_HOOKS, + } + + /* */ + + /** + * unicode letters used for parsing html tags, component names and property paths. + * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname + * skipping \u10000-\uEFFFF due to it freezing up PhantomJS + */ + var unicodeRegExp = /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/ + + /** + * Check if a string starts with $ or _ + */ + function isReserved(str) { + var c = (str + '').charCodeAt(0) + return c === 0x24 || c === 0x5f + } + + /** + * Define a property. + */ + function def(obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true, + }) + } + + /** + * Parse simple path. + */ + var bailRE = new RegExp('[^' + unicodeRegExp.source + '.$_\\d]') + function parsePath(path) { + if (bailRE.test(path)) { + return + } + var segments = path.split('.') + return function(obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) { + return + } + obj = obj[segments[i]] + } + return obj + } + } + + /* */ + + // can we use __proto__? + var hasProto = '__proto__' in {} + + // Browser environment sniffing + var inBrowser = typeof window !== 'undefined' + var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform + var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase() + var UA = inBrowser && window.navigator.userAgent.toLowerCase() + var isIE = UA && /msie|trident/.test(UA) + var isIE9 = UA && UA.indexOf('msie 9.0') > 0 + var isEdge = UA && UA.indexOf('edge/') > 0 + var isAndroid = (UA && UA.indexOf('android') > 0) || weexPlatform === 'android' + var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || weexPlatform === 'ios' + var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge + var isPhantomJS = UA && /phantomjs/.test(UA) + var isFF = UA && UA.match(/firefox\/(\d+)/) + + // Firefox has a "watch" function on Object.prototype... + var nativeWatch = {}.watch + + var supportsPassive = false + if (inBrowser) { + try { + var opts = {} + Object.defineProperty(opts, 'passive', { + get: function get() { + /* istanbul ignore next */ + supportsPassive = true + }, + }) // https://github.com/facebook/flow/issues/285 + window.addEventListener('test-passive', null, opts) + } catch (e) {} + } + + // this needs to be lazy-evaled because vue may be required before + // vue-server-renderer can set VUE_ENV + var _isServer + var isServerRendering = function() { + if (_isServer === undefined) { + /* istanbul ignore if */ + if (!inBrowser && !inWeex && typeof global !== 'undefined') { + // detect presence of vue-server-renderer and avoid + // Webpack shimming the process + _isServer = global['process'] && global['process'].env.VUE_ENV === 'server' + } else { + _isServer = false + } + } + return _isServer + } + + // detect devtools + var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__ + + /* istanbul ignore next */ + function isNative(Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) + } + + var hasSymbol = + typeof Symbol !== 'undefined' && + isNative(Symbol) && + typeof Reflect !== 'undefined' && + isNative(Reflect.ownKeys) + + var _Set // $flow-disable-line + /* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) { + // use native Set when available. + _Set = Set + } else { + // a non-standard Set polyfill that only works with primitive keys. + _Set = /*@__PURE__*/ (function() { + function Set() { + this.set = Object.create(null) + } + Set.prototype.has = function has(key) { + return this.set[key] === true + } + Set.prototype.add = function add(key) { + this.set[key] = true + } + Set.prototype.clear = function clear() { + this.set = Object.create(null) + } + + return Set + })() + } + + /* */ + + var warn = noop + var tip = noop + var generateComponentTrace = noop // work around flow check + var formatComponentName = noop + + { + var hasConsole = typeof console !== 'undefined' + var classifyRE = /(?:^|[-_])(\w)/g + var classify = function(str) { + return str + .replace(classifyRE, function(c) { + return c.toUpperCase() + }) + .replace(/[-_]/g, '') + } + + warn = function(msg, vm) { + var trace = vm ? generateComponentTrace(vm) : '' + + if (config.warnHandler) { + config.warnHandler.call(null, msg, vm, trace) + } else if (hasConsole && !config.silent) { + console.error('[Vue warn]: ' + msg + trace) + } + } + + tip = function(msg, vm) { + if (hasConsole && !config.silent) { + console.warn('[Vue tip]: ' + msg + (vm ? generateComponentTrace(vm) : '')) + } + } + + formatComponentName = function(vm, includeFile) { + if (vm.$root === vm) { + return '' + } + var options = + typeof vm === 'function' && vm.cid != null + ? vm.options + : vm._isVue + ? vm.$options || vm.constructor.options + : vm + var name = options.name || options._componentTag + var file = options.__file + if (!name && file) { + var match = file.match(/([^/\\]+)\.vue$/) + name = match && match[1] + } + + return ( + (name ? '<' + classify(name) + '>' : '') + + (file && includeFile !== false ? ' at ' + file : '') + ) + } + + var repeat = function(str, n) { + var res = '' + while (n) { + if (n % 2 === 1) { + res += str + } + if (n > 1) { + str += str + } + n >>= 1 + } + return res + } + + generateComponentTrace = function(vm) { + if (vm._isVue && vm.$parent) { + var tree = [] + var currentRecursiveSequence = 0 + while (vm) { + if (tree.length > 0) { + var last = tree[tree.length - 1] + if (last.constructor === vm.constructor) { + currentRecursiveSequence++ + vm = vm.$parent + continue + } else if (currentRecursiveSequence > 0) { + tree[tree.length - 1] = [last, currentRecursiveSequence] + currentRecursiveSequence = 0 + } + } + tree.push(vm) + vm = vm.$parent + } + return ( + '\n\nfound in\n\n' + + tree + .map(function(vm, i) { + return ( + '' + + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + + (Array.isArray(vm) + ? formatComponentName(vm[0]) + '... (' + vm[1] + ' recursive calls)' + : formatComponentName(vm)) + ) + }) + .join('\n') + ) + } else { + return '\n\n(found in ' + formatComponentName(vm) + ')' + } + } + } + + /* */ + + var uid = 0 + + /** + * A dep is an observable that can have multiple + * directives subscribing to it. + */ + var Dep = function Dep() { + this.id = uid++ + this.subs = [] + } + + Dep.prototype.addSub = function addSub(sub) { + this.subs.push(sub) + } + + Dep.prototype.removeSub = function removeSub(sub) { + remove(this.subs, sub) + } + + Dep.prototype.depend = function depend() { + if (Dep.target) { + Dep.target.addDep(this) + } + } + + Dep.prototype.notify = function notify() { + // stabilize the subscriber list first + var subs = this.subs.slice() + if (!config.async) { + // subs aren't sorted in scheduler if not running async + // we need to sort them now to make sure they fire in correct + // order + subs.sort(function(a, b) { + return a.id - b.id + }) + } + for (var i = 0, l = subs.length; i < l; i++) { + subs[i].update() + } + } + + // The current target watcher being evaluated. + // This is globally unique because only one watcher + // can be evaluated at a time. + Dep.target = null + var targetStack = [] + + function pushTarget(target) { + targetStack.push(target) + Dep.target = target + } + + function popTarget() { + targetStack.pop() + Dep.target = targetStack[targetStack.length - 1] + } + + /* */ + + var VNode = function VNode( + tag, + data, + children, + text, + elm, + context, + componentOptions, + asyncFactory + ) { + this.tag = tag + this.data = data + this.children = children + this.text = text + this.elm = elm + this.ns = undefined + this.context = context + this.fnContext = undefined + this.fnOptions = undefined + this.fnScopeId = undefined + this.key = data && data.key + this.componentOptions = componentOptions + this.componentInstance = undefined + this.parent = undefined + this.raw = false + this.isStatic = false + this.isRootInsert = true + this.isComment = false + this.isCloned = false + this.isOnce = false + this.asyncFactory = asyncFactory + this.asyncMeta = undefined + this.isAsyncPlaceholder = false + } + + var prototypeAccessors = { child: { configurable: true } } + + // DEPRECATED: alias for componentInstance for backwards compat. + /* istanbul ignore next */ + prototypeAccessors.child.get = function() { + return this.componentInstance + } + + Object.defineProperties(VNode.prototype, prototypeAccessors) + + var createEmptyVNode = function(text) { + if (text === void 0) text = '' + + var node = new VNode() + node.text = text + node.isComment = true + return node + } + + function createTextVNode(val) { + return new VNode(undefined, undefined, undefined, String(val)) + } + + // optimized shallow clone + // used for static nodes and slot nodes because they may be reused across + // multiple renders, cloning them avoids errors when DOM manipulations rely + // on their elm reference. + function cloneVNode(vnode) { + var cloned = new VNode( + vnode.tag, + vnode.data, + // #7975 + // clone children array to avoid mutating original in case of cloning + // a child. + vnode.children && vnode.children.slice(), + vnode.text, + vnode.elm, + vnode.context, + vnode.componentOptions, + vnode.asyncFactory + ) + cloned.ns = vnode.ns + cloned.isStatic = vnode.isStatic + cloned.key = vnode.key + cloned.isComment = vnode.isComment + cloned.fnContext = vnode.fnContext + cloned.fnOptions = vnode.fnOptions + cloned.fnScopeId = vnode.fnScopeId + cloned.asyncMeta = vnode.asyncMeta + cloned.isCloned = true + return cloned + } + + /* + * not type checking this file because flow doesn't play well with + * dynamically accessing methods on Array prototype + */ + + var arrayProto = Array.prototype + var arrayMethods = Object.create(arrayProto) + + var methodsToPatch = ['push', 'pop', 'shift', 'unshift', 'splice', 'sort', 'reverse'] + + /** + * Intercept mutating methods and emit events + */ + methodsToPatch.forEach(function(method) { + // cache original method + var original = arrayProto[method] + def(arrayMethods, method, function mutator() { + var args = [], + len = arguments.length + while (len--) args[len] = arguments[len] + + var result = original.apply(this, args) + var ob = this.__ob__ + var inserted + switch (method) { + case 'push': + case 'unshift': + inserted = args + break + case 'splice': + inserted = args.slice(2) + break + } + if (inserted) { + ob.observeArray(inserted) + } + // notify change + ob.dep.notify() + return result + }) + }) + + /* */ + + var arrayKeys = Object.getOwnPropertyNames(arrayMethods) + + /** + * In some cases we may want to disable observation inside a component's + * update computation. + */ + var shouldObserve = true + + function toggleObserving(value) { + shouldObserve = value + } + + /** + * Observer class that is attached to each observed + * object. Once attached, the observer converts the target + * object's property keys into getter/setters that + * collect dependencies and dispatch updates. + */ + var Observer = function Observer(value) { + this.value = value + this.dep = new Dep() + this.vmCount = 0 + def(value, '__ob__', this) + if (Array.isArray(value)) { + if (hasProto) { + protoAugment(value, arrayMethods) + } else { + copyAugment(value, arrayMethods, arrayKeys) + } + this.observeArray(value) + } else { + this.walk(value) + } + } + + /** + * Walk through all properties and convert them into + * getter/setters. This method should only be called when + * value type is Object. + */ + Observer.prototype.walk = function walk(obj) { + var keys = Object.keys(obj) + for (var i = 0; i < keys.length; i++) { + defineReactive$$1(obj, keys[i]) + } + } + + /** + * Observe a list of Array items. + */ + Observer.prototype.observeArray = function observeArray(items) { + for (var i = 0, l = items.length; i < l; i++) { + observe(items[i]) + } + } + + // helpers + + /** + * Augment a target Object or Array by intercepting + * the prototype chain using __proto__ + */ + function protoAugment(target, src) { + /* eslint-disable no-proto */ + target.__proto__ = src + /* eslint-enable no-proto */ + } + + /** + * Augment a target Object or Array by defining + * hidden properties. + */ + /* istanbul ignore next */ + function copyAugment(target, src, keys) { + for (var i = 0, l = keys.length; i < l; i++) { + var key = keys[i] + def(target, key, src[key]) + } + } + + /** + * Attempt to create an observer instance for a value, + * returns the new observer if successfully observed, + * or the existing observer if the value already has one. + */ + function observe(value, asRootData) { + if (!isObject(value) || value instanceof VNode) { + return + } + var ob + if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { + ob = value.__ob__ + } else if ( + shouldObserve && + !isServerRendering() && + (Array.isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value._isVue + ) { + ob = new Observer(value) + } + if (asRootData && ob) { + ob.vmCount++ + } + return ob + } + + /** + * Define a reactive property on an Object. + */ + function defineReactive$$1(obj, key, val, customSetter, shallow) { + var dep = new Dep() + + var property = Object.getOwnPropertyDescriptor(obj, key) + if (property && property.configurable === false) { + return + } + + // cater for pre-defined getter/setters + var getter = property && property.get + var setter = property && property.set + if ((!getter || setter) && arguments.length === 2) { + val = obj[key] + } + + var childOb = !shallow && observe(val) + Object.defineProperty(obj, key, { + enumerable: true, + configurable: true, + get: function reactiveGetter() { + var value = getter ? getter.call(obj) : val + if (Dep.target) { + dep.depend() + if (childOb) { + childOb.dep.depend() + if (Array.isArray(value)) { + dependArray(value) + } + } + } + return value + }, + set: function reactiveSetter(newVal) { + var value = getter ? getter.call(obj) : val + /* eslint-disable no-self-compare */ + if (newVal === value || (newVal !== newVal && value !== value)) { + return + } + /* eslint-enable no-self-compare */ + if (customSetter) { + customSetter() + } + // #7981: for accessor properties without setter + if (getter && !setter) { + return + } + if (setter) { + setter.call(obj, newVal) + } else { + val = newVal + } + childOb = !shallow && observe(newVal) + dep.notify() + }, + }) + } + + /** + * Set a property on an object. Adds the new property and + * triggers change notification if the property doesn't + * already exist. + */ + function set(target, key, val) { + if (isUndef(target) || isPrimitive(target)) { + warn('Cannot set reactive property on undefined, null, or primitive value: ' + target) + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.length = Math.max(target.length, key) + target.splice(key, 1, val) + return val + } + if (key in target && !(key in Object.prototype)) { + target[key] = val + return val + } + var ob = target.__ob__ + if (target._isVue || (ob && ob.vmCount)) { + warn( + 'Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.' + ) + return val + } + if (!ob) { + target[key] = val + return val + } + defineReactive$$1(ob.value, key, val) + ob.dep.notify() + return val + } + + /** + * Delete a property and trigger change if necessary. + */ + function del(target, key) { + if (isUndef(target) || isPrimitive(target)) { + warn('Cannot delete reactive property on undefined, null, or primitive value: ' + target) + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1) + return + } + var ob = target.__ob__ + if (target._isVue || (ob && ob.vmCount)) { + warn( + 'Avoid deleting properties on a Vue instance or its root $data ' + '- just set it to null.' + ) + return + } + if (!hasOwn(target, key)) { + return + } + delete target[key] + if (!ob) { + return + } + ob.dep.notify() + } + + /** + * Collect dependencies on array elements when the array is touched, since + * we cannot intercept array element access like property getters. + */ + function dependArray(value) { + for (var e = void 0, i = 0, l = value.length; i < l; i++) { + e = value[i] + e && e.__ob__ && e.__ob__.dep.depend() + if (Array.isArray(e)) { + dependArray(e) + } + } + } + + /* */ + + /** + * Option overwriting strategies are functions that handle + * how to merge a parent option value and a child option + * value into the final value. + */ + var strats = config.optionMergeStrategies + + /** + * Options with restrictions + */ + { + strats.el = strats.propsData = function(parent, child, vm, key) { + if (!vm) { + warn( + 'option "' + + key + + '" can only be used during instance ' + + 'creation with the `new` keyword.' + ) + } + return defaultStrat(parent, child) + } + } + + /** + * Helper that recursively merges two data objects together. + */ + function mergeData(to, from) { + if (!from) { + return to + } + var key, toVal, fromVal + + var keys = hasSymbol ? Reflect.ownKeys(from) : Object.keys(from) + + for (var i = 0; i < keys.length; i++) { + key = keys[i] + // in case the object is already observed... + if (key === '__ob__') { + continue + } + toVal = to[key] + fromVal = from[key] + if (!hasOwn(to, key)) { + set(to, key, fromVal) + } else if (toVal !== fromVal && isPlainObject(toVal) && isPlainObject(fromVal)) { + mergeData(toVal, fromVal) + } + } + return to + } + + /** + * Data + */ + function mergeDataOrFn(parentVal, childVal, vm) { + if (!vm) { + // in a Vue.extend merge, both should be functions + if (!childVal) { + return parentVal + } + if (!parentVal) { + return childVal + } + // when parentVal & childVal are both present, + // we need to return a function that returns the + // merged result of both functions... no need to + // check if parentVal is a function here because + // it has to be a function to pass previous merges. + return function mergedDataFn() { + return mergeData( + typeof childVal === 'function' ? childVal.call(this, this) : childVal, + typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal + ) + } + } else { + return function mergedInstanceDataFn() { + // instance merge + var instanceData = typeof childVal === 'function' ? childVal.call(vm, vm) : childVal + var defaultData = typeof parentVal === 'function' ? parentVal.call(vm, vm) : parentVal + if (instanceData) { + return mergeData(instanceData, defaultData) + } else { + return defaultData + } + } + } + } + + strats.data = function(parentVal, childVal, vm) { + if (!vm) { + if (childVal && typeof childVal !== 'function') { + warn( + 'The "data" option should be a function ' + + 'that returns a per-instance value in component ' + + 'definitions.', + vm + ) + + return parentVal + } + return mergeDataOrFn(parentVal, childVal) + } + + return mergeDataOrFn(parentVal, childVal, vm) + } + + /** + * Hooks and props are merged as arrays. + */ + function mergeHook(parentVal, childVal) { + var res = childVal + ? parentVal + ? parentVal.concat(childVal) + : Array.isArray(childVal) + ? childVal + : [childVal] + : parentVal + return res ? dedupeHooks(res) : res + } + + function dedupeHooks(hooks) { + var res = [] + for (var i = 0; i < hooks.length; i++) { + if (res.indexOf(hooks[i]) === -1) { + res.push(hooks[i]) + } + } + return res + } + + LIFECYCLE_HOOKS.forEach(function(hook) { + strats[hook] = mergeHook + }) + + /** + * Assets + * + * When a vm is present (instance creation), we need to do + * a three-way merge between constructor options, instance + * options and parent options. + */ + function mergeAssets(parentVal, childVal, vm, key) { + var res = Object.create(parentVal || null) + if (childVal) { + assertObjectType(key, childVal, vm) + return extend(res, childVal) + } else { + return res + } + } + + ASSET_TYPES.forEach(function(type) { + strats[type + 's'] = mergeAssets + }) + + /** + * Watchers. + * + * Watchers hashes should not overwrite one + * another, so we merge them as arrays. + */ + strats.watch = function(parentVal, childVal, vm, key) { + // work around Firefox's Object.prototype.watch... + if (parentVal === nativeWatch) { + parentVal = undefined + } + if (childVal === nativeWatch) { + childVal = undefined + } + /* istanbul ignore if */ + if (!childVal) { + return Object.create(parentVal || null) + } + { + assertObjectType(key, childVal, vm) + } + if (!parentVal) { + return childVal + } + var ret = {} + extend(ret, parentVal) + for (var key$1 in childVal) { + var parent = ret[key$1] + var child = childVal[key$1] + if (parent && !Array.isArray(parent)) { + parent = [parent] + } + ret[key$1] = parent ? parent.concat(child) : Array.isArray(child) ? child : [child] + } + return ret + } + + /** + * Other object hashes. + */ + strats.props = strats.methods = strats.inject = strats.computed = function( + parentVal, + childVal, + vm, + key + ) { + if (childVal && 'development' !== 'production') { + assertObjectType(key, childVal, vm) + } + if (!parentVal) { + return childVal + } + var ret = Object.create(null) + extend(ret, parentVal) + if (childVal) { + extend(ret, childVal) + } + return ret + } + strats.provide = mergeDataOrFn + + /** + * Default strategy. + */ + var defaultStrat = function(parentVal, childVal) { + return childVal === undefined ? parentVal : childVal + } + + /** + * Validate component names + */ + function checkComponents(options) { + for (var key in options.components) { + validateComponentName(key) + } + } + + function validateComponentName(name) { + if (!new RegExp('^[a-zA-Z][\\-\\.0-9_' + unicodeRegExp.source + ']*$').test(name)) { + warn( + 'Invalid component name: "' + + name + + '". Component names ' + + 'should conform to valid custom element name in html5 specification.' + ) + } + if (isBuiltInTag(name) || config.isReservedTag(name)) { + warn('Do not use built-in or reserved HTML elements as component ' + 'id: ' + name) + } + } + + /** + * Ensure all props option syntax are normalized into the + * Object-based format. + */ + function normalizeProps(options, vm) { + var props = options.props + if (!props) { + return + } + var res = {} + var i, val, name + if (Array.isArray(props)) { + i = props.length + while (i--) { + val = props[i] + if (typeof val === 'string') { + name = camelize(val) + res[name] = { type: null } + } else { + warn('props must be strings when using array syntax.') + } + } + } else if (isPlainObject(props)) { + for (var key in props) { + val = props[key] + name = camelize(key) + res[name] = isPlainObject(val) ? val : { type: val } + } + } else { + warn( + 'Invalid value for option "props": expected an Array or an Object, ' + + 'but got ' + + toRawType(props) + + '.', + vm + ) + } + options.props = res + } + + /** + * Normalize all injections into Object-based format + */ + function normalizeInject(options, vm) { + var inject = options.inject + if (!inject) { + return + } + var normalized = (options.inject = {}) + if (Array.isArray(inject)) { + for (var i = 0; i < inject.length; i++) { + normalized[inject[i]] = { from: inject[i] } + } + } else if (isPlainObject(inject)) { + for (var key in inject) { + var val = inject[key] + normalized[key] = isPlainObject(val) ? extend({ from: key }, val) : { from: val } + } + } else { + warn( + 'Invalid value for option "inject": expected an Array or an Object, ' + + 'but got ' + + toRawType(inject) + + '.', + vm + ) + } + } + + /** + * Normalize raw function directives into object format. + */ + function normalizeDirectives(options) { + var dirs = options.directives + if (dirs) { + for (var key in dirs) { + var def$$1 = dirs[key] + if (typeof def$$1 === 'function') { + dirs[key] = { bind: def$$1, update: def$$1 } + } + } + } + } + + function assertObjectType(name, value, vm) { + if (!isPlainObject(value)) { + warn( + 'Invalid value for option "' + + name + + '": expected an Object, ' + + 'but got ' + + toRawType(value) + + '.', + vm + ) + } + } + + /** + * Merge two option objects into a new one. + * Core utility used in both instantiation and inheritance. + */ + function mergeOptions(parent, child, vm) { + { + checkComponents(child) + } + + if (typeof child === 'function') { + child = child.options + } + + normalizeProps(child, vm) + normalizeInject(child, vm) + normalizeDirectives(child) + + // Apply extends and mixins on the child options, + // but only if it is a raw options object that isn't + // the result of another mergeOptions call. + // Only merged options has the _base property. + if (!child._base) { + if (child.extends) { + parent = mergeOptions(parent, child.extends, vm) + } + if (child.mixins) { + for (var i = 0, l = child.mixins.length; i < l; i++) { + parent = mergeOptions(parent, child.mixins[i], vm) + } + } + } + + var options = {} + var key + for (key in parent) { + mergeField(key) + } + for (key in child) { + if (!hasOwn(parent, key)) { + mergeField(key) + } + } + function mergeField(key) { + var strat = strats[key] || defaultStrat + options[key] = strat(parent[key], child[key], vm, key) + } + return options + } + + /** + * Resolve an asset. + * This function is used because child instances need access + * to assets defined in its ancestor chain. + */ + function resolveAsset(options, type, id, warnMissing) { + /* istanbul ignore if */ + if (typeof id !== 'string') { + return + } + var assets = options[type] + // check local registration variations first + if (hasOwn(assets, id)) { + return assets[id] + } + var camelizedId = camelize(id) + if (hasOwn(assets, camelizedId)) { + return assets[camelizedId] + } + var PascalCaseId = capitalize(camelizedId) + if (hasOwn(assets, PascalCaseId)) { + return assets[PascalCaseId] + } + // fallback to prototype chain + var res = assets[id] || assets[camelizedId] || assets[PascalCaseId] + if (warnMissing && !res) { + warn('Failed to resolve ' + type.slice(0, -1) + ': ' + id, options) + } + return res + } + + /* */ + + function validateProp(key, propOptions, propsData, vm) { + var prop = propOptions[key] + var absent = !hasOwn(propsData, key) + var value = propsData[key] + // boolean casting + var booleanIndex = getTypeIndex(Boolean, prop.type) + if (booleanIndex > -1) { + if (absent && !hasOwn(prop, 'default')) { + value = false + } else if (value === '' || value === hyphenate(key)) { + // only cast empty string / same name to boolean if + // boolean has higher priority + var stringIndex = getTypeIndex(String, prop.type) + if (stringIndex < 0 || booleanIndex < stringIndex) { + value = true + } + } + } + // check default value + if (value === undefined) { + value = getPropDefaultValue(vm, prop, key) + // since the default value is a fresh copy, + // make sure to observe it. + var prevShouldObserve = shouldObserve + toggleObserving(true) + observe(value) + toggleObserving(prevShouldObserve) + } + { + assertProp(prop, key, value, vm, absent) + } + return value + } + + /** + * Get the default value of a prop. + */ + function getPropDefaultValue(vm, prop, key) { + // no default, return undefined + if (!hasOwn(prop, 'default')) { + return undefined + } + var def = prop.default + // warn against non-factory defaults for Object & Array + if (isObject(def)) { + warn( + 'Invalid default value for prop "' + + key + + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', + vm + ) + } + // the raw prop value was also undefined from previous render, + // return previous default value to avoid unnecessary watcher trigger + if ( + vm && + vm.$options.propsData && + vm.$options.propsData[key] === undefined && + vm._props[key] !== undefined + ) { + return vm._props[key] + } + // call factory function for non-Function types + // a value is Function if its prototype is function even across different execution context + return typeof def === 'function' && getType(prop.type) !== 'Function' ? def.call(vm) : def + } + + /** + * Assert whether a prop is valid. + */ + function assertProp(prop, name, value, vm, absent) { + if (prop.required && absent) { + warn('Missing required prop: "' + name + '"', vm) + return + } + if (value == null && !prop.required) { + return + } + var type = prop.type + var valid = !type || type === true + var expectedTypes = [] + if (type) { + if (!Array.isArray(type)) { + type = [type] + } + for (var i = 0; i < type.length && !valid; i++) { + var assertedType = assertType(value, type[i]) + expectedTypes.push(assertedType.expectedType || '') + valid = assertedType.valid + } + } + + if (!valid) { + warn(getInvalidTypeMessage(name, value, expectedTypes), vm) + return + } + var validator = prop.validator + if (validator) { + if (!validator(value)) { + warn('Invalid prop: custom validator check failed for prop "' + name + '".', vm) + } + } + } + + var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/ + + function assertType(value, type) { + var valid + var expectedType = getType(type) + if (simpleCheckRE.test(expectedType)) { + var t = typeof value + valid = t === expectedType.toLowerCase() + // for primitive wrapper objects + if (!valid && t === 'object') { + valid = value instanceof type + } + } else if (expectedType === 'Object') { + valid = isPlainObject(value) + } else if (expectedType === 'Array') { + valid = Array.isArray(value) + } else { + valid = value instanceof type + } + return { + valid: valid, + expectedType: expectedType, + } + } + + /** + * Use function string name to check built-in types, + * because a simple equality check will fail when running + * across different vms / iframes. + */ + function getType(fn) { + var match = fn && fn.toString().match(/^\s*function (\w+)/) + return match ? match[1] : '' + } + + function isSameType(a, b) { + return getType(a) === getType(b) + } + + function getTypeIndex(type, expectedTypes) { + if (!Array.isArray(expectedTypes)) { + return isSameType(expectedTypes, type) ? 0 : -1 + } + for (var i = 0, len = expectedTypes.length; i < len; i++) { + if (isSameType(expectedTypes[i], type)) { + return i + } + } + return -1 + } + + function getInvalidTypeMessage(name, value, expectedTypes) { + var message = + 'Invalid prop: type check failed for prop "' + + name + + '".' + + ' Expected ' + + expectedTypes.map(capitalize).join(', ') + var expectedType = expectedTypes[0] + var receivedType = toRawType(value) + var expectedValue = styleValue(value, expectedType) + var receivedValue = styleValue(value, receivedType) + // check if we need to specify expected value + if ( + expectedTypes.length === 1 && + isExplicable(expectedType) && + !isBoolean(expectedType, receivedType) + ) { + message += ' with value ' + expectedValue + } + message += ', got ' + receivedType + ' ' + // check if we need to specify received value + if (isExplicable(receivedType)) { + message += 'with value ' + receivedValue + '.' + } + return message + } + + function styleValue(value, type) { + if (type === 'String') { + return '"' + value + '"' + } else if (type === 'Number') { + return '' + Number(value) + } else { + return '' + value + } + } + + function isExplicable(value) { + var explicitTypes = ['string', 'number', 'boolean'] + return explicitTypes.some(function(elem) { + return value.toLowerCase() === elem + }) + } + + function isBoolean() { + var args = [], + len = arguments.length + while (len--) args[len] = arguments[len] + + return args.some(function(elem) { + return elem.toLowerCase() === 'boolean' + }) + } + + /* */ + + function handleError(err, vm, info) { + // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. + // See: https://github.com/vuejs/vuex/issues/1505 + pushTarget() + try { + if (vm) { + var cur = vm + while ((cur = cur.$parent)) { + var hooks = cur.$options.errorCaptured + if (hooks) { + for (var i = 0; i < hooks.length; i++) { + try { + var capture = hooks[i].call(cur, err, vm, info) === false + if (capture) { + return + } + } catch (e) { + globalHandleError(e, cur, 'errorCaptured hook') + } + } + } + } + } + globalHandleError(err, vm, info) + } finally { + popTarget() + } + } + + function invokeWithErrorHandling(handler, context, args, vm, info) { + var res + try { + res = args ? handler.apply(context, args) : handler.call(context) + if (res && !res._isVue && isPromise(res) && !res._handled) { + res.catch(function(e) { + return handleError(e, vm, info + ' (Promise/async)') + }) + // issue #9511 + // avoid catch triggering multiple times when nested calls + res._handled = true + } + } catch (e) { + handleError(e, vm, info) + } + return res + } + + function globalHandleError(err, vm, info) { + if (config.errorHandler) { + try { + return config.errorHandler.call(null, err, vm, info) + } catch (e) { + // if the user intentionally throws the original error in the handler, + // do not log it twice + if (e !== err) { + logError(e, null, 'config.errorHandler') + } + } + } + logError(err, vm, info) + } + + function logError(err, vm, info) { + { + warn('Error in ' + info + ': "' + err.toString() + '"', vm) + } + /* istanbul ignore else */ + if ((inBrowser || inWeex) && typeof console !== 'undefined') { + console.error(err) + } else { + throw err + } + } + + /* */ + + var isUsingMicroTask = false + + var callbacks = [] + var pending = false + + function flushCallbacks() { + pending = false + var copies = callbacks.slice(0) + callbacks.length = 0 + for (var i = 0; i < copies.length; i++) { + copies[i]() + } + } + + // Here we have async deferring wrappers using microtasks. + // In 2.5 we used (macro) tasks (in combination with microtasks). + // However, it has subtle problems when state is changed right before repaint + // (e.g. #6813, out-in transitions). + // Also, using (macro) tasks in event handler would cause some weird behaviors + // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). + // So we now use microtasks everywhere, again. + // A major drawback of this tradeoff is that there are some scenarios + // where microtasks have too high a priority and fire in between supposedly + // sequential events (e.g. #4521, #6690, which have workarounds) + // or even between bubbling of the same event (#6566). + var timerFunc + + // The nextTick behavior leverages the microtask queue, which can be accessed + // via either native Promise.then or MutationObserver. + // MutationObserver has wider support, however it is seriously bugged in + // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It + // completely stops working after triggering a few times... so, if native + // Promise is available, we will use it: + /* istanbul ignore next, $flow-disable-line */ + if (typeof Promise !== 'undefined' && isNative(Promise)) { + var p = Promise.resolve() + timerFunc = function() { + p.then(flushCallbacks) + // In problematic UIWebViews, Promise.then doesn't completely break, but + // it can get stuck in a weird state where callbacks are pushed into the + // microtask queue but the queue isn't being flushed, until the browser + // needs to do some other work, e.g. handle a timer. Therefore we can + // "force" the microtask queue to be flushed by adding an empty timer. + if (isIOS) { + setTimeout(noop) + } + } + isUsingMicroTask = true + } else if ( + !isIE && + typeof MutationObserver !== 'undefined' && + (isNative(MutationObserver) || + // PhantomJS and iOS 7.x + MutationObserver.toString() === '[object MutationObserverConstructor]') + ) { + // Use MutationObserver where native Promise is not available, + // e.g. PhantomJS, iOS7, Android 4.4 + // (#6466 MutationObserver is unreliable in IE11) + var counter = 1 + var observer = new MutationObserver(flushCallbacks) + var textNode = document.createTextNode(String(counter)) + observer.observe(textNode, { + characterData: true, + }) + timerFunc = function() { + counter = (counter + 1) % 2 + textNode.data = String(counter) + } + isUsingMicroTask = true + } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { + // Fallback to setImmediate. + // Techinically it leverages the (macro) task queue, + // but it is still a better choice than setTimeout. + timerFunc = function() { + setImmediate(flushCallbacks) + } + } else { + // Fallback to setTimeout. + timerFunc = function() { + setTimeout(flushCallbacks, 0) + } + } + + function nextTick(cb, ctx) { + var _resolve + callbacks.push(function() { + if (cb) { + try { + cb.call(ctx) + } catch (e) { + handleError(e, ctx, 'nextTick') + } + } else if (_resolve) { + _resolve(ctx) + } + }) + if (!pending) { + pending = true + timerFunc() + } + // $flow-disable-line + if (!cb && typeof Promise !== 'undefined') { + return new Promise(function(resolve) { + _resolve = resolve + }) + } + } + + /* */ + + /* not type checking this file because flow doesn't play well with Proxy */ + + var initProxy + + { + var allowedGlobals = makeMap( + 'Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + + 'require' // for Webpack/Browserify + ) + + var warnNonPresent = function(target, key) { + warn( + 'Property or method "' + + key + + '" is not defined on the instance but ' + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', + target + ) + } + + var warnReservedPrefix = function(target, key) { + warn( + 'Property "' + + key + + '" must be accessed with "$data.' + + key + + '" because ' + + 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + + 'prevent conflicts with Vue internals' + + 'See: https://vuejs.org/v2/api/#data', + target + ) + } + + var hasProxy = typeof Proxy !== 'undefined' && isNative(Proxy) + + if (hasProxy) { + var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact') + config.keyCodes = new Proxy(config.keyCodes, { + set: function set(target, key, value) { + if (isBuiltInModifier(key)) { + warn('Avoid overwriting built-in modifier in config.keyCodes: .' + key) + return false + } else { + target[key] = value + return true + } + }, + }) + } + + var hasHandler = { + has: function has(target, key) { + var has = key in target + var isAllowed = + allowedGlobals(key) || + (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)) + if (!has && !isAllowed) { + if (key in target.$data) { + warnReservedPrefix(target, key) + } else { + warnNonPresent(target, key) + } + } + return has || !isAllowed + }, + } + + var getHandler = { + get: function get(target, key) { + if (typeof key === 'string' && !(key in target)) { + if (key in target.$data) { + warnReservedPrefix(target, key) + } else { + warnNonPresent(target, key) + } + } + return target[key] + }, + } + + initProxy = function initProxy(vm) { + if (hasProxy) { + // determine which proxy handler to use + var options = vm.$options + var handlers = options.render && options.render._withStripped ? getHandler : hasHandler + vm._renderProxy = new Proxy(vm, handlers) + } else { + vm._renderProxy = vm + } + } + } + + /* */ + + var seenObjects = new _Set() + + /** + * Recursively traverse an object to evoke all converted + * getters, so that every nested property inside the object + * is collected as a "deep" dependency. + */ + function traverse(val) { + _traverse(val, seenObjects) + seenObjects.clear() + } + + function _traverse(val, seen) { + var i, keys + var isA = Array.isArray(val) + if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { + return + } + if (val.__ob__) { + var depId = val.__ob__.dep.id + if (seen.has(depId)) { + return + } + seen.add(depId) + } + if (isA) { + i = val.length + while (i--) { + _traverse(val[i], seen) + } + } else { + keys = Object.keys(val) + i = keys.length + while (i--) { + _traverse(val[keys[i]], seen) + } + } + } + + var mark + var measure + + { + var perf = inBrowser && window.performance + /* istanbul ignore if */ + if (perf && perf.mark && perf.measure && perf.clearMarks && perf.clearMeasures) { + mark = function(tag) { + return perf.mark(tag) + } + measure = function(name, startTag, endTag) { + perf.measure(name, startTag, endTag) + perf.clearMarks(startTag) + perf.clearMarks(endTag) + // perf.clearMeasures(name) + } + } + } + + /* */ + + var normalizeEvent = cached(function(name) { + var passive = name.charAt(0) === '&' + name = passive ? name.slice(1) : name + var once$$1 = name.charAt(0) === '~' // Prefixed last, checked first + name = once$$1 ? name.slice(1) : name + var capture = name.charAt(0) === '!' + name = capture ? name.slice(1) : name + return { + name: name, + once: once$$1, + capture: capture, + passive: passive, + } + }) + + function createFnInvoker(fns, vm) { + function invoker() { + var arguments$1 = arguments + + var fns = invoker.fns + if (Array.isArray(fns)) { + var cloned = fns.slice() + for (var i = 0; i < cloned.length; i++) { + invokeWithErrorHandling(cloned[i], null, arguments$1, vm, 'v-on handler') + } + } else { + // return handler return value for single handlers + return invokeWithErrorHandling(fns, null, arguments, vm, 'v-on handler') + } + } + invoker.fns = fns + return invoker + } + + function updateListeners(on, oldOn, add, remove$$1, createOnceHandler, vm) { + var name, def$$1, cur, old, event + for (name in on) { + def$$1 = cur = on[name] + old = oldOn[name] + event = normalizeEvent(name) + if (isUndef(cur)) { + warn('Invalid handler for event "' + event.name + '": got ' + String(cur), vm) + } else if (isUndef(old)) { + if (isUndef(cur.fns)) { + cur = on[name] = createFnInvoker(cur, vm) + } + if (isTrue(event.once)) { + cur = on[name] = createOnceHandler(event.name, cur, event.capture) + } + add(event.name, cur, event.capture, event.passive, event.params) + } else if (cur !== old) { + old.fns = cur + on[name] = old + } + } + for (name in oldOn) { + if (isUndef(on[name])) { + event = normalizeEvent(name) + remove$$1(event.name, oldOn[name], event.capture) + } + } + } + + /* */ + + function mergeVNodeHook(def, hookKey, hook) { + if (def instanceof VNode) { + def = def.data.hook || (def.data.hook = {}) + } + var invoker + var oldHook = def[hookKey] + + function wrappedHook() { + hook.apply(this, arguments) + // important: remove merged hook to ensure it's called only once + // and prevent memory leak + remove(invoker.fns, wrappedHook) + } + + if (isUndef(oldHook)) { + // no existing hook + invoker = createFnInvoker([wrappedHook]) + } else { + /* istanbul ignore if */ + if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { + // already a merged invoker + invoker = oldHook + invoker.fns.push(wrappedHook) + } else { + // existing plain hook + invoker = createFnInvoker([oldHook, wrappedHook]) + } + } + + invoker.merged = true + def[hookKey] = invoker + } + + /* */ + + function extractPropsFromVNodeData(data, Ctor, tag) { + // we are only extracting raw values here. + // validation and default values are handled in the child + // component itself. + var propOptions = Ctor.options.props + if (isUndef(propOptions)) { + return + } + var res = {} + var attrs = data.attrs + var props = data.props + if (isDef(attrs) || isDef(props)) { + for (var key in propOptions) { + var altKey = hyphenate(key) + { + var keyInLowerCase = key.toLowerCase() + if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) { + tip( + 'Prop "' + + keyInLowerCase + + '" is passed to component ' + + formatComponentName(tag || Ctor) + + ', but the declared prop name is' + + ' "' + + key + + '". ' + + 'Note that HTML attributes are case-insensitive and camelCased ' + + 'props need to use their kebab-case equivalents when using in-DOM ' + + 'templates. You should probably use "' + + altKey + + '" instead of "' + + key + + '".' + ) + } + } + checkProp(res, props, key, altKey, true) || checkProp(res, attrs, key, altKey, false) + } + } + return res + } + + function checkProp(res, hash, key, altKey, preserve) { + if (isDef(hash)) { + if (hasOwn(hash, key)) { + res[key] = hash[key] + if (!preserve) { + delete hash[key] + } + return true + } else if (hasOwn(hash, altKey)) { + res[key] = hash[altKey] + if (!preserve) { + delete hash[altKey] + } + return true + } + } + return false + } + + /* */ + + // The template compiler attempts to minimize the need for normalization by + // statically analyzing the template at compile time. + // + // For plain HTML markup, normalization can be completely skipped because the + // generated render function is guaranteed to return Array. There are + // two cases where extra normalization is needed: + + // 1. When the children contains components - because a functional component + // may return an Array instead of a single root. In this case, just a simple + // normalization is needed - if any child is an Array, we flatten the whole + // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep + // because functional components already normalize their own children. + function simpleNormalizeChildren(children) { + for (var i = 0; i < children.length; i++) { + if (Array.isArray(children[i])) { + return Array.prototype.concat.apply([], children) + } + } + return children + } + + // 2. When the children contains constructs that always generated nested Arrays, + // e.g.