From c4a5a3e178cdd268dc7f5704da8e49949f1932a0 Mon Sep 17 00:00:00 2001 From: Ken Berkeley Date: Sat, 22 Apr 2017 21:53:50 +0800 Subject: [PATCH] merge src/xhr/config.js into src/xhr/jquery.js; make built docs within docs/ --- README.md | 2 +- build/prod.js | 1 - build/webpack.base.conf.js | 9 +- build/webpack.dev.conf.js | 7 - build/webpack.prod.conf.js | 8 +- .../css/app.8bd3d2.css => css/app.0ad153.css} | 0 dist/docs/search_index.json | 1 - dist/docs/zh-cn/development/Ajax-interface.md | 29 ---- dist/docs/zh-cn/development/Best-practice.md | 159 ------------------ dist/docs/zh-cn/development/CORS-and-Proxy.md | 28 --- dist/docs/zh-cn/development/Configuration.md | 78 --------- dist/docs/zh-cn/development/README.md | 11 -- dist/docs/zh-cn/development/Service-layer.md | 41 ----- .../zh-cn/development/State-management.md | 40 ----- .../zh-cn/development/URL-is-soul-of-SPA.md | 60 ------- dist/docs/zh-cn/search_index.json | 1 - dist/index.html | 10 +- dist/js/app.62bef8.js | 2 + dist/js/manifest.b3d0c9.js | 1 + dist/js/vendor.05926d.js | 26 +++ dist/static/bundle/plugins-00354ef8eb.js | 5 + dist/static/bundle/plugins-33cd33ea65.js | 5 - dist/static/js/0.8a5ed3.js | 1 - dist/static/js/app.34d677.js | 1 - dist/static/js/manifest.92fd38.js | 1 - dist/static/js/vendor.098710.js | 32 ---- .../gitbook/fonts/fontawesome/FontAwesome.otf | Bin .../fonts/fontawesome/fontawesome-webfont.eot | Bin .../fonts/fontawesome/fontawesome-webfont.svg | 0 .../fonts/fontawesome/fontawesome-webfont.ttf | Bin .../fontawesome/fontawesome-webfont.woff | Bin .../fontawesome/fontawesome-webfont.woff2 | Bin .../fontsettings.js | 0 .../gitbook-plugin-fontsettings/website.css | 0 .../gitbook-plugin-highlight/ebook.css | 0 .../gitbook-plugin-highlight/website.css | 0 .../gitbook/gitbook-plugin-lunr/lunr.min.js | 0 .../gitbook-plugin-lunr/search-lunr.js | 0 .../gitbook/gitbook-plugin-search/lunr.min.js | 0 .../gitbook-plugin-search/search-engine.js | 0 .../gitbook/gitbook-plugin-search/search.css | 0 .../gitbook/gitbook-plugin-search/search.js | 0 .../gitbook/gitbook-plugin-sharing/buttons.js | 0 {dist/docs => docs/_book}/gitbook/gitbook.js | 0 .../apple-touch-icon-precomposed-152.png | Bin .../_book}/gitbook/images/favicon.ico | Bin {dist/docs => docs/_book}/gitbook/style.css | 0 {dist/docs => docs/_book}/gitbook/theme.js | 0 {dist/docs => docs/_book}/index.html | 0 docs/_book/search_index.json | 1 + {dist/docs => docs/_book}/zh-cn/Features.html | 5 +- .../_book}/zh-cn/Getting-started.html | 2 +- .../docs => docs/_book}/zh-cn/Reference.html | 2 +- .../docs => docs/_book}/zh-cn/Structure.html | 2 +- .../zh-cn/development/Ajax-interface.html | 2 +- .../zh-cn/development/Best-practice.html | 2 +- .../zh-cn/development/CORS-and-Proxy.html | 2 +- .../zh-cn/development/Configuration.html | 2 +- .../zh-cn/development/Service-layer.html | 2 +- .../zh-cn/development/State-management.html | 2 +- .../zh-cn/development/URL-is-soul-of-SPA.html | 2 +- .../_book}/zh-cn/development/index.html | 2 +- {dist/docs => docs/_book}/zh-cn/index.html | 2 +- docs/_book/zh-cn/search_index.json | 1 + docs/zh-cn/Features.md | 3 +- package.json | 2 +- src/components/Navbar.vue | 2 +- src/services/xhr/config.js | 15 -- src/services/xhr/index.js | 7 +- src/services/xhr/jquery.js | 20 ++- 70 files changed, 80 insertions(+), 559 deletions(-) rename dist/{static/css/app.8bd3d2.css => css/app.0ad153.css} (100%) delete mode 100644 dist/docs/search_index.json delete mode 100644 dist/docs/zh-cn/development/Ajax-interface.md delete mode 100644 dist/docs/zh-cn/development/Best-practice.md delete mode 100644 dist/docs/zh-cn/development/CORS-and-Proxy.md delete mode 100644 dist/docs/zh-cn/development/Configuration.md delete mode 100644 dist/docs/zh-cn/development/README.md delete mode 100644 dist/docs/zh-cn/development/Service-layer.md delete mode 100644 dist/docs/zh-cn/development/State-management.md delete mode 100644 dist/docs/zh-cn/development/URL-is-soul-of-SPA.md delete mode 100644 dist/docs/zh-cn/search_index.json create mode 100644 dist/js/app.62bef8.js create mode 100644 dist/js/manifest.b3d0c9.js create mode 100644 dist/js/vendor.05926d.js create mode 100644 dist/static/bundle/plugins-00354ef8eb.js delete mode 100644 dist/static/bundle/plugins-33cd33ea65.js delete mode 100644 dist/static/js/0.8a5ed3.js delete mode 100644 dist/static/js/app.34d677.js delete mode 100644 dist/static/js/manifest.92fd38.js delete mode 100644 dist/static/js/vendor.098710.js rename {dist/docs => docs/_book}/gitbook/fonts/fontawesome/FontAwesome.otf (100%) rename {dist/docs => docs/_book}/gitbook/fonts/fontawesome/fontawesome-webfont.eot (100%) rename {dist/docs => docs/_book}/gitbook/fonts/fontawesome/fontawesome-webfont.svg (100%) rename {dist/docs => docs/_book}/gitbook/fonts/fontawesome/fontawesome-webfont.ttf (100%) rename {dist/docs => docs/_book}/gitbook/fonts/fontawesome/fontawesome-webfont.woff (100%) rename {dist/docs => docs/_book}/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-fontsettings/fontsettings.js (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-fontsettings/website.css (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-highlight/ebook.css (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-highlight/website.css (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-lunr/lunr.min.js (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-lunr/search-lunr.js (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-search/lunr.min.js (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-search/search-engine.js (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-search/search.css (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-search/search.js (100%) rename {dist/docs => docs/_book}/gitbook/gitbook-plugin-sharing/buttons.js (100%) rename {dist/docs => docs/_book}/gitbook/gitbook.js (100%) rename {dist/docs => docs/_book}/gitbook/images/apple-touch-icon-precomposed-152.png (100%) rename {dist/docs => docs/_book}/gitbook/images/favicon.ico (100%) rename {dist/docs => docs/_book}/gitbook/style.css (100%) rename {dist/docs => docs/_book}/gitbook/theme.js (100%) rename {dist/docs => docs/_book}/index.html (100%) create mode 100644 docs/_book/search_index.json rename {dist/docs => docs/_book}/zh-cn/Features.html (97%) rename {dist/docs => docs/_book}/zh-cn/Getting-started.html (99%) rename {dist/docs => docs/_book}/zh-cn/Reference.html (98%) rename {dist/docs => docs/_book}/zh-cn/Structure.html (99%) rename {dist/docs => docs/_book}/zh-cn/development/Ajax-interface.html (99%) rename {dist/docs => docs/_book}/zh-cn/development/Best-practice.html (99%) rename {dist/docs => docs/_book}/zh-cn/development/CORS-and-Proxy.html (99%) rename {dist/docs => docs/_book}/zh-cn/development/Configuration.html (99%) rename {dist/docs => docs/_book}/zh-cn/development/Service-layer.html (98%) rename {dist/docs => docs/_book}/zh-cn/development/State-management.html (99%) rename {dist/docs => docs/_book}/zh-cn/development/URL-is-soul-of-SPA.html (98%) rename {dist/docs => docs/_book}/zh-cn/development/index.html (98%) rename {dist/docs => docs/_book}/zh-cn/index.html (98%) create mode 100644 docs/_book/zh-cn/search_index.json delete mode 100644 src/services/xhr/config.js diff --git a/README.md b/README.md index 77257d7..b3e2216 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,6 @@ > ### Vue2 脚手架已出!戳[这里](https://github.com/kenberkeley/vue2-scaffold)! -[在线 Demo](https://kenberkeley.github.io/vue-demo/dist) | [在线文档](https://kenberkeley.github.io/vue-demo/dist/docs) +[在线 Demo](https://kenberkeley.github.io/vue-demo/dist) | [在线文档](https://kenberkeley.github.io/vue-demo/docs/_book) ![截图](./screenshot.png) diff --git a/build/prod.js b/build/prod.js index ee26acf..660de26 100644 --- a/build/prod.js +++ b/build/prod.js @@ -6,7 +6,6 @@ var fs = require('fs-extra'), fs.emptyDirSync(PATHS.DIST); // 清空 build 目录 fs.copySync(PATHS.STATIC, PATHS.DIST.join('static')); // 复制高度静态资源 -fs.moveSync(PATHS.DOCS, PATHS.DIST.join('docs')); // 移动文档 webpack(config, function(err, stats) { // show build info to console diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index 01994f7..9491a8c 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -2,6 +2,7 @@ var webpack = require('webpack'), ENV = require('./config/ENV'), PATHS = require('./config/PATHS'), styleRules = require('./config/style-rules'), + HtmlWebpackPlugin = require('html-webpack-plugin'), NyanProgressPlugin = require('nyan-progress-webpack-plugin'); module.exports = { @@ -11,8 +12,8 @@ module.exports = { // devtool - source map 配置详见 http://webpack.github.io/docs/configuration.html#devtool devtools: false, output: { - path: PATHS.DIST.join('static'), - publicPath: 'static/' + path: PATHS.DIST, + publicPath: '' }, resolve: { extensions: ['', '.js', '.vue'], @@ -70,6 +71,10 @@ module.exports = { minChunks: function (module) { return module.context && module.context.indexOf('node_modules') !== -1; } + }), + new HtmlWebpackPlugin({ + filename: 'index.html', + template: PATHS.SRC.join('index.html') }) ] }; diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js index 41d6c34..36b1da6 100644 --- a/build/webpack.dev.conf.js +++ b/build/webpack.dev.conf.js @@ -2,7 +2,6 @@ var webpack = require('webpack'), PATHS = require('./config/PATHS'), PORTS = require('./config/PORTS'), config = require('./webpack.base.conf'), - HtmlWebpackPlugin = require('html-webpack-plugin'), ExtractTextPlugin = require('extract-text-webpack-plugin'), BrowserSyncPlugin = require('browser-sync-webpack-plugin'); @@ -16,16 +15,10 @@ config.entry.app = [ config.entry.app ]; -config.output.publicPath = ''; - config.plugins.push( new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin(), new ExtractTextPlugin('[name].css'), - new HtmlWebpackPlugin({ - filename: 'index.html', - template: PATHS.SRC.join('index.html') - }), new BrowserSyncPlugin({ host: 'localhost', port: PORTS.BROWSER_SYNC, diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js index f648c25..3a959fe 100644 --- a/build/webpack.prod.conf.js +++ b/build/webpack.prod.conf.js @@ -1,7 +1,6 @@ var webpack = require('webpack'), PATHS = require('./config/PATHS'), config = require('./webpack.base.conf'), - HtmlWebpackPlugin = require('html-webpack-plugin'), ExtractTextPlugin = require('extract-text-webpack-plugin'), OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); @@ -25,12 +24,7 @@ config.plugins.push( new ExtractTextPlugin('css/[name].[contenthash:6].css', { allChunks : true // 若要按需加载 CSS 则请注释掉该行 }), - new OptimizeCssAssetsPlugin(), // 优化 CSS(去重/压缩) - new HtmlWebpackPlugin({ - filename: '../index.html', - template: PATHS.SRC.join('index.html'), - chunksSortMode: 'none' - }) + new OptimizeCssAssetsPlugin() // 优化 CSS(去重/压缩) ); module.exports = config; diff --git a/dist/static/css/app.8bd3d2.css b/dist/css/app.0ad153.css similarity index 100% rename from dist/static/css/app.8bd3d2.css rename to dist/css/app.0ad153.css diff --git a/dist/docs/search_index.json b/dist/docs/search_index.json deleted file mode 100644 index 868bfaa..0000000 --- a/dist/docs/search_index.json +++ /dev/null @@ -1 +0,0 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["ajax","url","§","参考","开始","引入服务层","总览","技术栈","接口化","是单页应用的精华","最佳实践","深入了解","版本迭代(releases)","目录结构","谈状态管理","跨域与代理","配置","问题反馈(issues)"],"Getting-started.html":["#","$","({","/","1.x","3.x","6.x","=","=>","api","babel","bar","build","cd","clone","cnpm","const","demo","demo.git","dist/","doc","es5:","es6。例如,请把如下代码转译成","foo","g","git","guid","hello:","https://github.com/kenberkeley/vu","https://registry.npm.taobao.org","instal","localhost:8080若浏览器没有自动弹出,则请自行手动访问","node","npm","registri","registry=https://registry.npm.taobao.org","repl","router","run","sass","set","start","vue","vue.j","world:","{","}","})","§","≥","⊙","全局安装","同时,您还需要熟悉","命令","在开始前,希望您已通读如下资料:","安装","安装依赖","开发","开始","强烈建议升级到","换源并不能解决","替代","环境强烈推荐往后使用","生产","的二进制源码包下载极慢的问题","目录","答案请在","编译完成后,将在项目根目录生成","编译完成后,默认浏览器就会自动打开","自行验证","运行","预备知识"],"Features.html":["(ui)","+","0.7.x","1.x","1.x(辅以","3.x","4.x","4.x(提供开发热更替与静态资源服务器)","babel","bootstrap","browsersync(多端调试)","build/prod.j","cli","depend","docs/","es6","eslint","express","gitbook","gulp)","jqueri","lodash","lowdb","mock","mock/","npm","package.json","prebuild","router","scripts:","server","src/services/xhr/index.j","tini","uuid","vue","webpack","§","上述四个依赖","与","中的","中的:","仅为文档撰写所需您往后的开发中,可以删掉:","仅为留言板","代码","技术栈","服务器所需。同样地,devdepend","注意:","的","目录","相关代码","移动文档"],"Structure.html":["#","$route.params.msgid",".",".babelrc",".eslintignor",".eslintrc",".gitignor","/auth/login)","/msg/add(新增留言)","/msg/detail/:msgid(查看留言)","/msg/list(留言板列表)","/msg/list)","/msg/update/:msgid(修改留言)","/msg(留言板首页,alia","/src/views/auth/login.vu","=>","_components/","_components/、_mixins/)","_mixins/","add.vu","app.j","app.vu","assets/","auth/","authorselect.vu","autoloadbyparams.j","babel","breadcrumb.vu","build","build/","components/","demo","detail.vu","dist/","docs/(文档)与","eslint","filters/","git","index.html","index.vu","limitselect.vu","link.vu","list.vu","login.vu","logout.vu","mixin","mixins/","mock/(mock","msg/","msg/)内部可分离出通用部分(如","msgform.vu","navbar.vu","optbtngroup.vu","package.json","pagination.vu","routes/","select/","select2","select2.vu","services/","sidebar/","src/","src/components/","src/components/、src/mixins/","src/views/","static/","update.vu","utils/","views/","webpack","xhr","§","“每页显示多少条记录”","│","└──","├──","一般不会涉及到具体的业务逻辑","上述目录结构中,需要注意的是","下拉框选择框组件","下拉选择框","与","中的这两个目录以树状形式展开:","主要是业务性的页面组件,基本不具备通用性","主要是全局性的,或通用性很强的组件,具备良好的封装性","侧边栏","侧边栏组件","分页","各功能模块(如","启动文件","基本与路由一一对应(例如","处理的静态文件","对","对应","对应着路由","导航链接封装","就在根目录下新增了","工具类","忽略的文件(夹)","您可以根据业务需求改动目录结构譬如本","放置无需经由","放置需要经由","服务器)","服务(统一管理","根据","根据注释,我们大概知道了二者的差别:","根组件","检查中需忽略的文件(夹)","注销登录页","源码目录(开发都在这里进行)","生成的生产环境下的项目","用户认证模块","留言发布者选择下拉框","留言操作按钮组","留言板模块","留言板模块共用","留言板模块共用组件","留言表单","登录页","的区别不妨把本","的封装","目录结构","等","组件","自动加载","若多个功能模块通用的,则建议移到全局,即","请求)","路由","路由页面组件","转码配置","过滤器","配置","配置目录","静态基页","面包屑","顶部导航栏","首页","(这个就不用多解释了吧)","(配置)eslint","(配置)需被"],"development/":["cli","demo","vue","§","与","乍一看本","但实际上无论是从目录组织、文档说明还是从设计思想、团队协作等层面本","希望往下的内容,可以帮助您深入了解,理清思路","深入了解","生成的官方开发模板并没有太大差异","都更适合常规单页应用的开发"],"development/State-management.html":["$data。由此,在","$data。若是全局通用(包括模板中)需要用到的状态数据,就挂载到","$rootscop","$scope","/","1.x","abramov","action","action。对于绝大部分中小型项目而言,这显然是过度设计,牛刀杀鸡。","angular","angularj","bu","dan","devtool","dom。通过汇总应用的状态管理于一处,我们就不必到处传递事件。因为任何牵扯到一个以上组件的逻辑,都应该写在这里。此外,这样做也能让我们更容易地记录并观察状态的变更(mutation,原意为突变),甚至可以实现出华丽如时光旅行一般的调试效果。","event","example·counter,您应该会觉得","fine」,见","flux","global","level","local","model","mutat","mvc","mvvm","need","react","reduc","redux","redux,实现出","spa,你很有可能已经需要思考应该如何更好地归纳","state","state)和","state)进行区分。应用级的状态不属于任何特定的组件,但每一个组件仍然可以监视(observe)其变化从而响应式地更新","store","this.$root","view","vue","vue.j","vuex","vuex。一个简单的","vuex。也不建议过早地使用","vuex。但如果你正在构建一个中型以上规模的","vuex,专注于应用层级的状态管理。","vuex,实在是太不值得了。这个时候,就需要借鉴","vuex,虽可使数据流动明确,但破坏了组件的直观性,尤其是团队水平参差不齐的情况下,全局的状态管理很容易成为项目开发与维护的负担。就像","§","「local","上,对应着","与","与代码热更替已经带给我们足够好的开发体验。结构约定俗成,条理清晰;代码风格统一,高内聚低耦合;容易上手、接手与维护······","中,组件状态一般是挂载到","为了更好的解决在大型应用中状态的共用问题,我们需要对组件的","乃轻量级的","之外,应用的其他组成部分。这就是","但","作为一个","作者","即可访问全局状态。","参照","可以帮助我们管理共享状态,但也附带了更多的概念和框架。这需要对短期和长期效益进行权衡。","可是,全局通用且状态持久的数据占极少数,若为此而引入","可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用","在","在此安利一波我写的","如果您不打算开发大型单页应用,使用","如果您看过最简单的例子","对于这个问题,作者尤雨溪有如下评述:","将会成为自然而然的选择。引用","就足够您所需了。但是,如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,vuex","层的,仅限于全局通用且状态持久的数据(例如用户认证信息)。若把所有应用数据(尤指一些实时性较高的数据以及非共享的数据)都糅合在一处,那就像是把所有变量都挂载到全局。","层罢了),抽离出操作方法等(control","层),也是自然而然的。这是基于大型项目协作开发中,前人踩坑后的最佳经验总结,同时也是当前前端","层,不具备数据的双向绑定能力,其数据流是单向的。既然是单向数据流,那么将整个应用状态汇于一处集中管理(这就是传统意义上的","层,只是改名为","层,在此为","应用层级状态(applic","当你的应用还很简单的时候,你多半并不需要","我们在单独使用","我们并没有引入","把简单问题复杂化了(的确如此)。为了实现全局状态管理,把原本简单纯粹的双向绑定以及操作方法都剥离开来,抽象成","教程,可以让您快速理解","文档中提到的:","最理想的状态也莫过于此。引入","架构就像眼镜:您自会知道什么时候需要它。","架构究竟好在哪。","架构,未免有点舍本逐末了。私认为,对于一个使用","根组件的","框架,若完全照搬相对抽象的","模式构建的单页应用而言,需要置于","状态管理的最佳实践应为:组件自包含状态数据(组件本地状态),全局持久性通用数据(应用层级状态)集中管理。","的","的一些经验实践来实现","的作者","的时候,通常会把状态储存在组件的内部。也就是说,每一个组件都拥有当前应用状态的一部分,整个应用的状态是分散在各个角落的。然而我们经常会需要把状态的一部分共享给多个组件。一个常见的解决策略为:使用定制的事件系统,让一个组件把一些状态“发送”到其他组件中。这种模式的问题在于,大型组件树中的事件流会很快变得非常繁杂,并且调试时很难去找出究竟哪错了。","的最佳实践。","的状态存储功能:","的话说就是:","组件中,直接使用","组件内部的","组件本地状态(compon","结合实际情况,我们需要的可能不是炫酷的“时光旅行”,皆因","结合尤大的说法,vue","虽然","要大显身手的时刻。","谈状态管理",",主要是基于以下考量:"],"development/URL-is-soul-of-SPA.html":["$","$route.queri","$watch","$watch,同步其变化到对应的组件本地状态特别注意:由于状态与路由是双向同步的,因此安全性是必须考量的","'$route.query'","'vue'","'vue',","(query,","(不过当前微信已屏蔽掉这类链接的访问)","...","//","10","2","20","3","4","app,也有使用","autosyncwithqueri","data","demo","demo/issues/1","googl","issu","kenberkeley","mixin","npm","oldquery)","q:","queri","router","router,可以完全掌控","schemes)例如访问","src/mixins/autosyncwithquery.js)","start:","string同时,也对","sync","url","vue","vuex","vuex,因此不能使用","vue,敲下回车,就跳转到了搜索结果的页面,此时","watch","watch:","weixin://dl/mo","xhr","{","}","§","上述","与页面状态的同步性,满足保存书签、强制刷新、前进回退等基本需求(至于同步的粒度需要细致到什么程度,就需要根据实际情况自行斟酌了)","中提取对应的关键字进行同步","以表示应用的状态","例如,https://github.com/kenberkeley","例如,我们在","再点击下一页(第","函数的便利不过我们仍可以通过","函数,极其方便地让我们响应","包,诚邀品鉴!","单页应用的精华在于:","可以表现应用的状态,而且在一定程度上,url","同步其变化到","在上篇谈状态管理中,我们总结了没有引入","就会跳转到朋友圈页面","就是应用状态的最佳表现形式","就连微信这种原生","属性中后缀带","拥有无缝切换体验的同时,保证","提供的","既然我们发现了这种规律,那么使用空白标签页直接访问:https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=30显然就是第","是单页应用的精华","是:https://www.google.com/?gws_rd=cr,ssl#newwindow=1&safe=strict&q=vue关键点是:{","更新:已封装出设计更为合理的","来实现同样的功能:","来自动同步路由与组件的状态但稍微封装一下,就可以完全满足我们的需求(详情请见","点击下一页(第","由于我们没有引入","的原因其实还有一个很重要的原因:我们使用了","的原理相当简单:约定组件","的变化以进行","的字段,使用","的第一个","的首页又例如,https://github.com/kenberkeley/vu","综上:url","表示","表示应用的状态(url","设置","请求当然,如果并非路由页面组件,是不能够享受到","输入框输入","页的搜索结果。而且毫无疑问地,搜索框会从","页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=10关键点是:{","页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=20关键点是:{"],"development/Service-layer.html":["(authorservice.options)","/","//","/auth/login,那么","/authors),若不把这些数据缓存下来,那么每一次渲染该组件,都会发出一次请求。尤其是该组件极其常用的情况下,更会造成很多不必要的资源消耗。","=","=>","ajax","api","authorservice.getoptions().then(opt","authorservice.opt","authorservice,里面定义一个","authservice.login({","demo","getopt","localstorag","login","mock,避免在组件中分别实现请求而导致管理上的混乱(对日后的重构也不友好)。而且,前端的服务与后端的","option","react","resourc","services/","sessionstorag","src/services/authservice.j","this.opt","vue","xhr","{","}","})","§","一一对应的请求类。例如,用户登录的","一一对应,在理解上也会变得更加容易。","不存在缓存,则动态获取","为","于是,我们为其新建一个服务,命名为","即可实现请求。","存在缓存,则使用缓存","密码","就是直接复制本","帐号,","库)。往后改用其他技术栈(react","引入服务层","技术栈并没有太大关系(前提是您没有用","方法,在组件初始化的时候,可以这样子操作:","更重要的是,服务层与","服务层的主要功能是:封装好与后端","服务层还有一个妙用:用于缓存相关的数据。例如,我们有一个选择用户的下拉框组件,里面的数据是动态获取的(假设","由此,就可以实现页面级别的缓存,强制刷新即可获取最新的数据,毋须特意去维护该缓存。","的","的函数,只需要调用","目录","等)时,服务层可直接复制过去,毋须改动任何代码。","缓存,还要考虑兼容性、数据更新、有效性、安全性等诸多问题","设置缓存","试想,若使用","请求,提高代码复用,方便","这个类中就对应存在一个名为","这样做的好处是:轻量化组件,统一管理","这类相对鸡肋的"],"development/Ajax-interface.html":["*","*/","...]","/**","@param","@return","[普通组件","[路由页面组件","ajax","api","aservic","b","bservic","c]]","cservic","express","get)","options.bodi","options.method","options.url","req.bodi","rootpath","src/services/xhr/index.js)","xhr","{object}","{promise}","{string}","|","§","↕","即可,服务层与组件层完全不需要改动","可使用","地址)","封装","接口","接口化","接口的好处是显而易见的:","接口(详见","服务器","服务层","格式变更、数据格式转换、错误处理、mock","等","统一化处理:自定义拦截、api","若项目升级需要替换","获取该对象)","请求体(例如后端","请求库,则仅需要重新实现","请求方法(默认为","请求路径(基于"],"development/Configuration.html":["'../../../services/authservice'但有了路径别名后,只需要","'@/services/authservice'相比于","'history/lib/createbrowserhistory'您可能会觉得这是","'services/authservice'但在这里其实是会引起歧义的试问:import","(__dev__)","(__prod__)",".babelrc配置详情请自行参考",".eslintrc",".eslintrc,对其的任何修改都是立即生效配置规则请参考","/","//","1.","1.x)","2.","2.x","3.","@游志军","@,见","__prod__","angularj","authservic","babel","build","build/","build/config/env.j","build/webpack.base.conf.j","build/webpack.dev.conf.j","code","commonschunkplugin","createbrowserhistori","defineplugin","depend","dllplugin","docs·babelrc","docs·rules(请注意当前版本为","entry.vendor","es6gulp","eslint","formatter,使得点击命令行中的报错后可以直接跳到目标位置","friendli","global","gulp","histori","import","lodash","name","node_env","nodemon、supervisor","npm","package.json","package同样地,您又怎么知道","package?综上,引入路径别名可以满足简约与避免歧义的需求","path本项目不引入上述插件主要是考虑到非官方、维护不稳定等因素","plugin、webpack","process.env.node_env、__env__、__dev__","resolve.alia","resolve.root","script","servic","split","splitting,","src/history/lib/createbrowserhistory.js但实际上","src/就可以直接","trim","uglifyj","uglifyjs,里面介绍了","vendor.js详见","webpack","{","}","§","⊙","一下:process.env.node_env.trim()","不是一个","与","中","中定义)若要继续添加,则还需要在","中的","中的依赖注入,这种方式依赖于构建工具,显得更为简单","中设置","为","仅用于合并压缩打包静态基页(src/index.html)中","以实现真正的分离打包","会如何处理这些环境变量","例如,在某组件中,引入","单独分离打包","参考","只需要设定了","同步写入由此即可根据当前运行环境执行对应的代码:","在此需要提醒,在","字段实现自动化,但其灵活度不够高,必要性也不大(例如,我们仅使用了","完全参考知友","官方文档,仅列出较为重要的部分特别提醒:开发过程中,改动","实际上该步骤可通过读取","对代码进行静态检测,使用","对此我们还有别的替代方案:split","已实现","开发环境下执行的代码","当然,您也可以自行配置","您可能会说,webpack","打包进来)","拓展阅读:解读","提供","是一个","本文档不打算照搬","本项目整体采用","构建,使用","标签内全局引入的静态资源","框架","温馨提示:build/webpack.base.conf.j","源码目录位置可简写为","环境变量","生产环境下执行的代码","由","的","的回答","的某几个函数,就没必要将整个","目录下的配置,都需要重启才能生效(您也可以使用","等工具进行自动监控重启)","类库","自动打包成","要注意末尾空格的问题使用前最好先","见","路径别名","路径别名的好处是显而易见的","转译","配置","配置文件见项目根目录下的","需要","默认有这些全局变量:","(后三者在"],"development/CORS-and-Proxy.html":["*","allow","api","browsersync","browsersyncplugin","browsersync:见","build/dev.j","build/webpack.dev.conf.j","control","dist/,配置","http","middlewar","nginx","origin:","proxi","proxy_pass","src/services/xhr/","xhr","§","⊙","一般是使用","上述各项服务的端口配置:build/config/ports.j","与","中使用","中的","中间还有一层","代理转发(推荐)","代理(用于多端联合同步调试),但与本篇讨论的跨域代理无关","到对应的后端服务(详情请自行查阅相关资料)","可以使用","实现","实际上","开发服务器","开发服务器代理转发:见","开发过程中,chrome","接口","接口:见","插件解除同源策略的限制","服务器","生产环境下的代理","目前主要是两种方案:直接跨域与代理转发","直接跨域(不推荐)","相关配置","跨域与代理","部署","配置"],"development/Best-practice.html":["$parent,而是通过","'../../../../components/foobar'","'./foobar'","'./foobar.js'","'@/components/foobar'","'lodash'","'lodash/isempty'","'one',","'two'][this.i]","()","({",".eslintrc","/","//","0","200",":[prop]","=>","@[verb]","['zero',","_","alive、canreus","api","bad","bind:[prop],使用","build/webpack.base.conf.j","by、object.freeze、keep","click","computed:","data:","default","demo","enough","eslint","export","foobar","good","guid","html","i:","import","index.vu","inlin","isempti","link.vu","lodash","on","on:[verb]","plugin","prop","pr)","resolve.extens","return","rollup","router","show","templat","text","track","two","v","vue","vue.j","webpack","zero","{","}","})","}),","§","“物以类聚”,善用目录自包含","一般来说,涉及到权限的必须用","下存放着侧栏组件主体","下存放着全局通用的下拉框组件src/components/sidebar/","与其分拆出来的导航链接组件","中的","代码应当拆写","例如,slot","例如,用户必须登录后才能查看的,请用","例如:src/components/select/","关键是","单组件文件代码量若超","和","善用","在","基本的命名规范、代码风格等,请自行查阅相关资料项目使用","尽量避免在模板中设置过多的判断条件,善用计算属性","层面上,提高效能的优化手段有很多,例如","属性接收父组件的传入","引入文件时,省略默认解析的文件后缀","性能优化最佳实践·阿里移动·刘欣然","恪守代码、模块分离,dri","或","拆,前提是粒度要合理","文档","文档,通读","更多技巧可参考","替代","最佳实践","最小化引入类库(除非您使用了","本","杜绝片段实例","模板中使用","的开发理念","的编码秉承最佳实践,不妨参阅","的编译作用域搞清楚了吗?","的路径别名","等","等)","而非","行,一般都有优化的空间","请尽量保证数据流的可追踪性。尽量不要使用","过长的","进行静态检测,配置见","通读","配置见","(未完待续,欢迎"],"Reference.html":["1.x","2","2.x","demo","eteplus/vu","kenberkeley/vue2","scaffold(vu","sui","templates/webpack","vue","vuej","§","参考","脚手架)"]},"length":13},"tokenStore":{"root":{"0":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}},".":{"7":{"docs":{},".":{"docs":{},"x":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"docs":{}}},"1":{"0":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}},"docs":{},".":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"x":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.030927835051546393},"Features.html":{"ref":"Features.html","tf":0.03278688524590164},"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}},"(":{"docs":{},"辅":{"docs":{},"以":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"2":{"0":{"0":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}},"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}},".":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"x":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}},"3":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},".":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"x":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"4":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},".":{"docs":{},"x":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"(":{"docs":{},"提":{"docs":{},"供":{"docs":{},"开":{"docs":{},"发":{"docs":{},"热":{"docs":{},"更":{"docs":{},"替":{"docs":{},"与":{"docs":{},"静":{"docs":{},"态":{"docs":{},"资":{"docs":{},"源":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},")":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}}}}}}}}}}}}}}}},"6":{"docs":{},".":{"docs":{},"x":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":5.042253521126761}}}}},"p":{"docs":{},"i":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.05263157894736842},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.03636363636363636},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"p":{"docs":{},".":{"docs":{},"j":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},",":{"docs":{},"也":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"d":{"docs":{},"d":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421}}}}}},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.024390243902439025}},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"{":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"绝":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"中":{"docs":{},"小":{"docs":{},"型":{"docs":{},"项":{"docs":{},"目":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"这":{"docs":{},"显":{"docs":{},"然":{"docs":{},"是":{"docs":{},"过":{"docs":{},"度":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"牛":{"docs":{},"刀":{"docs":{},"杀":{"docs":{},"鸡":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"j":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.03636363636363636}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"s":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":5.060344827586207}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"s":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}},"§":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/":{"ref":"development/","tf":0.08333333333333333},"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}},"参":{"docs":{},"考":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"Reference.html":{"ref":"Reference.html","tf":10.058823529411764}}},"照":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Getting-started.html":{"ref":"Getting-started.html","tf":10.010309278350515}}},"发":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"代":{"docs":{},"理":{"docs":{},"转":{"docs":{},"发":{"docs":{},":":{"docs":{},"见":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}},"引":{"docs":{},"入":{"docs":{},"服":{"docs":{},"务":{"docs":{},"层":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":10.013157894736842}}}}},"文":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"省":{"docs":{},"略":{"docs":{},"默":{"docs":{},"认":{"docs":{},"解":{"docs":{},"析":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"后":{"docs":{},"缀":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"览":{"docs":{"./":{"ref":"./","tf":10.105263157894736}}}},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Features.html":{"ref":"Features.html","tf":10.01639344262295}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"太":{"docs":{},"大":{"docs":{},"关":{"docs":{},"系":{"docs":{},"(":{"docs":{},"前":{"docs":{},"提":{"docs":{},"是":{"docs":{},"您":{"docs":{},"没":{"docs":{},"有":{"docs":{},"用":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.05454545454545454}},"化":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":5.014084507042254}}},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},"显":{"docs":{},"而":{"docs":{},"易":{"docs":{},"见":{"docs":{},"的":{"docs":{},":":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}},"(":{"docs":{},"详":{"docs":{},"见":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}},":":{"docs":{},"见":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}},"是":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"精":{"docs":{},"华":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":5.008620689655173}}}}}}}}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"?":{"docs":{},"g":{"docs":{},"w":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"c":{"docs":{},"r":{"docs":{},",":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"#":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"=":{"1":{"docs":{},"&":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"=":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"&":{"docs":{},"q":{"docs":{},"=":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"关":{"docs":{},"键":{"docs":{},"点":{"docs":{},"是":{"docs":{},":":{"docs":{},"{":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":10.00632911392405}}}}},"理":{"docs":{},"想":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"也":{"docs":{},"莫":{"docs":{},"过":{"docs":{},"于":{"docs":{},"此":{"docs":{},"。":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"小":{"docs":{},"化":{"docs":{},"引":{"docs":{},"入":{"docs":{},"类":{"docs":{},"库":{"docs":{},"(":{"docs":{},"除":{"docs":{},"非":{"docs":{},"您":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/":{"ref":"development/","tf":10.083333333333334}}}}}},"版":{"docs":{},"本":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.05263157894736842}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}},"结":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Structure.html":{"ref":"Structure.html","tf":10.003861003861005}}}},"下":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"启":{"docs":{},"才":{"docs":{},"能":{"docs":{},"生":{"docs":{},"效":{"docs":{},"(":{"docs":{},"您":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},":":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跨":{"docs":{},"域":{"docs":{},"与":{"docs":{},"代":{"docs":{},"理":{"docs":{},"转":{"docs":{},"发":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}},"谈":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/State-management.html":{"ref":"development/State-management.html","tf":10.007299270072993}}}}}}},"跨":{"docs":{},"域":{"docs":{},"与":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":10.018181818181818}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":10.012195121951219},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"目":{"docs":{},"录":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"文":{"docs":{},"件":{"docs":{},"见":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}}}}}}}}}}}},"见":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"问":{"docs":{},"题":{"docs":{},"反":{"docs":{},"馈":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.05263157894736842}}}}}}}}}}}}}},"#":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.1776061776061776}}},"$":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.061855670103092786},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{},"d":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"。":{"docs":{},"由":{"docs":{},"此":{"docs":{},",":{"docs":{},"在":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"若":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"通":{"docs":{},"用":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"模":{"docs":{},"板":{"docs":{},"中":{"docs":{},")":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"就":{"docs":{},"挂":{"docs":{},"载":{"docs":{},"到":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},",":{"docs":{},"同":{"docs":{},"步":{"docs":{},"其":{"docs":{},"变":{"docs":{},"化":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"本":{"docs":{},"地":{"docs":{},"状":{"docs":{},"态":{"docs":{},"特":{"docs":{},"别":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"状":{"docs":{},"态":{"docs":{},"与":{"docs":{},"路":{"docs":{},"由":{"docs":{},"是":{"docs":{},"双":{"docs":{},"向":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"考":{"docs":{},"量":{"docs":{},"的":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}},"(":{"docs":{},"{":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}},"u":{"docs":{},"i":{"docs":{},")":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}},"不":{"docs":{},"过":{"docs":{},"当":{"docs":{},"前":{"docs":{},"微":{"docs":{},"信":{"docs":{},"已":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"掉":{"docs":{},"这":{"docs":{},"类":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"访":{"docs":{},"问":{"docs":{},")":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"_":{"docs":{},"_":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"_":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}},")":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.0189873417721519}}}},"/":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/State-management.html":{"ref":"development/State-management.html","tf":0.029197080291970802},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"若":{"docs":{},"不":{"docs":{},"把":{"docs":{},"这":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"下":{"docs":{},"来":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"该":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"发":{"docs":{},"出":{"docs":{},"一":{"docs":{},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"该":{"docs":{},"组":{"docs":{},"件":{"docs":{},"极":{"docs":{},"其":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"更":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"很":{"docs":{},"多":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"新":{"docs":{},"增":{"docs":{},"留":{"docs":{},"言":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},":":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"查":{"docs":{},"看":{"docs":{},"留":{"docs":{},"言":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"留":{"docs":{},"言":{"docs":{},"板":{"docs":{},"列":{"docs":{},"表":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"/":{"docs":{},":":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"修":{"docs":{},"改":{"docs":{},"留":{"docs":{},"言":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"留":{"docs":{},"言":{"docs":{},"板":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.039473684210526314},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.0379746835443038}}},"*":{"docs":{},"*":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}},"=":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.039473684210526314}},">":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}},"b":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}}}}},"r":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927}}},"d":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}},"u":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},".":{"docs":{},"j":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.018292682926829267},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},".":{"docs":{},"j":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"(":{"docs":{},"多":{"docs":{},"端":{"docs":{},"调":{"docs":{},"试":{"docs":{},")":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}},":":{"docs":{},"见":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{},"[":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"]":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"y":{"docs":{},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"z":{"docs":{},"e":{"docs":{},"、":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"d":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"i":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/":{"ref":"development/","tf":0.08333333333333333}},"c":{"docs":{},"k":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.041237113402061855}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},"]":{"docs":{},"]":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.007722007722007722},"development/":{"ref":"development/","tf":0.16666666666666666},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"/":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"1":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}},"docs":{}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"v":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},",":{"docs":{},"配":{"docs":{},"置":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}},"o":{"docs":{},"c":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"s":{"docs":{},"/":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"(":{"docs":{},"文":{"docs":{},"档":{"docs":{},")":{"docs":{},"与":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"·":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"c":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},"当":{"docs":{},"前":{"docs":{},"版":{"docs":{},"本":{"docs":{},"为":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"汇":{"docs":{},"总":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"于":{"docs":{},"一":{"docs":{},"处":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"不":{"docs":{},"必":{"docs":{},"到":{"docs":{},"处":{"docs":{},"传":{"docs":{},"递":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"任":{"docs":{},"何":{"docs":{},"牵":{"docs":{},"扯":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"以":{"docs":{},"上":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"写":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"。":{"docs":{},"此":{"docs":{},"外":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"也":{"docs":{},"能":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"更":{"docs":{},"容":{"docs":{},"易":{"docs":{},"地":{"docs":{},"记":{"docs":{},"录":{"docs":{},"并":{"docs":{},"观":{"docs":{},"察":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"变":{"docs":{},"更":{"docs":{},"(":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"原":{"docs":{},"意":{"docs":{},"为":{"docs":{},"突":{"docs":{},"变":{"docs":{},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"出":{"docs":{},"华":{"docs":{},"丽":{"docs":{},"如":{"docs":{},"时":{"docs":{},"光":{"docs":{},"旅":{"docs":{},"行":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"调":{"docs":{},"试":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}},"t":{"docs":{},"a":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.02586206896551724}},":":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}},"e":{"docs":{},"s":{"5":{"docs":{},":":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"6":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"请":{"docs":{},"把":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"转":{"docs":{},"译":{"docs":{},"成":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"p":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.018292682926829267},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"Features.html":{"ref":"Features.html","tf":0.03278688524590164},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"·":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"您":{"docs":{},"应":{"docs":{},"该":{"docs":{},"会":{"docs":{},"觉":{"docs":{},"得":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.02531645569620253}}}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"点":{"docs":{},"击":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"中":{"docs":{},"的":{"docs":{},"报":{"docs":{},"错":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"目":{"docs":{},"标":{"docs":{},"位":{"docs":{},"置":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"n":{"docs":{},"e":{"docs":{},"」":{"docs":{},",":{"docs":{},"见":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}},"l":{"docs":{},"u":{"docs":{},"x":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.029197080291970802}}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"g":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"i":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"l":{"docs":{},"p":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},")":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}},"d":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.02531645569620253}}}}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}},")":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},":":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"y":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"l":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.011583011583011582},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.018292682926829267},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.0379746835443038}}}}}}},":":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"8":{"0":{"docs":{},"若":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"没":{"docs":{},"有":{"docs":{},"自":{"docs":{},"动":{"docs":{},"弹":{"docs":{},"出":{"docs":{},",":{"docs":{},"则":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"手":{"docs":{},"动":{"docs":{},"访":{"docs":{},"问":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"w":{"docs":{},"d":{"docs":{},"b":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"n":{"docs":{},"k":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"m":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.061855670103092786},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.018292682926829267}}}},"a":{"docs":{},"v":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"m":{"docs":{},"e":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}},"y":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}},"x":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0364963503649635}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"出":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}},"q":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"完":{"docs":{},"全":{"docs":{},"掌":{"docs":{},"控":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"p":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"u":{"docs":{},"n":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"e":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}},"i":{"docs":{},"c":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"e":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}},")":{"docs":{},"和":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}},"进":{"docs":{},"行":{"docs":{},"区":{"docs":{},"分":{"docs":{},"。":{"docs":{},"应":{"docs":{},"用":{"docs":{},"级":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"不":{"docs":{},"属":{"docs":{},"于":{"docs":{},"任":{"docs":{},"何":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"但":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"视":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},"其":{"docs":{},"变":{"docs":{},"化":{"docs":{},"从":{"docs":{},"而":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"地":{"docs":{},"更":{"docs":{},"新":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"对":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"s":{"docs":{},":":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"例":{"docs":{},"如":{"docs":{},"访":{"docs":{},"问":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"v":{"docs":{},"u":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"x":{"docs":{},"h":{"docs":{},"r":{"docs":{},"/":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"j":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"s":{"docs":{},")":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.011583011583011582}},"、":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.011583011583011582}}}}}}}},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},")":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"p":{"docs":{},"a":{"docs":{},",":{"docs":{},"你":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"需":{"docs":{},"要":{"docs":{},"思":{"docs":{},"考":{"docs":{},"应":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"更":{"docs":{},"好":{"docs":{},"地":{"docs":{},"归":{"docs":{},"纳":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"u":{"docs":{},"i":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}},"v":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.03164556962025317}},"u":{"docs":{},"e":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.030927835051546393},"Features.html":{"ref":"Features.html","tf":0.03278688524590164},"development/":{"ref":"development/","tf":0.08333333333333333},"development/State-management.html":{"ref":"development/State-management.html","tf":0.043795620437956206},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.034482758620689655},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.0189873417721519},"Reference.html":{"ref":"Reference.html","tf":0.11764705882352941}},".":{"docs":{},"j":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927},"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"x":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.058394160583941604},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"也":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"过":{"docs":{},"早":{"docs":{},"地":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"正":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"型":{"docs":{},"以":{"docs":{},"上":{"docs":{},"规":{"docs":{},"模":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"专":{"docs":{},"注":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"级":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"实":{"docs":{},"在":{"docs":{},"是":{"docs":{},"太":{"docs":{},"不":{"docs":{},"值":{"docs":{},"得":{"docs":{},"了":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"借":{"docs":{},"鉴":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"可":{"docs":{},"使":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"动":{"docs":{},"明":{"docs":{},"确":{"docs":{},",":{"docs":{},"但":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"了":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"直":{"docs":{},"观":{"docs":{},"性":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"团":{"docs":{},"队":{"docs":{},"水":{"docs":{},"平":{"docs":{},"参":{"docs":{},"差":{"docs":{},"不":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"成":{"docs":{},"为":{"docs":{},"项":{"docs":{},"目":{"docs":{},"开":{"docs":{},"发":{"docs":{},"与":{"docs":{},"维":{"docs":{},"护":{"docs":{},"的":{"docs":{},"负":{"docs":{},"担":{"docs":{},"。":{"docs":{},"就":{"docs":{},"像":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"此":{"docs":{},"不":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},",":{"docs":{},"敲":{"docs":{},"下":{"docs":{},"回":{"docs":{},"车":{"docs":{},",":{"docs":{},"就":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"了":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.11764705882352941}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"详":{"docs":{},"见":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.011583011583011582},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.03048780487804878},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}}},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"l":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}},"{":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.039473684210526314},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.02531645569620253}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"}":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"}":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.028169014084507043}}}}}}}}}},"}":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.04310344827586207},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.02531645569620253}},")":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},",":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"≥":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927}}},"⊙":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.030927835051546393},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.024390243902439025},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.03636363636363636}}},"全":{"docs":{},"局":{"docs":{},"安":{"docs":{},"装":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"您":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"熟":{"docs":{},"悉":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}},"步":{"docs":{},"其":{"docs":{},"变":{"docs":{},"化":{"docs":{},"到":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}},"写":{"docs":{},"入":{"docs":{},"由":{"docs":{},"此":{"docs":{},"即":{"docs":{},"可":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"运":{"docs":{},"行":{"docs":{},"环":{"docs":{},"境":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"在":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"开":{"docs":{},"始":{"docs":{},"前":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"您":{"docs":{},"已":{"docs":{},"通":{"docs":{},"读":{"docs":{},"如":{"docs":{},"下":{"docs":{},"资":{"docs":{},"料":{"docs":{},":":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}},"此":{"docs":{},"安":{"docs":{},"利":{"docs":{},"一":{"docs":{},"波":{"docs":{},"我":{"docs":{},"写":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"醒":{"docs":{},",":{"docs":{},"在":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"上":{"docs":{},"篇":{"docs":{},"谈":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"结":{"docs":{},"了":{"docs":{},"没":{"docs":{},"有":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"依":{"docs":{},"赖":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"强":{"docs":{},"烈":{"docs":{},"建":{"docs":{},"议":{"docs":{},"升":{"docs":{},"级":{"docs":{},"到":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}},"换":{"docs":{},"源":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"解":{"docs":{},"决":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}},"替":{"docs":{},"代":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}},"环":{"docs":{},"境":{"docs":{},"强":{"docs":{},"烈":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"往":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}},"变":{"docs":{},"量":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"生":{"docs":{},"产":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}},"成":{"docs":{},"的":{"docs":{},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"官":{"docs":{},"方":{"docs":{},"开":{"docs":{},"发":{"docs":{},"模":{"docs":{},"板":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"太":{"docs":{},"大":{"docs":{},"差":{"docs":{},"异":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}}}}}}}}}}}}}},"的":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"源":{"docs":{},"码":{"docs":{},"包":{"docs":{},"下":{"docs":{},"载":{"docs":{},"极":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}},"区":{"docs":{},"别":{"docs":{},"不":{"docs":{},"妨":{"docs":{},"把":{"docs":{},"本":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"封":{"docs":{},"装":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"一":{"docs":{},"些":{"docs":{},"经":{"docs":{},"验":{"docs":{},"实":{"docs":{},"践":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}},"作":{"docs":{},"者":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"把":{"docs":{},"状":{"docs":{},"态":{"docs":{},"储":{"docs":{},"存":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"当":{"docs":{},"前":{"docs":{},"应":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"分":{"docs":{},"散":{"docs":{},"在":{"docs":{},"各":{"docs":{},"个":{"docs":{},"角":{"docs":{},"落":{"docs":{},"的":{"docs":{},"。":{"docs":{},"然":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"把":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"共":{"docs":{},"享":{"docs":{},"给":{"docs":{},"多":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"策":{"docs":{},"略":{"docs":{},"为":{"docs":{},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"定":{"docs":{},"制":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"让":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"把":{"docs":{},"一":{"docs":{},"些":{"docs":{},"状":{"docs":{},"态":{"docs":{},"“":{"docs":{},"发":{"docs":{},"送":{"docs":{},"”":{"docs":{},"到":{"docs":{},"其":{"docs":{},"他":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"大":{"docs":{},"型":{"docs":{},"组":{"docs":{},"件":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"流":{"docs":{},"会":{"docs":{},"很":{"docs":{},"快":{"docs":{},"变":{"docs":{},"得":{"docs":{},"非":{"docs":{},"常":{"docs":{},"繁":{"docs":{},"杂":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"调":{"docs":{},"试":{"docs":{},"时":{"docs":{},"很":{"docs":{},"难":{"docs":{},"去":{"docs":{},"找":{"docs":{},"出":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"哪":{"docs":{},"错":{"docs":{},"了":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"状":{"docs":{},"态":{"docs":{},"存":{"docs":{},"储":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"话":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"原":{"docs":{},"因":{"docs":{},"其":{"docs":{},"实":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"相":{"docs":{},"当":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{},"约":{"docs":{},"定":{"docs":{},"组":{"docs":{},"件":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}},"变":{"docs":{},"化":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}},"首":{"docs":{},"页":{"docs":{},"又":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"y":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}},"回":{"docs":{},"答":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"某":{"docs":{},"几":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"就":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"将":{"docs":{},"整":{"docs":{},"个":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"理":{"docs":{},"念":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"编":{"docs":{},"码":{"docs":{},"秉":{"docs":{},"承":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{},",":{"docs":{},"不":{"docs":{},"妨":{"docs":{},"参":{"docs":{},"阅":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}},"译":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"搞":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"了":{"docs":{},"吗":{"docs":{},"?":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{},"别":{"docs":{},"名":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"答":{"docs":{},"案":{"docs":{},"请":{"docs":{},"在":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"编":{"docs":{},"译":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"生":{"docs":{},"成":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"打":{"docs":{},"开":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"行":{"docs":{},"验":{"docs":{},"证":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"动":{"docs":{},"加":{"docs":{},"载":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"打":{"docs":{},"包":{"docs":{},"成":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"运":{"docs":{},"行":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"预":{"docs":{},"备":{"docs":{},"知":{"docs":{},"识":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"+":{"docs":{"Features.html":{"ref":"Features.html","tf":0.04918032786885246}}},"j":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Features.html":{"ref":"Features.html","tf":0.03278688524590164}},"/":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},"分":{"docs":{},"别":{"docs":{},"实":{"docs":{},"现":{"docs":{},"请":{"docs":{},"求":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"管":{"docs":{},"理":{"docs":{},"上":{"docs":{},"的":{"docs":{},"混":{"docs":{},"乱":{"docs":{},"(":{"docs":{},"对":{"docs":{},"日":{"docs":{},"后":{"docs":{},"的":{"docs":{},"重":{"docs":{},"构":{"docs":{},"也":{"docs":{},"不":{"docs":{},"友":{"docs":{},"好":{"docs":{},")":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},",":{"docs":{},"前":{"docs":{},"端":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"与":{"docs":{},"后":{"docs":{},"端":{"docs":{},"的":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},")":{"docs":{},"内":{"docs":{},"部":{"docs":{},"可":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"通":{"docs":{},"用":{"docs":{},"部":{"docs":{},"分":{"docs":{},"(":{"docs":{},"如":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"v":{"docs":{},"c":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}},"v":{"docs":{},"m":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Features.html":{"ref":"Features.html","tf":0.03278688524590164},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"同":{"docs":{},"样":{"docs":{},"地":{"docs":{},",":{"docs":{},"您":{"docs":{},"又":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"知":{"docs":{},"道":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"?":{"docs":{},"综":{"docs":{},"上":{"docs":{},",":{"docs":{},"引":{"docs":{},"入":{"docs":{},"路":{"docs":{},"径":{"docs":{},"别":{"docs":{},"名":{"docs":{},"可":{"docs":{},"以":{"docs":{},"满":{"docs":{},"足":{"docs":{},"简":{"docs":{},"约":{"docs":{},"与":{"docs":{},"避":{"docs":{},"免":{"docs":{},"歧":{"docs":{},"义":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"本":{"docs":{},"项":{"docs":{},"目":{"docs":{},"不":{"docs":{},"引":{"docs":{},"入":{"docs":{},"上":{"docs":{},"述":{"docs":{},"插":{"docs":{},"件":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"非":{"docs":{},"官":{"docs":{},"方":{"docs":{},"、":{"docs":{},"维":{"docs":{},"护":{"docs":{},"不":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"等":{"docs":{},"因":{"docs":{},"素":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"、":{"docs":{},"_":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"_":{"docs":{},"_":{"docs":{},"、":{"docs":{},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"_":{"docs":{},"_":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}},"p":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},")":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"$":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.11764705882352941}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"w":{"docs":{},"o":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"上":{"docs":{},"述":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"四":{"docs":{},"个":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"各":{"docs":{},"项":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"着":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}}}}}},"与":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/":{"ref":"development/","tf":0.08333333333333333},"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"代":{"docs":{},"码":{"docs":{},"热":{"docs":{},"更":{"docs":{},"替":{"docs":{},"已":{"docs":{},"经":{"docs":{},"带":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"足":{"docs":{},"够":{"docs":{},"好":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"结":{"docs":{},"构":{"docs":{},"约":{"docs":{},"定":{"docs":{},"俗":{"docs":{},"成":{"docs":{},",":{"docs":{},"条":{"docs":{},"理":{"docs":{},"清":{"docs":{},"晰":{"docs":{},";":{"docs":{},"代":{"docs":{},"码":{"docs":{},"风":{"docs":{},"格":{"docs":{},"统":{"docs":{},"一":{"docs":{},",":{"docs":{},"高":{"docs":{},"内":{"docs":{},"聚":{"docs":{},"低":{"docs":{},"耦":{"docs":{},"合":{"docs":{},";":{"docs":{},"容":{"docs":{},"易":{"docs":{},"上":{"docs":{},"手":{"docs":{},"、":{"docs":{},"接":{"docs":{},"手":{"docs":{},"与":{"docs":{},"维":{"docs":{},"护":{"docs":{},"·":{"docs":{},"·":{"docs":{},"·":{"docs":{},"·":{"docs":{},"·":{"docs":{},"·":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"性":{"docs":{},",":{"docs":{},"满":{"docs":{},"足":{"docs":{},"保":{"docs":{},"存":{"docs":{},"书":{"docs":{},"签":{"docs":{},"、":{"docs":{},"强":{"docs":{},"制":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"、":{"docs":{},"前":{"docs":{},"进":{"docs":{},"回":{"docs":{},"退":{"docs":{},"等":{"docs":{},"基":{"docs":{},"本":{"docs":{},"需":{"docs":{},"求":{"docs":{},"(":{"docs":{},"至":{"docs":{},"于":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"粒":{"docs":{},"度":{"docs":{},"需":{"docs":{},"要":{"docs":{},"细":{"docs":{},"致":{"docs":{},"到":{"docs":{},"什":{"docs":{},"么":{"docs":{},"程":{"docs":{},"度":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},"自":{"docs":{},"行":{"docs":{},"斟":{"docs":{},"酌":{"docs":{},"了":{"docs":{},")":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"分":{"docs":{},"拆":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"导":{"docs":{},"航":{"docs":{},"链":{"docs":{},"接":{"docs":{},"组":{"docs":{},"件":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"中":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"的":{"docs":{"Features.html":{"ref":"Features.html","tf":0.04918032786885246},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.03048780487804878},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},":":{"docs":{"Features.html":{"ref":"Features.html","tf":0.03278688524590164}}},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"目":{"docs":{},"录":{"docs":{},"以":{"docs":{},"树":{"docs":{},"状":{"docs":{},"形":{"docs":{},"式":{"docs":{},"展":{"docs":{},"开":{"docs":{},":":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"注":{"docs":{},"入":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"显":{"docs":{},"得":{"docs":{},"更":{"docs":{},"为":{"docs":{},"简":{"docs":{},"单":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"组":{"docs":{},"件":{"docs":{},"状":{"docs":{},"态":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},"挂":{"docs":{},"载":{"docs":{},"到":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"提":{"docs":{},"取":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},"进":{"docs":{},"行":{"docs":{},"同":{"docs":{},"步":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},")":{"docs":{},"若":{"docs":{},"要":{"docs":{},"继":{"docs":{},"续":{"docs":{},"添":{"docs":{},"加":{"docs":{},",":{"docs":{},"则":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"使":{"docs":{},"用":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}},"间":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"层":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}},"仅":{"docs":{},"为":{"docs":{},"文":{"docs":{},"档":{"docs":{},"撰":{"docs":{},"写":{"docs":{},"所":{"docs":{},"需":{"docs":{},"您":{"docs":{},"往":{"docs":{},"后":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"删":{"docs":{},"掉":{"docs":{},":":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}}}}}}}}}}}}}}},"留":{"docs":{},"言":{"docs":{},"板":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}},"用":{"docs":{},"于":{"docs":{},"合":{"docs":{},"并":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"打":{"docs":{},"包":{"docs":{},"静":{"docs":{},"态":{"docs":{},"基":{"docs":{},"页":{"docs":{},"(":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},")":{"docs":{},"中":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"应":{"docs":{},"当":{"docs":{},"拆":{"docs":{},"写":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"理":{"docs":{},"转":{"docs":{},"发":{"docs":{},"(":{"docs":{},"推":{"docs":{},"荐":{"docs":{},")":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}},"(":{"docs":{},"用":{"docs":{},"于":{"docs":{},"多":{"docs":{},"端":{"docs":{},"联":{"docs":{},"合":{"docs":{},"同":{"docs":{},"步":{"docs":{},"调":{"docs":{},"试":{"docs":{},")":{"docs":{},",":{"docs":{},"但":{"docs":{},"与":{"docs":{},"本":{"docs":{},"篇":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"域":{"docs":{},"代":{"docs":{},"理":{"docs":{},"无":{"docs":{},"关":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.03636363636363636}},"所":{"docs":{},"需":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},"地":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}}}}}}}}}}}},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"(":{"docs":{},"统":{"docs":{},"一":{"docs":{},"管":{"docs":{},"理":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"层":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},":":{"docs":{},"封":{"docs":{},"装":{"docs":{},"好":{"docs":{},"与":{"docs":{},"后":{"docs":{},"端":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"妙":{"docs":{},"用":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"选":{"docs":{},"择":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"(":{"docs":{},"假":{"docs":{},"设":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}},"销":{"docs":{},"登":{"docs":{},"录":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"相":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}},"配":{"docs":{},"置":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}},"移":{"docs":{},"动":{"docs":{},"文":{"docs":{},"档":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}},".":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"c":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"配":{"docs":{},"置":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"参":{"docs":{},"考":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"r":{"docs":{},"c":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},",":{"docs":{},"对":{"docs":{},"其":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"修":{"docs":{},"改":{"docs":{},"都":{"docs":{},"是":{"docs":{},"立":{"docs":{},"即":{"docs":{},"生":{"docs":{},"效":{"docs":{},"配":{"docs":{},"置":{"docs":{},"规":{"docs":{},"则":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},".":{"docs":{},".":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"]":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}},"_":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"、":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"_":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"b":{"docs":{},"t":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}},"n":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},":":{"docs":{},"[":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"]":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}},"x":{"docs":{},"h":{"docs":{},"r":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.056338028169014086},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.07272727272727272}}}}},"“":{"docs":{},"每":{"docs":{},"页":{"docs":{},"显":{"docs":{},"示":{"docs":{},"多":{"docs":{},"少":{"docs":{},"条":{"docs":{},"记":{"docs":{},"录":{"docs":{},"”":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}},"物":{"docs":{},"以":{"docs":{},"类":{"docs":{},"聚":{"docs":{},"”":{"docs":{},",":{"docs":{},"善":{"docs":{},"用":{"docs":{},"目":{"docs":{},"录":{"docs":{},"自":{"docs":{},"包":{"docs":{},"含":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"│":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.06563706563706563}}},"└":{"docs":{},"─":{"docs":{},"─":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.03088803088803089}}}}},"├":{"docs":{},"─":{"docs":{},"─":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.14285714285714285}}}}},"一":{"docs":{},"般":{"docs":{},"不":{"docs":{},"会":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"权":{"docs":{},"限":{"docs":{},"的":{"docs":{},"必":{"docs":{},"须":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"类":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"理":{"docs":{},"解":{"docs":{},"上":{"docs":{},"也":{"docs":{},"会":{"docs":{},"变":{"docs":{},"得":{"docs":{},"更":{"docs":{},"加":{"docs":{},"容":{"docs":{},"易":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}},"下":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"选":{"docs":{},"择":{"docs":{},"框":{"docs":{},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"选":{"docs":{},"择":{"docs":{},"框":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"存":{"docs":{},"放":{"docs":{},"着":{"docs":{},"侧":{"docs":{},"栏":{"docs":{},"组":{"docs":{},"件":{"docs":{},"主":{"docs":{},"体":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"全":{"docs":{},"局":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"组":{"docs":{},"件":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"业":{"docs":{},"务":{"docs":{},"性":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"通":{"docs":{},"用":{"docs":{},"性":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"或":{"docs":{},"通":{"docs":{},"用":{"docs":{},"性":{"docs":{},"很":{"docs":{},"强":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"具":{"docs":{},"备":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"性":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}}}}}}}},"侧":{"docs":{},"边":{"docs":{},"栏":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"分":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"各":{"docs":{},"功":{"docs":{},"能":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"如":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"文":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"基":{"docs":{},"本":{"docs":{},"与":{"docs":{},"路":{"docs":{},"由":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}},"的":{"docs":{},"命":{"docs":{},"名":{"docs":{},"规":{"docs":{},"范":{"docs":{},"、":{"docs":{},"代":{"docs":{},"码":{"docs":{},"风":{"docs":{},"格":{"docs":{},"等":{"docs":{},",":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"相":{"docs":{},"关":{"docs":{},"资":{"docs":{},"料":{"docs":{},"项":{"docs":{},"目":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"文":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.007722007722007722}}}}}}}}},"对":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"应":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.019305019305019305}},"着":{"docs":{},"路":{"docs":{},"由":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"尤":{"docs":{},"雨":{"docs":{},"溪":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"评":{"docs":{},"述":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"静":{"docs":{},"态":{"docs":{},"检":{"docs":{},"测":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"有":{"docs":{},"别":{"docs":{},"的":{"docs":{},"替":{"docs":{},"代":{"docs":{},"方":{"docs":{},"案":{"docs":{},":":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"链":{"docs":{},"接":{"docs":{},"封":{"docs":{},"装":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"就":{"docs":{},"在":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"新":{"docs":{},"增":{"docs":{},"了":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"足":{"docs":{},"够":{"docs":{},"您":{"docs":{},"所":{"docs":{},"需":{"docs":{},"了":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"构":{"docs":{},"建":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"大":{"docs":{},"型":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"您":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"如":{"docs":{},"何":{"docs":{},"更":{"docs":{},"好":{"docs":{},"地":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"外":{"docs":{},"部":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"x":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"朋":{"docs":{},"友":{"docs":{},"圈":{"docs":{},"页":{"docs":{},"面":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"表":{"docs":{},"现":{"docs":{},"形":{"docs":{},"式":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"复":{"docs":{},"制":{"docs":{},"本":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}},"连":{"docs":{},"微":{"docs":{},"信":{"docs":{},"这":{"docs":{},"种":{"docs":{},"原":{"docs":{},"生":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"类":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"忽":{"docs":{},"略":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"夹":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"改":{"docs":{},"动":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"譬":{"docs":{},"如":{"docs":{},"本":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}},"能":{"docs":{},"会":{"docs":{},"说":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}},"放":{"docs":{},"置":{"docs":{},"无":{"docs":{},"需":{"docs":{},"经":{"docs":{},"由":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"需":{"docs":{},"要":{"docs":{},"经":{"docs":{},"由":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"根":{"docs":{},"据":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"注":{"docs":{},"释":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"大":{"docs":{},"概":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"二":{"docs":{},"者":{"docs":{},"的":{"docs":{},"差":{"docs":{},"别":{"docs":{},":":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"检":{"docs":{},"查":{"docs":{},"中":{"docs":{},"需":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"夹":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"目":{"docs":{},"录":{"docs":{},"(":{"docs":{},"开":{"docs":{},"发":{"docs":{},"都":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"进":{"docs":{},"行":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{},"可":{"docs":{},"简":{"docs":{},"写":{"docs":{},"为":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"认":{"docs":{},"证":{"docs":{},"模":{"docs":{},"块":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"留":{"docs":{},"言":{"docs":{},"发":{"docs":{},"布":{"docs":{},"者":{"docs":{},"选":{"docs":{},"择":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"组":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"板":{"docs":{},"模":{"docs":{},"块":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"共":{"docs":{},"用":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"表":{"docs":{},"单":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"登":{"docs":{},"录":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"等":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},")":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"时":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"层":{"docs":{},"可":{"docs":{},"直":{"docs":{},"接":{"docs":{},"复":{"docs":{},"制":{"docs":{},"过":{"docs":{},"去":{"docs":{},",":{"docs":{},"毋":{"docs":{},"须":{"docs":{},"改":{"docs":{},"动":{"docs":{},"任":{"docs":{},"何":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"动":{"docs":{},"监":{"docs":{},"控":{"docs":{},"重":{"docs":{},"启":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.007722007722007722}},"中":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}},"本":{"docs":{},"地":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"若":{"docs":{},"多":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"模":{"docs":{},"块":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"则":{"docs":{},"建":{"docs":{},"议":{"docs":{},"移":{"docs":{},"到":{"docs":{},"全":{"docs":{},"局":{"docs":{},",":{"docs":{},"即":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"升":{"docs":{},"级":{"docs":{},"需":{"docs":{},"要":{"docs":{},"替":{"docs":{},"换":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"并":{"docs":{},"非":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"够":{"docs":{},"享":{"docs":{},"受":{"docs":{},"到":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"代":{"docs":{},"码":{"docs":{},"复":{"docs":{},"用":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}},"体":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"后":{"docs":{},"端":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"库":{"docs":{},",":{"docs":{},"则":{"docs":{},"仅":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"实":{"docs":{},"现":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"路":{"docs":{},"径":{"docs":{},"(":{"docs":{},"基":{"docs":{},"于":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"尽":{"docs":{},"量":{"docs":{},"保":{"docs":{},"证":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"的":{"docs":{},"可":{"docs":{},"追":{"docs":{},"踪":{"docs":{},"性":{"docs":{},"。":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"不":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"页":{"docs":{},"面":{"docs":{},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.007722007722007722}}}}}}},"径":{"docs":{},"别":{"docs":{},"名":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},"显":{"docs":{},"而":{"docs":{},"易":{"docs":{},"见":{"docs":{},"的":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}},"转":{"docs":{},"码":{"docs":{},"配":{"docs":{},"置":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"译":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"过":{"docs":{},"滤":{"docs":{},"器":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"长":{"docs":{},"的":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"静":{"docs":{},"态":{"docs":{},"基":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"面":{"docs":{},"包":{"docs":{},"屑":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"顶":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"首":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"(":{"docs":{},"这":{"docs":{},"个":{"docs":{},"就":{"docs":{},"不":{"docs":{},"用":{"docs":{},"多":{"docs":{},"解":{"docs":{},"释":{"docs":{},"了":{"docs":{},"吧":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},")":{"docs":{},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"需":{"docs":{},"被":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"后":{"docs":{},"三":{"docs":{},"者":{"docs":{},"在":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"未":{"docs":{},"完":{"docs":{},"待":{"docs":{},"续":{"docs":{},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}},"乍":{"docs":{},"一":{"docs":{},"看":{"docs":{},"本":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}},"但":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"从":{"docs":{},"目":{"docs":{},"录":{"docs":{},"组":{"docs":{},"织":{"docs":{},"、":{"docs":{},"文":{"docs":{},"档":{"docs":{},"说":{"docs":{},"明":{"docs":{},"还":{"docs":{},"是":{"docs":{},"从":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"、":{"docs":{},"团":{"docs":{},"队":{"docs":{},"协":{"docs":{},"作":{"docs":{},"等":{"docs":{},"层":{"docs":{},"面":{"docs":{},"本":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"希":{"docs":{},"望":{"docs":{},"往":{"docs":{},"下":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"您":{"docs":{},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"理":{"docs":{},"清":{"docs":{},"思":{"docs":{},"路":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"更":{"docs":{},"适":{"docs":{},"合":{"docs":{},"常":{"docs":{},"规":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}}}}}}}}}}},"「":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}},"为":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"了":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"在":{"docs":{},"大":{"docs":{},"型":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"共":{"docs":{},"用":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"乃":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"组":{"docs":{},"成":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}},"者":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}},"即":{"docs":{},"可":{"docs":{},"访":{"docs":{},"问":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"层":{"docs":{},"与":{"docs":{},"组":{"docs":{},"件":{"docs":{},"层":{"docs":{},"完":{"docs":{},"全":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"改":{"docs":{},"动":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"管":{"docs":{},"理":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"附":{"docs":{},"带":{"docs":{},"了":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"和":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"这":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"短":{"docs":{},"期":{"docs":{},"和":{"docs":{},"长":{"docs":{},"期":{"docs":{},"效":{"docs":{},"益":{"docs":{},"进":{"docs":{},"行":{"docs":{},"权":{"docs":{},"衡":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"现":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"在":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},",":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}},"是":{"docs":{},",":{"docs":{},"全":{"docs":{},"局":{"docs":{},"通":{"docs":{},"用":{"docs":{},"且":{"docs":{},"状":{"docs":{},"态":{"docs":{},"持":{"docs":{},"久":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"占":{"docs":{},"极":{"docs":{},"少":{"docs":{},"数":{"docs":{},",":{"docs":{},"若":{"docs":{},"为":{"docs":{},"此":{"docs":{},"而":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"是":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},"冗":{"docs":{},"余":{"docs":{},"的":{"docs":{},"。":{"docs":{},"确":{"docs":{},"实":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},"—":{"docs":{},"—":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"够":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"您":{"docs":{},"最":{"docs":{},"好":{"docs":{},"不":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"不":{"docs":{},"打":{"docs":{},"算":{"docs":{},"开":{"docs":{},"发":{"docs":{},"大":{"docs":{},"型":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}},"看":{"docs":{},"过":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"将":{"docs":{},"会":{"docs":{},"成":{"docs":{},"为":{"docs":{},"自":{"docs":{},"然":{"docs":{},"而":{"docs":{},"然":{"docs":{},"的":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{},"引":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}},"层":{"docs":{},"的":{"docs":{},",":{"docs":{},"仅":{"docs":{},"限":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"通":{"docs":{},"用":{"docs":{},"且":{"docs":{},"状":{"docs":{},"态":{"docs":{},"持":{"docs":{},"久":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"认":{"docs":{},"证":{"docs":{},"信":{"docs":{},"息":{"docs":{},")":{"docs":{},"。":{"docs":{},"若":{"docs":{},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"应":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"尤":{"docs":{},"指":{"docs":{},"一":{"docs":{},"些":{"docs":{},"实":{"docs":{},"时":{"docs":{},"性":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"以":{"docs":{},"及":{"docs":{},"非":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},"都":{"docs":{},"糅":{"docs":{},"合":{"docs":{},"在":{"docs":{},"一":{"docs":{},"处":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"像":{"docs":{},"是":{"docs":{},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"变":{"docs":{},"量":{"docs":{},"都":{"docs":{},"挂":{"docs":{},"载":{"docs":{},"到":{"docs":{},"全":{"docs":{},"局":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"罢":{"docs":{},"了":{"docs":{},")":{"docs":{},",":{"docs":{},"抽":{"docs":{},"离":{"docs":{},"出":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"法":{"docs":{},"等":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"自":{"docs":{},"然":{"docs":{},"而":{"docs":{},"然":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"大":{"docs":{},"型":{"docs":{},"项":{"docs":{},"目":{"docs":{},"协":{"docs":{},"作":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"前":{"docs":{},"人":{"docs":{},"踩":{"docs":{},"坑":{"docs":{},"后":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"经":{"docs":{},"验":{"docs":{},"总":{"docs":{},"结":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"前":{"docs":{},"端":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"其":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"是":{"docs":{},"单":{"docs":{},"向":{"docs":{},"的":{"docs":{},"。":{"docs":{},"既":{"docs":{},"然":{"docs":{},"是":{"docs":{},"单":{"docs":{},"向":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"将":{"docs":{},"整":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"汇":{"docs":{},"于":{"docs":{},"一":{"docs":{},"处":{"docs":{},"集":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"(":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"传":{"docs":{},"统":{"docs":{},"意":{"docs":{},"义":{"docs":{},"上":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"是":{"docs":{},"改":{"docs":{},"名":{"docs":{},"为":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"在":{"docs":{},"此":{"docs":{},"为":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"面":{"docs":{},"上":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"能":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"手":{"docs":{},"段":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"级":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"当":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"还":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"你":{"docs":{},"多":{"docs":{},"半":{"docs":{},"并":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},",":{"docs":{},"您":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"配":{"docs":{},"置":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"单":{"docs":{},"独":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"把":{"docs":{},"简":{"docs":{},"单":{"docs":{},"问":{"docs":{},"题":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"化":{"docs":{},"了":{"docs":{},"(":{"docs":{},"的":{"docs":{},"确":{"docs":{},"如":{"docs":{},"此":{"docs":{},")":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"把":{"docs":{},"原":{"docs":{},"本":{"docs":{},"简":{"docs":{},"单":{"docs":{},"纯":{"docs":{},"粹":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"以":{"docs":{},"及":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"剥":{"docs":{},"离":{"docs":{},"开":{"docs":{},"来":{"docs":{},",":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"成":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"教":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{},"您":{"docs":{},"快":{"docs":{},"速":{"docs":{},"理":{"docs":{},"解":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"文":{"docs":{},"档":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},",":{"docs":{},"通":{"docs":{},"读":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"架":{"docs":{},"构":{"docs":{},"就":{"docs":{},"像":{"docs":{},"眼":{"docs":{},"镜":{"docs":{},":":{"docs":{},"您":{"docs":{},"自":{"docs":{},"会":{"docs":{},"知":{"docs":{},"道":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{},"它":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}},"究":{"docs":{},"竟":{"docs":{},"好":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}},",":{"docs":{},"未":{"docs":{},"免":{"docs":{},"有":{"docs":{},"点":{"docs":{},"舍":{"docs":{},"本":{"docs":{},"逐":{"docs":{},"末":{"docs":{},"了":{"docs":{},"。":{"docs":{},"私":{"docs":{},"认":{"docs":{},"为":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}},",":{"docs":{},"若":{"docs":{},"完":{"docs":{},"全":{"docs":{},"照":{"docs":{},"搬":{"docs":{},"相":{"docs":{},"对":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"模":{"docs":{},"式":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"置":{"docs":{},"于":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}},"板":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{},"应":{"docs":{},"为":{"docs":{},":":{"docs":{},"组":{"docs":{},"件":{"docs":{},"自":{"docs":{},"包":{"docs":{},"含":{"docs":{},"状":{"docs":{},"态":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"组":{"docs":{},"件":{"docs":{},"本":{"docs":{},"地":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},",":{"docs":{},"全":{"docs":{},"局":{"docs":{},"持":{"docs":{},"久":{"docs":{},"性":{"docs":{},"通":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"级":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},"集":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"合":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"是":{"docs":{},"炫":{"docs":{},"酷":{"docs":{},"的":{"docs":{},"“":{"docs":{},"时":{"docs":{},"光":{"docs":{},"旅":{"docs":{},"行":{"docs":{},"”":{"docs":{},",":{"docs":{},"皆":{"docs":{},"因":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尤":{"docs":{},"大":{"docs":{},"的":{"docs":{},"说":{"docs":{},"法":{"docs":{},",":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}},"要":{"docs":{},"大":{"docs":{},"显":{"docs":{},"身":{"docs":{},"手":{"docs":{},"的":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"末":{"docs":{},"尾":{"docs":{},"空":{"docs":{},"格":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"使":{"docs":{},"用":{"docs":{},"前":{"docs":{},"最":{"docs":{},"好":{"docs":{},"先":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"以":{"docs":{},"下":{"docs":{},"考":{"docs":{},"量":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"'":{"docs":{},"$":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"'":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},",":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}}}}}}},".":{"docs":{},".":{"docs":{},"/":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},"但":{"docs":{},"有":{"docs":{},"了":{"docs":{},"路":{"docs":{},"径":{"docs":{},"别":{"docs":{},"名":{"docs":{},"后":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}},"@":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},"相":{"docs":{},"比":{"docs":{},"于":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{},"您":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"觉":{"docs":{},"得":{"docs":{},"这":{"docs":{},"是":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},"但":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"歧":{"docs":{},"义":{"docs":{},"的":{"docs":{},"试":{"docs":{},"问":{"docs":{},":":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"/":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"'":{"docs":{},"]":{"docs":{},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"]":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"y":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"2":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}},"docs":{}}}}}}}}}}}}}}}},"q":{"docs":{},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.02586206896551724}}},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}}}}}}},"以":{"docs":{},"表":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"分":{"docs":{},"离":{"docs":{},"打":{"docs":{},"包":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"y":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}},"在":{"docs":{},"某":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"用":{"docs":{},"户":{"docs":{},"必":{"docs":{},"须":{"docs":{},"登":{"docs":{},"录":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"查":{"docs":{},"看":{"docs":{},"的":{"docs":{},",":{"docs":{},"请":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}},":":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"点":{"docs":{},"击":{"docs":{},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{},"(":{"docs":{},"第":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"便":{"docs":{},"利":{"docs":{},"不":{"docs":{},"过":{"docs":{},"我":{"docs":{},"们":{"docs":{},"仍":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}},",":{"docs":{},"极":{"docs":{},"其":{"docs":{},"方":{"docs":{},"便":{"docs":{},"地":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"响":{"docs":{},"应":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}},"包":{"docs":{},",":{"docs":{},"诚":{"docs":{},"邀":{"docs":{},"品":{"docs":{},"鉴":{"docs":{},"!":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"精":{"docs":{},"华":{"docs":{},"在":{"docs":{},"于":{"docs":{},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}},"独":{"docs":{},"分":{"docs":{},"离":{"docs":{},"打":{"docs":{},"包":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"组":{"docs":{},"件":{"docs":{},"文":{"docs":{},"件":{"docs":{},"代":{"docs":{},"码":{"docs":{},"量":{"docs":{},"若":{"docs":{},"超":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"后":{"docs":{},"缀":{"docs":{},"带":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}},"接":{"docs":{},"收":{"docs":{},"父":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"传":{"docs":{},"入":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}},"拥":{"docs":{},"有":{"docs":{},"无":{"docs":{},"缝":{"docs":{},"切":{"docs":{},"换":{"docs":{},"体":{"docs":{},"验":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"的":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}},"既":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"了":{"docs":{},"这":{"docs":{},"种":{"docs":{},"规":{"docs":{},"律":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"使":{"docs":{},"用":{"docs":{},"空":{"docs":{},"白":{"docs":{},"标":{"docs":{},"签":{"docs":{},"页":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"?":{"docs":{},"g":{"docs":{},"w":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"c":{"docs":{},"r":{"docs":{},",":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"#":{"docs":{},"q":{"docs":{},"=":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"&":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"=":{"1":{"docs":{},"&":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"=":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"&":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"3":{"0":{"docs":{},"显":{"docs":{},"然":{"docs":{},"就":{"docs":{},"是":{"docs":{},"第":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},":":{"docs":{},"已":{"docs":{},"封":{"docs":{},"装":{"docs":{},"出":{"docs":{},"设":{"docs":{},"计":{"docs":{},"更":{"docs":{},"为":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"层":{"docs":{},"与":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}},"多":{"docs":{},"技":{"docs":{},"巧":{"docs":{},"可":{"docs":{},"参":{"docs":{},"考":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"同":{"docs":{},"步":{"docs":{},"路":{"docs":{},"由":{"docs":{},"与":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"但":{"docs":{},"稍":{"docs":{},"微":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"完":{"docs":{},"全":{"docs":{},"满":{"docs":{},"足":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"(":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"见":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{},"(":{"docs":{},"第":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"由":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"没":{"docs":{},"有":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"此":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"页":{"docs":{},"面":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"强":{"docs":{},"制":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"即":{"docs":{},"可":{"docs":{},"获":{"docs":{},"取":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"毋":{"docs":{},"须":{"docs":{},"特":{"docs":{},"意":{"docs":{},"去":{"docs":{},"维":{"docs":{},"护":{"docs":{},"该":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"综":{"docs":{},"上":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}},"表":{"docs":{},"示":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"缓":{"docs":{},"存":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"输":{"docs":{},"入":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}},"页":{"docs":{},"的":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"毫":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"地":{"docs":{},",":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"框":{"docs":{},"会":{"docs":{},"从":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"?":{"docs":{},"g":{"docs":{},"w":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"c":{"docs":{},"r":{"docs":{},",":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"#":{"docs":{},"q":{"docs":{},"=":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"&":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"=":{"1":{"docs":{},"&":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"=":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"&":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"1":{"0":{"docs":{},"关":{"docs":{},"键":{"docs":{},"点":{"docs":{},"是":{"docs":{},":":{"docs":{},"{":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"docs":{}},"2":{"0":{"docs":{},"关":{"docs":{},"键":{"docs":{},"点":{"docs":{},"是":{"docs":{},":":{"docs":{},"{":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"则":{"docs":{},"动":{"docs":{},"态":{"docs":{},"获":{"docs":{},"取":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"于":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"其":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"则":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}},"密":{"docs":{},"码":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}},"帐":{"docs":{},"号":{"docs":{},",":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}},"库":{"docs":{},")":{"docs":{},"。":{"docs":{},"往":{"docs":{},"后":{"docs":{},"改":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"样":{"docs":{},"子":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"还":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"性":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"更":{"docs":{},"新":{"docs":{},"、":{"docs":{},"有":{"docs":{},"效":{"docs":{},"性":{"docs":{},"、":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"等":{"docs":{},"诸":{"docs":{},"多":{"docs":{},"问":{"docs":{},"题":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},"想":{"docs":{},",":{"docs":{},"若":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"中":{"docs":{},"就":{"docs":{},"对":{"docs":{},"应":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}},"样":{"docs":{},"做":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},":":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"化":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"统":{"docs":{},"一":{"docs":{},"管":{"docs":{},"理":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"相":{"docs":{},"对":{"docs":{},"鸡":{"docs":{},"肋":{"docs":{},"的":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}},"*":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.07042253521126761},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"/":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}},"@":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.04225352112676056}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"游":{"docs":{},"志":{"docs":{},"军":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},",":{"docs":{},"见":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"[":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"]":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}},"[":{"docs":{},"普":{"docs":{},"通":{"docs":{},"组":{"docs":{},"件":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.028169014084507043}}}}}},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"组":{"docs":{},"件":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"'":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}},"|":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.056338028169014086}}},"↕":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.09859154929577464}}},"地":{"docs":{},"址":{"docs":{},")":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}},"封":{"docs":{},"装":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}},"格":{"docs":{},"式":{"docs":{},"变":{"docs":{},"更":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"格":{"docs":{},"式":{"docs":{},"转":{"docs":{},"换":{"docs":{},"、":{"docs":{},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{},"、":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}}}}}},"统":{"docs":{},"一":{"docs":{},"化":{"docs":{},"处":{"docs":{},"理":{"docs":{},":":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},")":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"会":{"docs":{},"如":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"些":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"设":{"docs":{},"定":{"docs":{},"了":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}},"字":{"docs":{},"段":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"度":{"docs":{},"不":{"docs":{},"够":{"docs":{},"高":{"docs":{},",":{"docs":{},"必":{"docs":{},"要":{"docs":{},"性":{"docs":{},"也":{"docs":{},"不":{"docs":{},"大":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"仅":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"全":{"docs":{},"参":{"docs":{},"考":{"docs":{},"知":{"docs":{},"友":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"仅":{"docs":{},"列":{"docs":{},"出":{"docs":{},"较":{"docs":{},"为":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"特":{"docs":{},"别":{"docs":{},"提":{"docs":{},"醒":{"docs":{},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"改":{"docs":{},"动":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"该":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"可":{"docs":{},"通":{"docs":{},"过":{"docs":{},"读":{"docs":{},"取":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"现":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}},"已":{"docs":{},"实":{"docs":{},"现":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},"打":{"docs":{},"包":{"docs":{},"进":{"docs":{},"来":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"拓":{"docs":{},"展":{"docs":{},"阅":{"docs":{},"读":{"docs":{},":":{"docs":{},"解":{"docs":{},"读":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"本":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"文":{"docs":{},"档":{"docs":{},"不":{"docs":{},"打":{"docs":{},"算":{"docs":{},"照":{"docs":{},"搬":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"整":{"docs":{},"体":{"docs":{},"采":{"docs":{},"用":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"标":{"docs":{},"签":{"docs":{},"内":{"docs":{},"全":{"docs":{},"局":{"docs":{},"引":{"docs":{},"入":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"资":{"docs":{},"源":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}},"温":{"docs":{},"馨":{"docs":{},"提":{"docs":{},"示":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"库":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}}}},"见":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}},"需":{"docs":{},"要":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"这":{"docs":{},"些":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},":":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"后":{"docs":{},"端":{"docs":{},"服":{"docs":{},"务":{"docs":{},"(":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"相":{"docs":{},"关":{"docs":{},"资":{"docs":{},"料":{"docs":{},")":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"解":{"docs":{},"除":{"docs":{},"同":{"docs":{},"源":{"docs":{},"策":{"docs":{},"略":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"跨":{"docs":{},"域":{"docs":{},"(":{"docs":{},"不":{"docs":{},"推":{"docs":{},"荐":{"docs":{},")":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}},"部":{"docs":{},"署":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}},":":{"docs":{},"[":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"]":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"关":{"docs":{},"键":{"docs":{},"是":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"和":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"善":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"尽":{"docs":{},"量":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"模":{"docs":{},"板":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"善":{"docs":{},"用":{"docs":{},"计":{"docs":{},"算":{"docs":{},"属":{"docs":{},"性":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{},"·":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"移":{"docs":{},"动":{"docs":{},"·":{"docs":{},"刘":{"docs":{},"欣":{"docs":{},"然":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}},"恪":{"docs":{},"守":{"docs":{},"代":{"docs":{},"码":{"docs":{},"、":{"docs":{},"模":{"docs":{},"块":{"docs":{},"分":{"docs":{},"离":{"docs":{},",":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"或":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"拆":{"docs":{},",":{"docs":{},"前":{"docs":{},"提":{"docs":{},"是":{"docs":{},"粒":{"docs":{},"度":{"docs":{},"要":{"docs":{},"合":{"docs":{},"理":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}},"杜":{"docs":{},"绝":{"docs":{},"片":{"docs":{},"段":{"docs":{},"实":{"docs":{},"例":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"而":{"docs":{},"非":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"行":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"有":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"静":{"docs":{},"态":{"docs":{},"检":{"docs":{},"测":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"见":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}},"通":{"docs":{},"读":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"脚":{"docs":{},"手":{"docs":{},"架":{"docs":{},")":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}}}},"length":907},"corpusTokens":["#","$","$data。由此,在","$data。若是全局通用(包括模板中)需要用到的状态数据,就挂载到","$parent,而是通过","$rootscop","$route.params.msgid","$route.queri","$scope","$watch","$watch,同步其变化到对应的组件本地状态特别注意:由于状态与路由是双向同步的,因此安全性是必须考量的","'$route.query'","'../../../../components/foobar'","'../../../services/authservice'但有了路径别名后,只需要","'./foobar'","'./foobar.js'","'@/components/foobar'","'@/services/authservice'相比于","'history/lib/createbrowserhistory'您可能会觉得这是","'lodash'","'lodash/isempty'","'one',","'services/authservice'但在这里其实是会引起歧义的试问:import","'two'][this.i]","'vue'","'vue',","()","(__dev__)","(__prod__)","(authorservice.options)","(query,","(ui)","({","(不过当前微信已屏蔽掉这类链接的访问)","*","*/","+",".","...","...]",".babelrc",".babelrc配置详情请自行参考",".eslintignor",".eslintrc",".eslintrc,对其的任何修改都是立即生效配置规则请参考",".gitignor","/","/**","//","/auth/login)","/auth/login,那么","/authors),若不把这些数据缓存下来,那么每一次渲染该组件,都会发出一次请求。尤其是该组件极其常用的情况下,更会造成很多不必要的资源消耗。","/msg/add(新增留言)","/msg/detail/:msgid(查看留言)","/msg/list(留言板列表)","/msg/list)","/msg/update/:msgid(修改留言)","/msg(留言板首页,alia","/src/views/auth/login.vu","0","0.7.x","1.","1.x","1.x(辅以","1.x)","10","2","2.","2.x","20","200","3","3.","3.x","4","4.x","4.x(提供开发热更替与静态资源服务器)","6.x",":[prop]","=","=>","@[verb]","@param","@return","@游志军","@,见","['zero',","[普通组件","[路由页面组件","_","__prod__","_components/","_components/、_mixins/)","_mixins/","abramov","action","action。对于绝大部分中小型项目而言,这显然是过度设计,牛刀杀鸡。","add.vu","ajax","alive、canreus","allow","angular","angularj","api","app.j","app.vu","app,也有使用","aservic","assets/","auth/","authorselect.vu","authorservice.getoptions().then(opt","authorservice.opt","authorservice,里面定义一个","authservic","authservice.login({","autoloadbyparams.j","autosyncwithqueri","b","babel","bad","bar","bind:[prop],使用","bootstrap","breadcrumb.vu","browsersync","browsersyncplugin","browsersync(多端调试)","browsersync:见","bservic","bu","build","build/","build/config/env.j","build/dev.j","build/prod.j","build/webpack.base.conf.j","build/webpack.dev.conf.j","by、object.freeze、keep","c]]","cd","cli","click","clone","cnpm","code","commonschunkplugin","components/","computed:","const","control","createbrowserhistori","cservic","dan","data","data:","default","defineplugin","demo","demo.git","demo/issues/1","depend","detail.vu","devtool","dist/","dist/,配置","dllplugin","doc","docs/","docs/(文档)与","docs·babelrc","docs·rules(请注意当前版本为","dom。通过汇总应用的状态管理于一处,我们就不必到处传递事件。因为任何牵扯到一个以上组件的逻辑,都应该写在这里。此外,这样做也能让我们更容易地记录并观察状态的变更(mutation,原意为突变),甚至可以实现出华丽如时光旅行一般的调试效果。","enough","entry.vendor","es5:","es6","es6gulp","es6。例如,请把如下代码转译成","eslint","eteplus/vu","event","example·counter,您应该会觉得","export","express","filters/","fine」,见","flux","foo","foobar","formatter,使得点击命令行中的报错后可以直接跳到目标位置","friendli","g","getopt","get)","git","gitbook","global","good","googl","guid","gulp","gulp)","hello:","histori","html","http","https://github.com/kenberkeley/vu","https://registry.npm.taobao.org","i:","import","index.html","index.vu","inlin","instal","isempti","issu","jqueri","kenberkeley","kenberkeley/vue2","level","limitselect.vu","link.vu","list.vu","local","localhost:8080若浏览器没有自动弹出,则请自行手动访问","localstorag","lodash","login","login.vu","logout.vu","lowdb","middlewar","mixin","mixins/","mock","mock/","mock/(mock","mock,避免在组件中分别实现请求而导致管理上的混乱(对日后的重构也不友好)。而且,前端的服务与后端的","model","msg/","msg/)内部可分离出通用部分(如","msgform.vu","mutat","mvc","mvvm","name","navbar.vu","need","nginx","node","node_env","nodemon、supervisor","npm","oldquery)","on","on:[verb]","optbtngroup.vu","option","options.bodi","options.method","options.url","origin:","package.json","package同样地,您又怎么知道","package?综上,引入路径别名可以满足简约与避免歧义的需求","pagination.vu","path本项目不引入上述插件主要是考虑到非官方、维护不稳定等因素","plugin","plugin、webpack","prebuild","process.env.node_env、__env__、__dev__","prop","proxi","proxy_pass","pr)","q:","queri","react","reduc","redux","redux,实现出","registri","registry=https://registry.npm.taobao.org","repl","req.bodi","resolve.alia","resolve.extens","resolve.root","resourc","return","rollup","rootpath","router","router,可以完全掌控","routes/","run","sass","scaffold(vu","schemes)例如访问","script","scripts:","select/","select2","select2.vu","server","servic","services/","sessionstorag","set","show","sidebar/","spa,你很有可能已经需要思考应该如何更好地归纳","split","splitting,","src/","src/components/","src/components/、src/mixins/","src/history/lib/createbrowserhistory.js但实际上","src/mixins/autosyncwithquery.js)","src/services/authservice.j","src/services/xhr/","src/services/xhr/index.j","src/services/xhr/index.js)","src/views/","src/就可以直接","start","start:","state","state)和","state)进行区分。应用级的状态不属于任何特定的组件,但每一个组件仍然可以监视(observe)其变化从而响应式地更新","static/","store","string同时,也对","sui","sync","templat","templates/webpack","text","this.$root","this.opt","tini","track","trim","two","uglifyj","uglifyjs,里面介绍了","update.vu","url","utils/","uuid","v","vendor.js详见","view","views/","vue","vue.j","vuej","vuex","vuex。一个简单的","vuex。也不建议过早地使用","vuex。但如果你正在构建一个中型以上规模的","vuex,专注于应用层级的状态管理。","vuex,因此不能使用","vuex,实在是太不值得了。这个时候,就需要借鉴","vuex,虽可使数据流动明确,但破坏了组件的直观性,尤其是团队水平参差不齐的情况下,全局的状态管理很容易成为项目开发与维护的负担。就像","vue,敲下回车,就跳转到了搜索结果的页面,此时","watch","watch:","webpack","weixin://dl/mo","world:","xhr","zero","{","{object}","{promise}","{string}","|","}","})","}),","§","“每页显示多少条记录”","“物以类聚”,善用目录自包含","↕","≥","⊙","│","└──","├──","「local","一一对应的请求类。例如,用户登录的","一一对应,在理解上也会变得更加容易。","一下:process.env.node_env.trim()","一般不会涉及到具体的业务逻辑","一般是使用","一般来说,涉及到权限的必须用","上述","上述各项服务的端口配置:build/config/ports.j","上述四个依赖","上述目录结构中,需要注意的是","上,对应着","下存放着侧栏组件主体","下存放着全局通用的下拉框组件src/components/sidebar/","下拉框选择框组件","下拉选择框","不存在缓存,则动态获取","不是一个","与","与代码热更替已经带给我们足够好的开发体验。结构约定俗成,条理清晰;代码风格统一,高内聚低耦合;容易上手、接手与维护······","与其分拆出来的导航链接组件","与页面状态的同步性,满足保存书签、强制刷新、前进回退等基本需求(至于同步的粒度需要细致到什么程度,就需要根据实际情况自行斟酌了)","中","中使用","中定义)若要继续添加,则还需要在","中提取对应的关键字进行同步","中的","中的依赖注入,这种方式依赖于构建工具,显得更为简单","中的这两个目录以树状形式展开:","中的:","中设置","中间还有一层","中,组件状态一般是挂载到","为","为了更好的解决在大型应用中状态的共用问题,我们需要对组件的","主要是业务性的页面组件,基本不具备通用性","主要是全局性的,或通用性很强的组件,具备良好的封装性","乃轻量级的","之外,应用的其他组成部分。这就是","乍一看本","于是,我们为其新建一个服务,命名为","仅为文档撰写所需您往后的开发中,可以删掉:","仅为留言板","仅用于合并压缩打包静态基页(src/index.html)中","代理转发(推荐)","代理(用于多端联合同步调试),但与本篇讨论的跨域代理无关","代码","代码应当拆写","以实现真正的分离打包","以表示应用的状态","会如何处理这些环境变量","但","但实际上无论是从目录组织、文档说明还是从设计思想、团队协作等层面本","作为一个","作者","例如,https://github.com/kenberkeley","例如,slot","例如,在某组件中,引入","例如,我们在","例如,用户必须登录后才能查看的,请用","例如:src/components/select/","侧边栏","侧边栏组件","全局安装","关键是","再点击下一页(第","函数的便利不过我们仍可以通过","函数,极其方便地让我们响应","分页","到对应的后端服务(详情请自行查阅相关资料)","包,诚邀品鉴!","单独分离打包","单组件文件代码量若超","单页应用的精华在于:","即可实现请求。","即可访问全局状态。","即可,服务层与组件层完全不需要改动","参照","参考","只需要设定了","可以使用","可以帮助我们管理共享状态,但也附带了更多的概念和框架。这需要对短期和长期效益进行权衡。","可以表现应用的状态,而且在一定程度上,url","可使用","可是,全局通用且状态持久的数据占极少数,若为此而引入","可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用","各功能模块(如","同时,您还需要熟悉","同步其变化到","同步写入由此即可根据当前运行环境执行对应的代码:","启动文件","命令","和","善用","在","在上篇谈状态管理中,我们总结了没有引入","在开始前,希望您已通读如下资料:","在此安利一波我写的","在此需要提醒,在","地址)","基本与路由一一对应(例如","基本的命名规范、代码风格等,请自行查阅相关资料项目使用","处理的静态文件","如果您不打算开发大型单页应用,使用","如果您看过最简单的例子","字段实现自动化,但其灵活度不够高,必要性也不大(例如,我们仅使用了","存在缓存,则使用缓存","安装","安装依赖","完全参考知友","官方文档,仅列出较为重要的部分特别提醒:开发过程中,改动","实现","实际上","实际上该步骤可通过读取","密码","对","对于这个问题,作者尤雨溪有如下评述:","对代码进行静态检测,使用","对应","对应着路由","对此我们还有别的替代方案:split","导航链接封装","封装","将会成为自然而然的选择。引用","就会跳转到朋友圈页面","就在根目录下新增了","就是应用状态的最佳表现形式","就是直接复制本","就足够您所需了。但是,如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,vuex","就连微信这种原生","尽量避免在模板中设置过多的判断条件,善用计算属性","层的,仅限于全局通用且状态持久的数据(例如用户认证信息)。若把所有应用数据(尤指一些实时性较高的数据以及非共享的数据)都糅合在一处,那就像是把所有变量都挂载到全局。","层罢了),抽离出操作方法等(control","层面上,提高效能的优化手段有很多,例如","层),也是自然而然的。这是基于大型项目协作开发中,前人踩坑后的最佳经验总结,同时也是当前前端","层,不具备数据的双向绑定能力,其数据流是单向的。既然是单向数据流,那么将整个应用状态汇于一处集中管理(这就是传统意义上的","层,只是改名为","层,在此为","属性中后缀带","属性接收父组件的传入","工具类","已实现","希望往下的内容,可以帮助您深入了解,理清思路","帐号,","库)。往后改用其他技术栈(react","应用层级状态(applic","开发","开发服务器","开发服务器代理转发:见","开发环境下执行的代码","开发过程中,chrome","开始","引入文件时,省略默认解析的文件后缀","引入服务层","强烈建议升级到","当你的应用还很简单的时候,你多半并不需要","当然,您也可以自行配置","忽略的文件(夹)","性能优化最佳实践·阿里移动·刘欣然","总览","恪守代码、模块分离,dri","您可以根据业务需求改动目录结构譬如本","您可能会说,webpack","我们在单独使用","我们并没有引入","或","打包进来)","技术栈","技术栈并没有太大关系(前提是您没有用","把简单问题复杂化了(的确如此)。为了实现全局状态管理,把原本简单纯粹的双向绑定以及操作方法都剥离开来,抽象成","拆,前提是粒度要合理","拓展阅读:解读","拥有无缝切换体验的同时,保证","换源并不能解决","接口","接口化","接口的好处是显而易见的:","接口(详见","接口:见","提供","提供的","插件解除同源策略的限制","放置无需经由","放置需要经由","教程,可以让您快速理解","文档","文档中提到的:","文档,通读","方法,在组件初始化的时候,可以这样子操作:","既然我们发现了这种规律,那么使用空白标签页直接访问:https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=30显然就是第","是一个","是单页应用的精华","是:https://www.google.com/?gws_rd=cr,ssl#newwindow=1&safe=strict&q=vue关键点是:{","更多技巧可参考","更新:已封装出设计更为合理的","更重要的是,服务层与","替代","最佳实践","最小化引入类库(除非您使用了","最理想的状态也莫过于此。引入","服务器","服务器所需。同样地,devdepend","服务器)","服务层","服务层的主要功能是:封装好与后端","服务层还有一个妙用:用于缓存相关的数据。例如,我们有一个选择用户的下拉框组件,里面的数据是动态获取的(假设","服务(统一管理","本","本文档不打算照搬","本项目整体采用","杜绝片段实例","来实现同样的功能:","来自动同步路由与组件的状态但稍微封装一下,就可以完全满足我们的需求(详情请见","构建,使用","架构就像眼镜:您自会知道什么时候需要它。","架构究竟好在哪。","架构,未免有点舍本逐末了。私认为,对于一个使用","标签内全局引入的静态资源","根据","根据注释,我们大概知道了二者的差别:","根组件","根组件的","格式变更、数据格式转换、错误处理、mock","框架","框架,若完全照搬相对抽象的","检查中需忽略的文件(夹)","模式构建的单页应用而言,需要置于","模板中使用","注意:","注销登录页","深入了解","温馨提示:build/webpack.base.conf.j","源码目录位置可简写为","源码目录(开发都在这里进行)","点击下一页(第","版本迭代(releases)","状态管理的最佳实践应为:组件自包含状态数据(组件本地状态),全局持久性通用数据(应用层级状态)集中管理。","环境变量","环境强烈推荐往后使用","生产","生产环境下执行的代码","生产环境下的代理","生成的官方开发模板并没有太大差异","生成的生产环境下的项目","用户认证模块","由","由于我们没有引入","由此,就可以实现页面级别的缓存,强制刷新即可获取最新的数据,毋须特意去维护该缓存。","留言发布者选择下拉框","留言操作按钮组","留言板模块","留言板模块共用","留言板模块共用组件","留言表单","登录页","的","的一些经验实践来实现","的二进制源码包下载极慢的问题","的作者","的函数,只需要调用","的区别不妨把本","的原因其实还有一个很重要的原因:我们使用了","的原理相当简单:约定组件","的变化以进行","的回答","的字段,使用","的封装","的开发理念","的时候,通常会把状态储存在组件的内部。也就是说,每一个组件都拥有当前应用状态的一部分,整个应用的状态是分散在各个角落的。然而我们经常会需要把状态的一部分共享给多个组件。一个常见的解决策略为:使用定制的事件系统,让一个组件把一些状态“发送”到其他组件中。这种模式的问题在于,大型组件树中的事件流会很快变得非常繁杂,并且调试时很难去找出究竟哪错了。","的最佳实践。","的某几个函数,就没必要将整个","的状态存储功能:","的第一个","的编码秉承最佳实践,不妨参阅","的编译作用域搞清楚了吗?","的话说就是:","的路径别名","的首页又例如,https://github.com/kenberkeley/vu","目前主要是两种方案:直接跨域与代理转发","目录","目录下的配置,都需要重启才能生效(您也可以使用","目录结构","直接跨域(不推荐)","相关代码","相关配置","移动文档","等","等工具进行自动监控重启)","等)","等)时,服务层可直接复制过去,毋须改动任何代码。","答案请在","类库","组件","组件中,直接使用","组件内部的","组件本地状态(compon","结合实际情况,我们需要的可能不是炫酷的“时光旅行”,皆因","结合尤大的说法,vue","统一化处理:自定义拦截、api","综上:url","缓存,还要考虑兼容性、数据更新、有效性、安全性等诸多问题","编译完成后,将在项目根目录生成","编译完成后,默认浏览器就会自动打开","而非","脚手架)","自动加载","自动打包成","自行验证","若多个功能模块通用的,则建议移到全局,即","若项目升级需要替换","获取该对象)","虽然","行,一般都有优化的空间","表示","表示应用的状态(url","要大显身手的时刻。","要注意末尾空格的问题使用前最好先","见","设置","设置缓存","试想,若使用","请尽量保证数据流的可追踪性。尽量不要使用","请求体(例如后端","请求库,则仅需要重新实现","请求当然,如果并非路由页面组件,是不能够享受到","请求方法(默认为","请求路径(基于","请求)","请求,提高代码复用,方便","谈状态管理","跨域与代理","路径别名","路径别名的好处是显而易见的","路由","路由页面组件","转码配置","转译","输入框输入","过滤器","过长的","运行","这个类中就对应存在一个名为","这样做的好处是:轻量化组件,统一管理","这类相对鸡肋的","进行静态检测,配置见","通读","部署","都更适合常规单页应用的开发","配置","配置文件见项目根目录下的","配置目录","配置见","问题反馈(issues)","需要","静态基页","面包屑","页的搜索结果。而且毫无疑问地,搜索框会从","页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=10关键点是:{","页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=20关键点是:{","顶部导航栏","预备知识","首页","默认有这些全局变量:","(后三者在","(未完待续,欢迎","(这个就不用多解释了吧)","(配置)eslint","(配置)需被",",主要是基于以下考量:"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"总览","keywords":"","body":"§ 总览\n\n总览\n开始\n技术栈\n目录结构\n深入了解\n谈状态管理\nURL 是单页应用的精华\n引入服务层\nAjax 接口化\n配置\n跨域与代理\n最佳实践\n\n\n参考\n问题反馈(issues)\n版本迭代(releases)\n\n"},"Getting-started.html":{"url":"Getting-started.html","title":"开始","keywords":"","body":"§ 开始\n⊙ 预备知识\n在开始前,希望您已通读如下资料:\n\nVue.js 1.x Guide\nVue.js 1.x API\nVue Router docs for Vue 1.x\n\n同时,您还需要熟悉 ES6。例如,请把如下代码转译成 ES5:\nconst foo = ({ hello: { world: bar } }) => ({ bar })\n\n\n答案请在 Babel REPL 自行验证\n\n⊙ 安装\n\n强烈建议升级到 node ≥ 6.x / npm ≥ 3.x 环境强烈推荐往后使用 cnpm 替代 npm 安装依赖 \n运行 npm set registry https://registry.npm.taobao.org 换源并不能解决 node-sass 的二进制源码包下载极慢的问题\n\n$ npm install -g cnpm --registry=https://registry.npm.taobao.org # 全局安装 cnpm\n\n$ git clone https://github.com/kenberkeley/vue-demo.git\n$ cd vue-demo\n$ cnpm i\n⊙ 命令\n开发\n$ npm start\n编译完成后,默认浏览器就会自动打开 localhost:8080若浏览器没有自动弹出,则请自行手动访问\n生产\n$ npm run build\n编译完成后,将在项目根目录生成 dist/ 目录\n"},"Features.html":{"url":"Features.html","title":"技术栈","keywords":"","body":"§ 技术栈\n\nVue 1.x\nVue Router 0.7.x\nES6 + Babel + ESLint 1.x\nLodash 4.x\nWebpack 1.x(辅以 Gulp)\nBrowserSync(多端调试)\nExpress 4.x(提供开发热更替与静态资源服务器)\njQuery + BootStrap 3.x (UI)\n\n\n注意:\npackage.json 的 dependencies 中的: \n\nlowdb\nuuid\ntiny-express\n\n仅为留言板 Mock 服务器所需。同样地,devDependencies 中的: \n\ngitbook-cli\n\n仅为文档撰写所需您往后的开发中,可以删掉:\n\n上述四个依赖\nbuild/prod.js 中的 移动文档 代码\ndocs/ 与 mock/ 目录\nsrc/services/xhr/index.js 中的 Mock Server 相关代码\npackage.json 中的 npm-scripts: prebuild\n\n\n"},"Structure.html":{"url":"Structure.html","title":"目录结构","keywords":"","body":"§ 目录结构\n.\n├── build/ # Webpack 配置目录\n├── dist/ # build 生成的生产环境下的项目\n├── src/ # 源码目录(开发都在这里进行)\n│ ├── assets/ # 放置需要经由 Webpack 处理的静态文件\n│ ├── components/ # 组件\n│ ├── filters/ # 过滤器\n│ ├── mixins/ \n│ ├── routes/ # 路由\n│ ├── services/ # 服务(统一管理 XHR 请求)\n│ ├── utils/ # 工具类\n│ ├── views/ # 路由页面组件\n│ ├── app.js # 启动文件\n│ ├── index.html # 静态基页\n├── static/ # 放置无需经由 Webpack 处理的静态文件\n├── .babelrc # Babel 转码配置\n├── .eslintignore # (配置)ESLint 检查中需忽略的文件(夹)\n├── .eslintrc # ESLint 配置\n├── .gitignore # (配置)需被 Git 忽略的文件(夹)\n├── package.json # (这个就不用多解释了吧)\n您可以根据业务需求改动目录结构譬如本 demo 就在根目录下新增了 docs/(文档)与 mock/(Mock 服务器)\n\n上述目录结构中,需要注意的是 src/components/ 与 src/views/ 的区别不妨把本 demo 中的这两个目录以树状形式展开:\nsrc/components/ # 组件\n ├── App.vue # 根组件\n ├── Breadcrumb.vue # 面包屑\n ├── Navbar.vue # 顶部导航栏\n ├── Pagination.vue # 分页\n ├── Select/ # 下拉框选择框组件\n │ ├── LimitSelect.vue # “每页显示多少条记录” 下拉选择框\n │ └── Select2.vue # 对 Select2 的封装\n └── Sidebar/ # 侧边栏组件\n ├── index.vue # 侧边栏\n └── Link.vue # 导航链接封装\n\nsrc/views/ # 路由页面组件\n ├── index.vue # 首页\n ├── auth/ # 用户认证模块\n │ ├── login.vue # 登录页\n │ └── logout.vue # 注销登录页\n └── msg/ # 留言板模块\n ├── index.vue # 对应 /msg(留言板首页,alias => /msg/list)\n ├── list.vue # 对应 /msg/list(留言板列表)\n ├── add.vue # 对应 /msg/add(新增留言)\n ├── detail.vue # 对应 /msg/detail/:msgId(查看留言)\n ├── update.vue # 对应 /msg/update/:msgId(修改留言)\n ├── _components/ # 留言板模块共用组件\n │ ├── AuthorSelect.vue # 留言发布者选择下拉框\n │ ├── MsgForm.vue # 留言表单\n │ └── OptBtnGroup.vue # 留言操作按钮组\n └── _mixins/ # 留言板模块共用 mixins\n └── autoLoadByParams.js # 根据 $route.params.msgId 自动加载\n根据注释,我们大概知道了二者的差别:\nsrc/components/\n\n主要是全局性的,或通用性很强的组件,具备良好的封装性\n一般不会涉及到具体的业务逻辑\n\nsrc/views/\n\n主要是业务性的页面组件,基本不具备通用性\n基本与路由一一对应(例如 /src/views/auth/login.vue 对应着路由 /auth/login)\n各功能模块(如 msg/)内部可分离出通用部分(如 _components/、_mixins/)\n\n\n若多个功能模块通用的,则建议移到全局,即 src/components/、src/mixins/ 等\n\n"},"development/":{"url":"development/","title":"深入了解","keywords":"","body":"§ 深入了解\n乍一看本 demo 与 vue-cli 生成的官方开发模板并没有太大差异\n但实际上无论是从目录组织、文档说明还是从设计思想、团队协作等层面本 demo 都更适合常规单页应用的开发\n希望往下的内容,可以帮助您深入了解,理清思路\n"},"development/State-management.html":{"url":"development/State-management.html","title":"谈状态管理","keywords":"","body":"§ 谈状态管理\nVue 参照 Flux / Redux,实现出 Vuex,专注于应用层级的状态管理。\n我们并没有引入 Vuex ,主要是基于以下考量:\n如果您看过最简单的例子 Example·Counter,您应该会觉得 Vuex 把简单问题复杂化了(的确如此)。为了实现全局状态管理,把原本简单纯粹的双向绑定以及操作方法都剥离开来,抽象成 Vuex 的 state / mutation / action。对于绝大部分中小型项目而言,这显然是过度设计,牛刀杀鸡。\n对于这个问题,作者尤雨溪有如下评述:\n\n   当你的应用还很简单的时候,你多半并不需要 Vuex。也不建议过早地使用 Vuex。但如果你正在构建一个中型以上规模的 SPA,你很有可能已经需要思考应该如何更好地归纳 Vue 之外,应用的其他组成部分。这就是 Vuex 要大显身手的时刻。   我们在单独使用 Vue.js 的时候,通常会把状态储存在组件的内部。也就是说,每一个组件都拥有当前应用状态的一部分,整个应用的状态是分散在各个角落的。然而我们经常会需要把状态的一部分共享给多个组件。一个常见的解决策略为:使用定制的事件系统,让一个组件把一些状态“发送”到其他组件中。这种模式的问题在于,大型组件树中的事件流会很快变得非常繁杂,并且调试时很难去找出究竟哪错了。   为了更好的解决在大型应用中状态的共用问题,我们需要对组件的 组件本地状态(component local state)和 应用层级状态(application level state)进行区分。应用级的状态不属于任何特定的组件,但每一个组件仍然可以监视(Observe)其变化从而响应式地更新 DOM。通过汇总应用的状态管理于一处,我们就不必到处传递事件。因为任何牵扯到一个以上组件的逻辑,都应该写在这里。此外,这样做也能让我们更容易地记录并观察状态的变更(Mutation,原意为突变),甚至可以实现出华丽如时光旅行一般的调试效果。\n\nReact 作为一个 View 层,不具备数据的双向绑定能力,其数据流是单向的。既然是单向数据流,那么将整个应用状态汇于一处集中管理(这就是传统意义上的 Model 层,只是改名为 Store 层罢了),抽离出操作方法等(Controller 层,在此为 Action 与 Reducer 层),也是自然而然的。这是基于大型项目协作开发中,前人踩坑后的最佳经验总结,同时也是当前前端 MVC 的最佳实践。\n但 Vue 乃轻量级的 MVVM 框架,若完全照搬相对抽象的 Flux / Redux 架构,未免有点舍本逐末了。私认为,对于一个使用 MVVM 模式构建的单页应用而言,需要置于 Store 层的,仅限于全局通用且状态持久的数据(例如用户认证信息)。若把所有应用数据(尤指一些实时性较高的数据以及非共享的数据)都糅合在一处,那就像是把所有变量都挂载到全局。\n\n「Local state is fine」,见 Redux 作者 Dan Abramov 的 You Might Not Need Redux\n\n结合尤大的说法,Vue 状态管理的最佳实践应为:组件自包含状态数据(组件本地状态),全局持久性通用数据(应用层级状态)集中管理。\n\n可是,全局通用且状态持久的数据占极少数,若为此而引入 Vuex,实在是太不值得了。这个时候,就需要借鉴 AngularJS 的一些经验实践来实现 Vuex 的状态存储功能:\n在 Angular 1.x 中,组件状态一般是挂载到 $scope 上,对应着 Vue 组件内部的 $data。若是全局通用(包括模板中)需要用到的状态数据,就挂载到 $rootScope 上,对应着 Vue 根组件的 $data。由此,在 Vue 组件中,直接使用 this.$root 即可访问全局状态。\n\n结合实际情况,我们需要的可能不是炫酷的“时光旅行”,皆因 Devtools 与代码热更替已经带给我们足够好的开发体验。结构约定俗成,条理清晰;代码风格统一,高内聚低耦合;容易上手、接手与维护······ 最理想的状态也莫过于此。引入 Vuex,虽可使数据流动明确,但破坏了组件的直观性,尤其是团队水平参差不齐的情况下,全局的状态管理很容易成为项目开发与维护的负担。就像 Vuex 文档中提到的:\n\n虽然 Vuex 可以帮助我们管理共享状态,但也附带了更多的概念和框架。这需要对短期和长期效益进行权衡。 \n如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。一个简单的 global event bus 就足够您所需了。但是,如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。引用 Redux 的作者 Dan Abramov 的话说就是:\nFlux 架构就像眼镜:您自会知道什么时候需要它。\n\n在此安利一波我写的 Redux 教程,可以让您快速理解 Flux 架构究竟好在哪。\n"},"development/URL-is-soul-of-SPA.html":{"url":"development/URL-is-soul-of-SPA.html","title":"URL 是单页应用的精华","keywords":"","body":"§ URL 是单页应用的精华\n在上篇谈状态管理中,我们总结了没有引入 Vuex 的原因其实还有一个很重要的原因:我们使用了 vue-router,可以完全掌控 URL 以表示应用的状态\n例如,我们在 Google 输入框输入 vue,敲下回车,就跳转到了搜索结果的页面,此时 URL 是:https://www.google.com/?gws_rd=cr,ssl#newwindow=1&safe=strict&q=vue关键点是:{ q: 'vue' }\n点击下一页(第 2 页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=10关键点是:{ q: 'vue', start: 10 }\n再点击下一页(第 3 页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=20关键点是:{ q: 'vue', start: 20 }\n既然我们发现了这种规律,那么使用空白标签页直接访问:https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=30显然就是第 4 页的搜索结果。而且毫无疑问地,搜索框会从 URL 中提取对应的关键字进行同步\n综上:URL 可以表现应用的状态,而且在一定程度上,URL 就是应用状态的最佳表现形式\n\n单页应用的精华在于:\n拥有无缝切换体验的同时,保证 URL 与页面状态的同步性,满足保存书签、强制刷新、前进回退等基本需求(至于同步的粒度需要细致到什么程度,就需要根据实际情况自行斟酌了)\n\n例如,https://github.com/kenberkeley 表示 kenberkeley 的首页又例如,https://github.com/kenberkeley/vue-demo/issues/1 表示 vue-demo 的第一个 issue\n就连微信这种原生 APP,也有使用 URL 表示应用的状态(URL Schemes)例如访问 weixin://dl/moments 就会跳转到朋友圈页面 (不过当前微信已屏蔽掉这类链接的访问)\n\n\nvue-router 提供的 data 函数,极其方便地让我们响应 URL 的变化以进行 xhr 请求当然,如果并非路由页面组件,是不能够享受到 data 函数的便利不过我们仍可以通过 watch 来实现同样的功能:\nwatch: {\n '$route.query' (query, oldQuery) {\n // ...\n }\n}\n\n\n由于我们没有引入 Vuex,因此不能使用 vuex-router-sync 来自动同步路由与组件的状态但稍微封装一下,就可以完全满足我们的需求(详情请见 src/mixins/autoSyncWithQuery.js) \n\n上述 autoSyncWithQuery 的原理相当简单:约定组件 data 属性中后缀带 $ 的字段,使用 $watch 同步其变化到 query string同时,也对 $route.query 设置 $watch,同步其变化到对应的组件本地状态特别注意:由于状态与路由是双向同步的,因此安全性是必须考量的\n更新:已封装出设计更为合理的 vue-sync-query-mixin npm 包,诚邀品鉴!\n\n"},"development/Service-layer.html":{"url":"development/Service-layer.html","title":"引入服务层","keywords":"","body":"§ 引入服务层\n服务层的主要功能是:封装好与后端 API 一一对应的请求类。例如,用户登录的 API 为 /auth/login,那么 src/services/authService.js 这个类中就对应存在一个名为 login 的函数,只需要调用 authService.login({ 帐号, 密码 }) 即可实现请求。\n这样做的好处是:轻量化组件,统一管理 XHR 请求,提高代码复用,方便 mock,避免在组件中分别实现请求而导致管理上的混乱(对日后的重构也不友好)。而且,前端的服务与后端的 API 一一对应,在理解上也会变得更加容易。\n更重要的是,服务层与 Vue 技术栈并没有太大关系(前提是您没有用 vue-resource 这类相对鸡肋的 Ajax 库)。往后改用其他技术栈(React 等)时,服务层可直接复制过去,毋须改动任何代码。\n\nReact Demo 就是直接复制本 demo 的 services/ 目录\n\n\n服务层还有一个妙用:用于缓存相关的数据。例如,我们有一个选择用户的下拉框组件,里面的数据是动态获取的(假设 API 为 GET /authors),若不把这些数据缓存下来,那么每一次渲染该组件,都会发出一次请求。尤其是该组件极其常用的情况下,更会造成很多不必要的资源消耗。\n于是,我们为其新建一个服务,命名为 authorService,里面定义一个 getOptions 方法,在组件初始化的时候,可以这样子操作:\nif (authorService.options) {\n // 存在缓存,则使用缓存\n this.options = authorService.options\n} else {\n // 不存在缓存,则动态获取\n authorService.getOptions().then(options => {\n this.options = authorService.options = options // 设置缓存\n })\n}\n\n由此,就可以实现页面级别的缓存,强制刷新即可获取最新的数据,毋须特意去维护该缓存。\n\n试想,若使用 LocalStorage / SessionStorage 缓存,还要考虑兼容性、数据更新、有效性、安全性等诸多问题\n\n"},"development/Ajax-interface.html":{"url":"development/Ajax-interface.html","title":"Ajax 接口化","keywords":"","body":"§ Ajax 接口化\n[路由页面组件 A [普通组件 B [普通组件 C]] ...]\n ↕ ↕ ↕\n------------------------------------------\n| aService bService cService | 服务层\n------------------------------------------\n ↕ ↕ ↕\n------------------------------------------\n| xhr | Ajax 接口\n------------------------------------------\n ↕\n API 服务器\n/**\n * xhr 接口(详见 src/services/xhr/index.js)\n * @param {String} options.method 请求方法(默认为 get)\n * @param {String} options.url 请求路径(基于 rootPath 地址)\n * @param {Object} options.body 请求体(例如后端 Express 可使用 req.body 获取该对象)\n * @return {Promise}\n */\n\n封装 xhr 接口的好处是显而易见的:\n\n若项目升级需要替换 Ajax 请求库,则仅需要重新实现 xhr 即可,服务层与组件层完全不需要改动\n统一化处理:自定义拦截、API 格式变更、数据格式转换、错误处理、mock 等\n\n"},"development/Configuration.html":{"url":"development/Configuration.html","title":"配置","keywords":"","body":"§ 配置\n本项目整体采用 Webpack 构建,使用 ESLint 对代码进行静态检测,使用 Babel 转译 ES6Gulp 仅用于合并压缩打包静态基页(src/index.html)中 build 标签内全局引入的静态资源 \n⊙ Webpack\n\n本文档不打算照搬 Webpack 官方文档,仅列出较为重要的部分特别提醒:开发过程中,改动 build/ 目录下的配置,都需要重启才能生效(您也可以使用 Nodemon、Supervisor 等工具进行自动监控重启)\n\n1. 框架 / 类库 单独分离打包\n\n见 build/webpack.base.conf.js 中的 entry.vendor\n\n当然,您也可以自行配置 DllPlugin 以实现真正的分离打包\n实际上该步骤可通过读取 package.json 的 dependencies 字段实现自动化,但其灵活度不够高,必要性也不大(例如,我们仅使用了 lodash 的某几个函数,就没必要将整个 lodash 打包进来)\n对此我们还有别的替代方案:split-by-name-webpack-plugin、webpack-split-by-path本项目不引入上述插件主要是考虑到非官方、维护不稳定等因素\n参考 Webpack 2.x 的 Code Splitting,\n已实现 框架 / 类库 自动打包成 vendor.js详见 build/webpack.base.conf.js 中的 CommonsChunkPlugin 配置\n2. 路径别名\n\n源码目录位置可简写为 @,见 build/webpack.base.conf.js 中的 resolve.alias\n\n路径别名的好处是显而易见的\n例如,在某组件中,引入 authService 需要 import authService from '../../../services/authService'但有了路径别名后,只需要 import authService from '@/services/authService'相比于 AngularJS 中的依赖注入,这种方式依赖于构建工具,显得更为简单 \n您可能会说,Webpack 只需要设定了 resolve.root 为 src/就可以直接 import authService from 'services/authService'但在这里其实是会引起歧义的试问:import createBrowserHistory from 'history/lib/createBrowserHistory'您可能会觉得这是 src/history/lib/createBrowserHistory.js但实际上 history 是一个 npm package同样地,您又怎么知道 services 不是一个 npm package?综上,引入路径别名可以满足简约与避免歧义的需求\n3. 环境变量\n\n由 build/webpack.dev.conf.js 中的 DefinePlugin 提供\n\n默认有这些全局变量: process.env.NODE_ENV、__ENV__、__DEV__ 与 __PROD__\n(后三者在 build/config/ENV.js 中定义)若要继续添加,则还需要在 .eslintrc 中 globals 同步写入由此即可根据当前运行环境执行对应的代码:\nif (__DEV__) {\n // 开发环境下执行的代码\n}\nif (__PROD__) {\n // 生产环境下执行的代码\n}\n\n\n在此需要提醒,在 npm scripts 中设置 NODE_ENV 要注意末尾空格的问题使用前最好先 trim 一下:process.env.NODE_ENV.trim()\n拓展阅读:解读 UglifyJS,里面介绍了 UglifyJS 会如何处理这些环境变量\n\n⊙ ESLint\n配置文件见项目根目录下的 .eslintrc,对其的任何修改都是立即生效配置规则请参考 docs·rules(请注意当前版本为 1.x)\n\n温馨提示:build/webpack.base.conf.js 中的 eslint-friendly-formatter,使得点击命令行中的报错后可以直接跳到目标位置\n\n⊙ Babel\n配置文件见项目根目录下的 .babelrc配置详情请自行参考 docs·babelrc\n⊙ Gulp\n\n完全参考知友 @游志军 的回答\n\n"},"development/CORS-and-Proxy.html":{"url":"development/CORS-and-Proxy.html","title":"跨域与代理","keywords":"","body":"§ 跨域与代理\n目前主要是两种方案:直接跨域与代理转发\n⊙ 直接跨域(不推荐)\nxhr 接口 API 服务器\n\n开发过程中,Chrome 可以使用 Allow-Control-Allow-Origin: * 插件解除同源策略的限制\n\n⊙ 代理转发(推荐)\nxhr 接口 API 服务器\n\n实际上 xhr 接口 与 开发服务器 中间还有一层 BrowserSync 代理(用于多端联合同步调试),但与本篇讨论的跨域代理无关\n\n\n相关配置\n\nxhr 接口:见 src/services/xhr/ \n开发服务器代理转发:见 build/dev.js 中使用 http-proxy-middleware 实现\nBrowserSync:见 build/webpack.dev.conf.js 中的 BrowserSyncPlugin 配置\n上述各项服务的端口配置:build/config/PORTS.js\n\n生产环境下的代理\n一般是使用 Nginx 部署 dist/,配置 proxy_pass 到对应的后端服务(详情请自行查阅相关资料)\n"},"development/Best-practice.html":{"url":"development/Best-practice.html","title":"最佳实践","keywords":"","body":"§ 最佳实践\n\n基本的命名规范、代码风格等,请自行查阅相关资料项目使用 ESLint 进行静态检测,配置见 .eslintrc\n\n\n\n通读 Vue.js Guide / API 文档,通读 Vue Router 文档\n\n\n例如,slot 和 inline-template 的编译作用域搞清楚了吗?\n\n\n\n恪守代码、模块分离,DRY 的开发理念\n\n\n本 demo 的编码秉承最佳实践,不妨参阅\n\n\n\n单组件文件代码量若超 200 行,一般都有优化的空间\n\n\n关键是 拆,前提是粒度要合理\n\n\n\n善用 Webpack 的路径别名\n\nimport FooBar from '../../../../components/FooBar' // Bad \nimport FooBar from '@/components/FooBar' // Good\n\n\n\n引入文件时,省略默认解析的文件后缀\n\n\n配置见 build/webpack.base.conf.js 中的 resolve.extensions\n\nimport FooBar from './FooBar.js' // No good enough\nimport FooBar from './FooBar' // Good\n\n\n\n最小化引入类库(除非您使用了 rollup 或 lodash-webpack-plugin 等)\n\nimport _ from 'lodash' // Bad\nimport isEmpty from 'lodash/isEmpty' // Good\n\n\n\n过长的 HTML 代码应当拆写\n\n\n\n\n\n\n\n模板中使用 :[prop] 替代 v-bind:[prop],使用 @[verb] 替代 v-on:[verb]\n\n\nClick me\n\n\nClick me\n\n\n\n一般来说,涉及到权限的必须用 v-if 而非 v-show\n\n\n例如,用户必须登录后才能查看的,请用 v-if\n\n\n\n杜绝片段实例\n\n\n \n \n\n\n\n \n \n \n \n\n\n\n\n尽量避免在模板中设置过多的判断条件,善用计算属性\n\n\n \n Zero\n One\n Two\n \n\n\nexport default {\n data: () => ({ i: 0 })\n}\n\n\n\n \n \n \n\n\nexport default {\n data: () => ({ i: 0 }),\n computed: {\n text () {\n return ['Zero', 'One', 'Two'][this.i]\n }\n }\n}\n\n\n\n\n“物以类聚”,善用目录自包含\n\n\n例如:src/components/Select/ 下存放着全局通用的下拉框组件src/components/Sidebar/ 下存放着侧栏组件主体 index.vue 与其分拆出来的导航链接组件 Link.vue\n\n\n\n请尽量保证数据流的可追踪性。尽量不要使用 $parent,而是通过 props 属性接收父组件的传入\n\n\n\n在 Vue 层面上,提高效能的优化手段有很多,例如 track-by、Object.freeze、keep-alive、canReuse 等\n\n\n更多技巧可参考 Vue 性能优化最佳实践·阿里移动·刘欣然\n\n\n\n(未完待续,欢迎 PR)\n\n"},"Reference.html":{"url":"Reference.html","title":"参考","keywords":"","body":"§ 参考\n\nvuejs-templates/webpack for Vue 1.x\nvuejs-templates/webpack for Vue 2.x\neteplus/vue-sui-demo\nkenberkeley/vue2-scaffold(Vue 2 脚手架)\n\n"}}} \ No newline at end of file diff --git a/dist/docs/zh-cn/development/Ajax-interface.md b/dist/docs/zh-cn/development/Ajax-interface.md deleted file mode 100644 index 6eb2e49..0000000 --- a/dist/docs/zh-cn/development/Ajax-interface.md +++ /dev/null @@ -1,29 +0,0 @@ -# § Ajax 接口化 - -``` -[路由页面组件 A [普通组件 B [普通组件 C]] ...] - ↕ ↕ ↕ ------------------------------------------- -| aService bService cService | 服务层 ------------------------------------------- - ↕ ↕ ↕ ------------------------------------------- -| xhr | Ajax 接口 ------------------------------------------- - ↕ - API 服务器 -``` - -```js -/** - * xhr 接口(详见 src/services/xhr/index.js) - * @param {String} options.method 请求方法(默认为 get) - * @param {String} options.url 请求路径(基于 rootPath 地址) - * @param {Object} options.body 请求体(例如后端 Express 可使用 req.body 获取该对象) - * @return {Promise} - */ -``` - -封装 xhr 接口的好处是显而易见的: -* 若项目升级需要替换 Ajax 请求库,则仅需要重新实现 xhr 即可,服务层与组件层完全不需要改动 -* 统一化处理:自定义拦截、API 格式变更、数据格式转换、错误处理、mock 等 diff --git a/dist/docs/zh-cn/development/Best-practice.md b/dist/docs/zh-cn/development/Best-practice.md deleted file mode 100644 index 12e733b..0000000 --- a/dist/docs/zh-cn/development/Best-practice.md +++ /dev/null @@ -1,159 +0,0 @@ -# § 最佳实践 - -> 基本的命名规范、代码风格等,请自行查阅相关资料 -> 项目使用 [ESLint](http://eslint.org/) 进行静态检测,配置见 `.eslintrc` - -*** - -* 通读 Vue.js [Guide](http://v1.vuejs.org/guide/) / [API](http://v1.vuejs.org/api/) 文档,通读 Vue Router [文档](https://github.com/vuejs/vue-router/tree/1.0/docs/zh-cn) - -> 例如,`slot` 和 `inline-template` 的编译作用域搞清楚了吗? - -*** - -* 恪守代码、模块分离,[DRY](https://en.wikipedia.org/wiki/Don't_repeat_yourself) 的开发理念 - -> 本 demo 的编码秉承最佳实践,不妨参阅 - -*** - -* 单组件文件代码量若超 200 行,一般都有优化的空间 - -> 关键是 **拆**,前提是粒度要合理 - -*** - -* 善用 Webpack 的路径别名 - -```js -import FooBar from '../../../../components/FooBar' // Bad -import FooBar from '@/components/FooBar' // Good -``` - -*** - -* 引入文件时,省略默认解析的文件后缀 - -> 配置见 `build/webpack.base.conf.js` 中的 `resolve.extensions` - -```js -import FooBar from './FooBar.js' // No good enough -import FooBar from './FooBar' // Good -``` - -*** - -* 最小化引入类库(除非您使用了 [rollup](https://github.com/rollup/rollup) 或 [`lodash-webpack-plugin`](https://github.com/lodash/lodash-webpack-plugin) 等) - -```js -import _ from 'lodash' // Bad -import isEmpty from 'lodash/isEmpty' // Good -``` - -*** - -* 过长的 HTML 代码应当拆写 - -```html - - - -``` - -*** - -* 模板中使用 `:[prop]` 替代 `v-bind:[prop]`,使用 `@[verb]` 替代 `v-on:[verb]` - -```html - - - - - -``` - -*** - -* 一般来说,涉及到权限的必须用 `v-if` 而非 `v-show` - -> 例如,用户必须登录后才能查看的,请用 `v-if` - -*** - -* 杜绝[片段实例](http://v1.vuejs.org/guide/components.html#Fragment-Instance) - -```html - - - -``` - -*** - -* 尽量避免在模板中设置过多的判断条件,善用[计算属性](http://v1.vuejs.org/guide/computed.html) - -```html - - - - - -``` - -*** - -* “物以类聚”,善用目录自包含 - -> 例如: -> `src/components/Select/` 下存放着全局通用的下拉框组件 -> `src/components/Sidebar/` 下存放着侧栏组件主体 `index.vue` 与其分拆出来的导航链接组件 `Link.vue` - -*** - -* 请尽量保证数据流的可追踪性。尽量不要使用 `$parent`,而是通过 `props` 属性接收父组件的传入 - -*** - -* 在 Vue 层面上,提高效能的优化手段有很多,例如 [`track-by`](http://v1.vuejs.org/guide/list.html#track-by)、[`Object.freeze`](http://v1.vuejs.org/guide/list.html#Using-Object-freeze)、[`keep-alive`](http://v1.vuejs.org/guide/components.html#keep-alive)、[`canReuse`](https://github.com/vuejs/vue-router/blob/1.0/docs/zh-cn/pipeline/can-reuse.md) 等 - -> 更多技巧可参考 [Vue 性能优化最佳实践·阿里移动·刘欣然](http://pan.baidu.com/s/1o8QZEzg) - -*** - -* *(未完待续,欢迎 PR)* diff --git a/dist/docs/zh-cn/development/CORS-and-Proxy.md b/dist/docs/zh-cn/development/CORS-and-Proxy.md deleted file mode 100644 index f18f11b..0000000 --- a/dist/docs/zh-cn/development/CORS-and-Proxy.md +++ /dev/null @@ -1,28 +0,0 @@ -# § 跨域与代理 - -目前主要是两种方案:直接跨域与代理转发 - -### ⊙ 直接跨域(不推荐) -``` -xhr 接口 <--(直接跨域)--> API 服务器 -``` - -> 开发过程中,Chrome 可以使用 [Allow-Control-Allow-Origin: *](https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi) 插件解除同源策略的限制 - -### ⊙ 代理转发(推荐) -``` -xhr 接口 <--(开发服务器代理转发)--> API 服务器 -``` - -> 实际上 `xhr 接口` 与 `开发服务器` 中间还有一层 [`BrowserSync`](https://browsersync.io/) 代理(用于多端联合同步调试),但与本篇讨论的跨域代理无关 - -*** - -#### 相关配置 -* `xhr 接口`:见 `src/services/xhr/` -* `开发服务器代理转发`:见 `build/dev.js` 中使用 [`http-proxy-middleware`](https://github.com/chimurai/http-proxy-middleware) 实现 -* `BrowserSync`:见 `build/webpack.dev.conf.js` 中的 [`BrowserSyncPlugin`](https://github.com/Va1/browser-sync-webpack-plugin) 配置 -* 上述各项服务的端口配置:`build/config/PORTS.js` - -#### 生产环境下的代理 -一般是使用 Nginx 部署 `dist/`,配置 `proxy_pass` 到对应的后端服务(详情请自行查阅相关资料) diff --git a/dist/docs/zh-cn/development/Configuration.md b/dist/docs/zh-cn/development/Configuration.md deleted file mode 100644 index 895b893..0000000 --- a/dist/docs/zh-cn/development/Configuration.md +++ /dev/null @@ -1,78 +0,0 @@ -# § 配置 - -本项目整体采用 [Webpack](http://webpack.github.io/) 构建,使用 [ESLint](eslint.org) 对代码进行静态检测,使用 [Babel](http://babeljs.io/) 转译 ES6 -[Gulp](gulpjs.com) 仅用于合并压缩打包静态基页(`src/index.html`)中 `build` 标签内全局引入的静态资源 - -### ⊙ Webpack - -> 本文档不打算照搬 [Webpack 官方文档](https://webpack.github.io/docs/),仅列出较为重要的部分 -> 特别提醒:开发过程中,改动 `build/` 目录下的配置,都需要**重启**才能生效 -> (您也可以使用 [Nodemon](https://github.com/remy/nodemon)、[Supervisor](https://github.com/Supervisor/supervisor) 等工具进行自动监控重启) - -#### 1. 框架 / 类库 单独分离打包 -> ~~见 `build/webpack.base.conf.js` 中的 `entry.vendor`~~ - -~~当然,您也可以自行配置 [DllPlugin](http://webpack.github.io/docs/list-of-plugins.html#dllplugin) 以实现**真正的分离**打包~~ - -~~实际上该步骤可通过读取 `package.json` 的 `dependencies` 字段实现自动化,但其灵活度不够高,必要性也不大~~ -~~(例如,我们仅使用了 `lodash` 的某几个函数,就没必要将整个 `lodash` 打包进来)~~ - -~~对此我们还有别的替代方案:[split-by-name-webpack-plugin](https://github.com/soundcloud/split-by-name-webpack-plugin)、[webpack-split-by-path](https://github.com/BohdanTkachenko/webpack-split-by-path)~~ -~~本项目不引入上述插件主要是考虑到非官方、维护不稳定等因素~~ - -参考 Webpack 2.x 的 [Code Splitting](https://webpack.js.org/guides/code-splitting-libraries/), -已实现 框架 / 类库 自动打包成 `vendor.js` -详见 `build/webpack.base.conf.js` 中的 `CommonsChunkPlugin` 配置 - -#### 2. 路径别名 -> 源码目录位置可简写为 `@`,见 `build/webpack.base.conf.js` 中的 `resolve.alias` - -路径别名的好处是显而易见的 - -例如,在某组件中,引入 `authService` 需要 `import authService from '../../../services/authService'` -但有了路径别名后,只需要 `import authService from '@/services/authService'` -相比于 AngularJS 中的依赖注入,这种方式依赖于构建工具,显得更为简单 - -您可能会说,Webpack 只需要设定了 `resolve.root` 为 `src/` -就可以直接 `import authService from 'services/authService'` -但在这里其实是会引起歧义的 -试问:`import createBrowserHistory from 'history/lib/createBrowserHistory'` -您可能会觉得这是 `src/history/lib/createBrowserHistory.js` -但实际上 [`history`](https://github.com/mjackson/history) 是一个 npm package -同样地,您又怎么知道 [`services`](https://www.npmjs.com/package/services) 不是一个 npm package? -综上,引入路径别名可以满足简约与避免歧义的需求 - -#### 3. 环境变量 -> 由 `build/webpack.dev.conf.js` 中的 [DefinePlugin](http://webpack.github.io/docs/list-of-plugins.html#defineplugin) 提供 - -默认有这些全局变量: `process.env.NODE_ENV`、`__ENV__`、`__DEV__` 与 `__PROD__` -(后三者在 `build/config/ENV.js` 中定义) -若要继续添加,则还需要在 `.eslintrc` 中 `globals` 同步写入 -由此即可根据当前运行环境执行对应的代码: -```js -if (__DEV__) { - // 开发环境下执行的代码 -} -if (__PROD__) { - // 生产环境下执行的代码 -} -``` - -> 在此需要提醒,在 `npm scripts` 中设置 `NODE_ENV` 要注意末尾空格的[问题](http://stackoverflow.com/questions/11104028/#38948727) -> 使用前最好先 `trim` 一下:`process.env.NODE_ENV.trim()` -> -> 拓展阅读:[解读 UglifyJS](http://rapheal.sinaapp.com/2014/05/22/uglifyjs-squeeze/),里面介绍了 UglifyJS 会如何处理这些环境变量 - -### ⊙ ESLint -配置文件见项目根目录下的 `.eslintrc`,对其的任何修改都是立即生效 -配置规则请参考 [docs·rules](http://eslint.org/docs/user-guide/migrating-to-1.0.0)(请注意当前版本为 1.x) - -> 温馨提示:`build/webpack.base.conf.js` 中的 [eslint-friendly-formatter](https://github.com/royriojas/eslint-friendly-formatter),使得点击命令行中的报错后可以直接跳到目标位置 - -### ⊙ Babel -配置文件见项目根目录下的 `.babelrc` -配置详情请自行参考 [docs·babelrc](http://babeljs.io/docs/usage/babelrc/) - -### ⊙ Gulp - -> 完全参考知友 @游志军 的[回答](https://www.zhihu.com/question/27548038/answer/37140329) diff --git a/dist/docs/zh-cn/development/README.md b/dist/docs/zh-cn/development/README.md deleted file mode 100644 index 21aa454..0000000 --- a/dist/docs/zh-cn/development/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# § 深入了解 - -乍一看 -本 demo 与 [`vue-cli`](https://github.com/vuejs/vue-cli) 生成的[官方开发模板](https://github.com/vuejs-templates/webpack/tree/1.0)并没有太大差异 - -但实际上 -无论是从目录组织、文档说明 -还是从设计思想、团队协作等层面 -本 demo 都更适合常规单页应用的开发 - -希望往下的内容,可以帮助您深入了解,理清思路 diff --git a/dist/docs/zh-cn/development/Service-layer.md b/dist/docs/zh-cn/development/Service-layer.md deleted file mode 100644 index 54c1b1c..0000000 --- a/dist/docs/zh-cn/development/Service-layer.md +++ /dev/null @@ -1,41 +0,0 @@ -# § 引入服务层 - -服务层的主要功能是:**封装好与后端 API 一一对应的请求类**。 -例如,用户登录的 API 为 `/auth/login`, -那么 `src/services/authService.js` 这个类中就对应存在一个名为 `login` 的函数, -只需要调用 `authService.login({ 帐号, 密码 })` 即可实现请求。 - -这样做的好处是:**轻量化组件,统一管理 XHR 请求,提高代码复用,方便 mock**, -避免在组件中分别实现请求而导致管理上的混乱(对日后的重构也不友好)。 -而且,**前端的服务与后端的 API 一一对应**,在理解上也会变得更加容易。 - -更重要的是,服务层与 Vue 技术栈并没有太大关系(前提是您没有用 [`vue-resource`](https://github.com/pagekit/vue-resource) 这类相对鸡肋的 Ajax 库)。 -往后改用其他技术栈(React 等)时,服务层可直接复制过去,毋须改动任何代码。 - -> [React Demo](https://github.com/kenberkeley/react-demo) 就是直接复制本 demo 的 `services/` 目录 - -*** - -服务层还有一个妙用:**用于缓存相关的数据**。 -例如,我们有一个选择用户的下拉框组件,里面的数据是动态获取的(假设 API 为 `GET /authors`), -若不把这些数据缓存下来,那么每一次渲染该组件,都会发出一次请求。 -尤其是该组件极其常用的情况下,更会造成很多不必要的资源消耗。 - -于是,我们为其新建一个服务,命名为 `authorService`,里面定义一个 `getOptions` 方法, -在组件初始化的时候,可以这样子操作: - -```js -if (authorService.options) { - // 存在缓存,则使用缓存 - this.options = authorService.options -} else { - // 不存在缓存,则动态获取 - authorService.getOptions().then(options => { - this.options = authorService.options = options // 设置缓存 - }) -} -``` - -由此,就可以实现**页面级别**的缓存,强制刷新即可获取最新的数据,毋须特意去维护该缓存。 - -> 试想,若使用 LocalStorage / SessionStorage 缓存,还要考虑兼容性、数据更新、有效性、安全性等诸多问题 diff --git a/dist/docs/zh-cn/development/State-management.md b/dist/docs/zh-cn/development/State-management.md deleted file mode 100644 index 35c72c9..0000000 --- a/dist/docs/zh-cn/development/State-management.md +++ /dev/null @@ -1,40 +0,0 @@ -# § 谈状态管理 - -Vue 参照 [Flux](https://github.com/facebook/flux) / [Redux](https://github.com/reactjs/redux),实现出 [Vuex](https://github.com/vuejs/vuex),专注于**应用层级**的状态管理。 -我们并没有引入 Vuex ,主要是基于以下考量: - -如果您看过最简单的例子 [Example·Counter](https://github.com/vuejs/vuex/tree/dev/examples/counter),您应该会觉得 Vuex 把简单问题复杂化了(的确如此)。为了实现全局状态管理,把原本简单纯粹的双向绑定以及操作方法都剥离开来,抽象成 Vuex 的 `state / mutation / action`。对于绝大部分中小型项目而言,这显然是过度设计,牛刀杀鸡。 - -对于这个问题,作者尤雨溪有如下评述: ->    当你的应用还很简单的时候,你多半并不需要 Vuex。也不建议过早地使用 Vuex。但如果你正在构建一个中型以上规模的 SPA,你很有可能已经需要思考应该如何更好地归纳 Vue 之外,应用的其他组成部分。这就是 Vuex 要大显身手的时刻。 -   我们在单独使用 Vue.js 的时候,通常会把状态储存在组件的内部。也就是说,每一个组件都拥有当前应用状态的一部分,整个应用的状态是分散在各个角落的。然而我们经常会需要把状态的一部分共享给多个组件。一个常见的解决策略为:使用定制的事件系统,让一个组件把一些状态“发送”到其他组件中。这种模式的问题在于,大型组件树中的事件流会很快变得非常繁杂,并且调试时很难去找出究竟哪错了。 -   为了更好的解决在大型应用中状态的共用问题,我们需要对组件的 组件本地状态(component local state)和 应用层级状态(application level state)进行区分。应用级的状态不属于任何特定的组件,但每一个组件仍然可以监视(Observe)其变化从而响应式地更新 DOM。通过汇总应用的状态管理于一处,我们就不必到处传递事件。因为任何牵扯到一个以上组件的逻辑,都应该写在这里。此外,这样做也能让我们更容易地记录并观察状态的变更(Mutation,原意为突变),甚至可以实现出华丽如时光旅行一般的调试效果。 - -React 作为一个 View 层,不具备数据的双向绑定能力,其数据流是单向的。既然是**单向数据流**,那么将整个应用状态汇于一处集中管理(这就是传统意义上的 Model 层,只是改名为 Store 层罢了),抽离出操作方法等(Controller 层,在此为 Action 与 Reducer 层),也是自然而然的。这是基于大型项目协作开发中,前人踩坑后的最佳经验总结,同时也是当前前端 MVC 的最佳实践。 - -但 Vue 乃轻量级的 MVVM 框架,若完全照搬相对抽象的 Flux / Redux 架构,未免有点舍本逐末了。私认为,对于一个使用 MVVM 模式构建的单页应用而言,需要置于 Store 层的,仅限于**全局通用**且**状态持久**的数据(例如用户认证信息)。若把所有应用数据(尤指一些实时性较高的数据以及非共享的数据)都糅合在一处,那就像是把所有变量都挂载到全局。 - -> 「**Local state is fine**」,见 Redux 作者 Dan Abramov 的 [You Might Not Need Redux](https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367) - -结合尤大的说法,Vue 状态管理的最佳实践应为:**组件自包含状态数据(组件本地状态),全局持久性通用数据(应用层级状态)集中管理**。 - -*** - -可是,**全局通用**且**状态持久**的数据占极少数,若为此而引入 Vuex,实在是太不值得了。 -这个时候,就需要借鉴 AngularJS 的一些经验实践来实现 Vuex 的状态存储功能: - -在 Angular 1.x 中,组件状态一般是挂载到 `$scope` 上,对应着 Vue 组件内部的 `$data`。 -若是全局通用(包括模板中)需要用到的状态数据,就挂载到 `$rootScope` 上,对应着 Vue 根组件的 `$data`。 -由此,在 Vue 组件中,直接使用 **`this.$root`** 即可访问全局状态。 - -*** - -结合实际情况,我们需要的可能不是炫酷的“时光旅行”,皆因 [Devtools](https://github.com/vuejs/vue-devtools) 与代码热更替已经带给我们足够好的开发体验。结构约定俗成,条理清晰;代码风格统一,高内聚低耦合;容易上手、接手与维护······ 最理想的状态也莫过于此。引入 Vuex,虽可使数据流动明确,但破坏了组件的直观性,尤其是团队水平参差不齐的情况下,全局的状态管理很容易成为项目开发与维护的负担。就像 Vuex [文档](http://vuex.vuejs.org/zh-cn/intro.html)中提到的: - -> 虽然 Vuex 可以帮助我们管理共享状态,但也附带了更多的概念和框架。这需要对短期和长期效益进行权衡。 -> -> 如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。一个简单的 [global event bus](http://vuejs.org/guide/components.html#Non-Parent-Child-Communication) 就足够您所需了。但是,如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。引用 Redux 的作者 Dan Abramov 的话说就是: -> -> Flux 架构就像眼镜:您自会知道什么时候需要它。 - -在此安利一波我写的 [Redux 教程](https://github.com/kenberkeley/redux-simple-tutorial),可以让您快速理解 Flux 架构究竟好在哪。 diff --git a/dist/docs/zh-cn/development/URL-is-soul-of-SPA.md b/dist/docs/zh-cn/development/URL-is-soul-of-SPA.md deleted file mode 100644 index e87cbd0..0000000 --- a/dist/docs/zh-cn/development/URL-is-soul-of-SPA.md +++ /dev/null @@ -1,60 +0,0 @@ -# § URL 是单页应用的精华 - -在上篇[**谈状态管理**](./State-management.md)中,我们总结了没有引入 Vuex 的原因 -其实还有一个很重要的原因:我们使用了 `vue-router`,可以完全掌控 URL 以表示应用的状态 - -例如,我们在 Google 输入框输入 `vue`,敲下回车,就跳转到了搜索结果的页面,此时 URL 是: -`https://www.google.com/?gws_rd=cr,ssl#newwindow=1&safe=strict&q=vue` -关键点是:`{ q: 'vue' }` - -点击下一页(第 2 页): -`https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=10` -关键点是:`{ q: 'vue', start: 10 }` - -再点击下一页(第 3 页): -`https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=20` -关键点是:`{ q: 'vue', start: 20 }` - -既然我们发现了这种规律,那么使用空白标签页直接访问: -`https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=30` -显然就是第 4 页的搜索结果。而且毫无疑问地,搜索框会从 URL 中提取对应的关键字进行**同步** - -综上:URL 可以表现应用的状态,而且在一定程度上,URL 就是应用状态的**最佳表现形式** - -*** - -### 单页应用的精华在于: -拥有无缝切换体验的同时,保证 URL 与页面状态的同步性,满足保存书签、强制刷新、前进回退等基本需求 -(至于同步的粒度需要细致到什么程度,就需要根据实际情况自行斟酌了) - -> 例如,https://github.com/kenberkeley 表示 kenberkeley 的首页 -> 又例如,https://github.com/kenberkeley/vue-demo/issues/1 表示 vue-demo 的第一个 issue -> -> 就连微信这种原生 APP,也有使用 URL 表示应用的状态(URL Schemes) -> 例如访问 `weixin://dl/moments` 就会跳转到朋友圈页面 (不过当前微信已屏蔽掉这类链接的访问) - -*** - -`vue-router` 提供的 [`data`](https://github.com/vuejs/vue-router/blob/1.0/docs/zh-cn/pipeline/data.md) 函数,极其方便地让我们响应 URL 的变化以进行 xhr 请求 -当然,如果并非路由页面组件,是不能够享受到 `data` 函数的便利 -不过我们仍可以通过 [`watch`](http://v1.vuejs.org/api/#watch) 来实现同样的功能: - -```js -watch: { - '$route.query' (query, oldQuery) { - // ... - } -} -``` - -*** - -由于我们没有引入 Vuex,因此不能使用 [vuex-router-sync](https://github.com/vuejs/vuex-router-sync) 来自动同步路由与组件的状态 -但稍微封装一下,就可以完全满足我们的需求(详情请见 `src/mixins/autoSyncWithQuery.js`) - -> 上述 `autoSyncWithQuery` 的原理相当简单: -> **约定**组件 `data` 属性中后缀带 `$` 的字段,使用 `$watch` 同步其变化到 query string -> 同时,也对 `$route.query` 设置 `$watch`,同步其变化到对应的组件本地状态 -> 特别注意:由于状态与路由是双向同步的,因此**安全性**是必须考量的 - -> **更新:**已封装出设计更为合理的 [`vue-sync-query-mixin`](https://github.com/kenberkeley/vue-sync-query-mixin) npm 包,诚邀品鉴! diff --git a/dist/docs/zh-cn/search_index.json b/dist/docs/zh-cn/search_index.json deleted file mode 100644 index 868bfaa..0000000 --- a/dist/docs/zh-cn/search_index.json +++ /dev/null @@ -1 +0,0 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["ajax","url","§","参考","开始","引入服务层","总览","技术栈","接口化","是单页应用的精华","最佳实践","深入了解","版本迭代(releases)","目录结构","谈状态管理","跨域与代理","配置","问题反馈(issues)"],"Getting-started.html":["#","$","({","/","1.x","3.x","6.x","=","=>","api","babel","bar","build","cd","clone","cnpm","const","demo","demo.git","dist/","doc","es5:","es6。例如,请把如下代码转译成","foo","g","git","guid","hello:","https://github.com/kenberkeley/vu","https://registry.npm.taobao.org","instal","localhost:8080若浏览器没有自动弹出,则请自行手动访问","node","npm","registri","registry=https://registry.npm.taobao.org","repl","router","run","sass","set","start","vue","vue.j","world:","{","}","})","§","≥","⊙","全局安装","同时,您还需要熟悉","命令","在开始前,希望您已通读如下资料:","安装","安装依赖","开发","开始","强烈建议升级到","换源并不能解决","替代","环境强烈推荐往后使用","生产","的二进制源码包下载极慢的问题","目录","答案请在","编译完成后,将在项目根目录生成","编译完成后,默认浏览器就会自动打开","自行验证","运行","预备知识"],"Features.html":["(ui)","+","0.7.x","1.x","1.x(辅以","3.x","4.x","4.x(提供开发热更替与静态资源服务器)","babel","bootstrap","browsersync(多端调试)","build/prod.j","cli","depend","docs/","es6","eslint","express","gitbook","gulp)","jqueri","lodash","lowdb","mock","mock/","npm","package.json","prebuild","router","scripts:","server","src/services/xhr/index.j","tini","uuid","vue","webpack","§","上述四个依赖","与","中的","中的:","仅为文档撰写所需您往后的开发中,可以删掉:","仅为留言板","代码","技术栈","服务器所需。同样地,devdepend","注意:","的","目录","相关代码","移动文档"],"Structure.html":["#","$route.params.msgid",".",".babelrc",".eslintignor",".eslintrc",".gitignor","/auth/login)","/msg/add(新增留言)","/msg/detail/:msgid(查看留言)","/msg/list(留言板列表)","/msg/list)","/msg/update/:msgid(修改留言)","/msg(留言板首页,alia","/src/views/auth/login.vu","=>","_components/","_components/、_mixins/)","_mixins/","add.vu","app.j","app.vu","assets/","auth/","authorselect.vu","autoloadbyparams.j","babel","breadcrumb.vu","build","build/","components/","demo","detail.vu","dist/","docs/(文档)与","eslint","filters/","git","index.html","index.vu","limitselect.vu","link.vu","list.vu","login.vu","logout.vu","mixin","mixins/","mock/(mock","msg/","msg/)内部可分离出通用部分(如","msgform.vu","navbar.vu","optbtngroup.vu","package.json","pagination.vu","routes/","select/","select2","select2.vu","services/","sidebar/","src/","src/components/","src/components/、src/mixins/","src/views/","static/","update.vu","utils/","views/","webpack","xhr","§","“每页显示多少条记录”","│","└──","├──","一般不会涉及到具体的业务逻辑","上述目录结构中,需要注意的是","下拉框选择框组件","下拉选择框","与","中的这两个目录以树状形式展开:","主要是业务性的页面组件,基本不具备通用性","主要是全局性的,或通用性很强的组件,具备良好的封装性","侧边栏","侧边栏组件","分页","各功能模块(如","启动文件","基本与路由一一对应(例如","处理的静态文件","对","对应","对应着路由","导航链接封装","就在根目录下新增了","工具类","忽略的文件(夹)","您可以根据业务需求改动目录结构譬如本","放置无需经由","放置需要经由","服务器)","服务(统一管理","根据","根据注释,我们大概知道了二者的差别:","根组件","检查中需忽略的文件(夹)","注销登录页","源码目录(开发都在这里进行)","生成的生产环境下的项目","用户认证模块","留言发布者选择下拉框","留言操作按钮组","留言板模块","留言板模块共用","留言板模块共用组件","留言表单","登录页","的区别不妨把本","的封装","目录结构","等","组件","自动加载","若多个功能模块通用的,则建议移到全局,即","请求)","路由","路由页面组件","转码配置","过滤器","配置","配置目录","静态基页","面包屑","顶部导航栏","首页","(这个就不用多解释了吧)","(配置)eslint","(配置)需被"],"development/":["cli","demo","vue","§","与","乍一看本","但实际上无论是从目录组织、文档说明还是从设计思想、团队协作等层面本","希望往下的内容,可以帮助您深入了解,理清思路","深入了解","生成的官方开发模板并没有太大差异","都更适合常规单页应用的开发"],"development/State-management.html":["$data。由此,在","$data。若是全局通用(包括模板中)需要用到的状态数据,就挂载到","$rootscop","$scope","/","1.x","abramov","action","action。对于绝大部分中小型项目而言,这显然是过度设计,牛刀杀鸡。","angular","angularj","bu","dan","devtool","dom。通过汇总应用的状态管理于一处,我们就不必到处传递事件。因为任何牵扯到一个以上组件的逻辑,都应该写在这里。此外,这样做也能让我们更容易地记录并观察状态的变更(mutation,原意为突变),甚至可以实现出华丽如时光旅行一般的调试效果。","event","example·counter,您应该会觉得","fine」,见","flux","global","level","local","model","mutat","mvc","mvvm","need","react","reduc","redux","redux,实现出","spa,你很有可能已经需要思考应该如何更好地归纳","state","state)和","state)进行区分。应用级的状态不属于任何特定的组件,但每一个组件仍然可以监视(observe)其变化从而响应式地更新","store","this.$root","view","vue","vue.j","vuex","vuex。一个简单的","vuex。也不建议过早地使用","vuex。但如果你正在构建一个中型以上规模的","vuex,专注于应用层级的状态管理。","vuex,实在是太不值得了。这个时候,就需要借鉴","vuex,虽可使数据流动明确,但破坏了组件的直观性,尤其是团队水平参差不齐的情况下,全局的状态管理很容易成为项目开发与维护的负担。就像","§","「local","上,对应着","与","与代码热更替已经带给我们足够好的开发体验。结构约定俗成,条理清晰;代码风格统一,高内聚低耦合;容易上手、接手与维护······","中,组件状态一般是挂载到","为了更好的解决在大型应用中状态的共用问题,我们需要对组件的","乃轻量级的","之外,应用的其他组成部分。这就是","但","作为一个","作者","即可访问全局状态。","参照","可以帮助我们管理共享状态,但也附带了更多的概念和框架。这需要对短期和长期效益进行权衡。","可是,全局通用且状态持久的数据占极少数,若为此而引入","可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用","在","在此安利一波我写的","如果您不打算开发大型单页应用,使用","如果您看过最简单的例子","对于这个问题,作者尤雨溪有如下评述:","将会成为自然而然的选择。引用","就足够您所需了。但是,如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,vuex","层的,仅限于全局通用且状态持久的数据(例如用户认证信息)。若把所有应用数据(尤指一些实时性较高的数据以及非共享的数据)都糅合在一处,那就像是把所有变量都挂载到全局。","层罢了),抽离出操作方法等(control","层),也是自然而然的。这是基于大型项目协作开发中,前人踩坑后的最佳经验总结,同时也是当前前端","层,不具备数据的双向绑定能力,其数据流是单向的。既然是单向数据流,那么将整个应用状态汇于一处集中管理(这就是传统意义上的","层,只是改名为","层,在此为","应用层级状态(applic","当你的应用还很简单的时候,你多半并不需要","我们在单独使用","我们并没有引入","把简单问题复杂化了(的确如此)。为了实现全局状态管理,把原本简单纯粹的双向绑定以及操作方法都剥离开来,抽象成","教程,可以让您快速理解","文档中提到的:","最理想的状态也莫过于此。引入","架构就像眼镜:您自会知道什么时候需要它。","架构究竟好在哪。","架构,未免有点舍本逐末了。私认为,对于一个使用","根组件的","框架,若完全照搬相对抽象的","模式构建的单页应用而言,需要置于","状态管理的最佳实践应为:组件自包含状态数据(组件本地状态),全局持久性通用数据(应用层级状态)集中管理。","的","的一些经验实践来实现","的作者","的时候,通常会把状态储存在组件的内部。也就是说,每一个组件都拥有当前应用状态的一部分,整个应用的状态是分散在各个角落的。然而我们经常会需要把状态的一部分共享给多个组件。一个常见的解决策略为:使用定制的事件系统,让一个组件把一些状态“发送”到其他组件中。这种模式的问题在于,大型组件树中的事件流会很快变得非常繁杂,并且调试时很难去找出究竟哪错了。","的最佳实践。","的状态存储功能:","的话说就是:","组件中,直接使用","组件内部的","组件本地状态(compon","结合实际情况,我们需要的可能不是炫酷的“时光旅行”,皆因","结合尤大的说法,vue","虽然","要大显身手的时刻。","谈状态管理",",主要是基于以下考量:"],"development/URL-is-soul-of-SPA.html":["$","$route.queri","$watch","$watch,同步其变化到对应的组件本地状态特别注意:由于状态与路由是双向同步的,因此安全性是必须考量的","'$route.query'","'vue'","'vue',","(query,","(不过当前微信已屏蔽掉这类链接的访问)","...","//","10","2","20","3","4","app,也有使用","autosyncwithqueri","data","demo","demo/issues/1","googl","issu","kenberkeley","mixin","npm","oldquery)","q:","queri","router","router,可以完全掌控","schemes)例如访问","src/mixins/autosyncwithquery.js)","start:","string同时,也对","sync","url","vue","vuex","vuex,因此不能使用","vue,敲下回车,就跳转到了搜索结果的页面,此时","watch","watch:","weixin://dl/mo","xhr","{","}","§","上述","与页面状态的同步性,满足保存书签、强制刷新、前进回退等基本需求(至于同步的粒度需要细致到什么程度,就需要根据实际情况自行斟酌了)","中提取对应的关键字进行同步","以表示应用的状态","例如,https://github.com/kenberkeley","例如,我们在","再点击下一页(第","函数的便利不过我们仍可以通过","函数,极其方便地让我们响应","包,诚邀品鉴!","单页应用的精华在于:","可以表现应用的状态,而且在一定程度上,url","同步其变化到","在上篇谈状态管理中,我们总结了没有引入","就会跳转到朋友圈页面","就是应用状态的最佳表现形式","就连微信这种原生","属性中后缀带","拥有无缝切换体验的同时,保证","提供的","既然我们发现了这种规律,那么使用空白标签页直接访问:https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=30显然就是第","是单页应用的精华","是:https://www.google.com/?gws_rd=cr,ssl#newwindow=1&safe=strict&q=vue关键点是:{","更新:已封装出设计更为合理的","来实现同样的功能:","来自动同步路由与组件的状态但稍微封装一下,就可以完全满足我们的需求(详情请见","点击下一页(第","由于我们没有引入","的原因其实还有一个很重要的原因:我们使用了","的原理相当简单:约定组件","的变化以进行","的字段,使用","的第一个","的首页又例如,https://github.com/kenberkeley/vu","综上:url","表示","表示应用的状态(url","设置","请求当然,如果并非路由页面组件,是不能够享受到","输入框输入","页的搜索结果。而且毫无疑问地,搜索框会从","页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=10关键点是:{","页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=20关键点是:{"],"development/Service-layer.html":["(authorservice.options)","/","//","/auth/login,那么","/authors),若不把这些数据缓存下来,那么每一次渲染该组件,都会发出一次请求。尤其是该组件极其常用的情况下,更会造成很多不必要的资源消耗。","=","=>","ajax","api","authorservice.getoptions().then(opt","authorservice.opt","authorservice,里面定义一个","authservice.login({","demo","getopt","localstorag","login","mock,避免在组件中分别实现请求而导致管理上的混乱(对日后的重构也不友好)。而且,前端的服务与后端的","option","react","resourc","services/","sessionstorag","src/services/authservice.j","this.opt","vue","xhr","{","}","})","§","一一对应的请求类。例如,用户登录的","一一对应,在理解上也会变得更加容易。","不存在缓存,则动态获取","为","于是,我们为其新建一个服务,命名为","即可实现请求。","存在缓存,则使用缓存","密码","就是直接复制本","帐号,","库)。往后改用其他技术栈(react","引入服务层","技术栈并没有太大关系(前提是您没有用","方法,在组件初始化的时候,可以这样子操作:","更重要的是,服务层与","服务层的主要功能是:封装好与后端","服务层还有一个妙用:用于缓存相关的数据。例如,我们有一个选择用户的下拉框组件,里面的数据是动态获取的(假设","由此,就可以实现页面级别的缓存,强制刷新即可获取最新的数据,毋须特意去维护该缓存。","的","的函数,只需要调用","目录","等)时,服务层可直接复制过去,毋须改动任何代码。","缓存,还要考虑兼容性、数据更新、有效性、安全性等诸多问题","设置缓存","试想,若使用","请求,提高代码复用,方便","这个类中就对应存在一个名为","这样做的好处是:轻量化组件,统一管理","这类相对鸡肋的"],"development/Ajax-interface.html":["*","*/","...]","/**","@param","@return","[普通组件","[路由页面组件","ajax","api","aservic","b","bservic","c]]","cservic","express","get)","options.bodi","options.method","options.url","req.bodi","rootpath","src/services/xhr/index.js)","xhr","{object}","{promise}","{string}","|","§","↕","即可,服务层与组件层完全不需要改动","可使用","地址)","封装","接口","接口化","接口的好处是显而易见的:","接口(详见","服务器","服务层","格式变更、数据格式转换、错误处理、mock","等","统一化处理:自定义拦截、api","若项目升级需要替换","获取该对象)","请求体(例如后端","请求库,则仅需要重新实现","请求方法(默认为","请求路径(基于"],"development/Configuration.html":["'../../../services/authservice'但有了路径别名后,只需要","'@/services/authservice'相比于","'history/lib/createbrowserhistory'您可能会觉得这是","'services/authservice'但在这里其实是会引起歧义的试问:import","(__dev__)","(__prod__)",".babelrc配置详情请自行参考",".eslintrc",".eslintrc,对其的任何修改都是立即生效配置规则请参考","/","//","1.","1.x)","2.","2.x","3.","@游志军","@,见","__prod__","angularj","authservic","babel","build","build/","build/config/env.j","build/webpack.base.conf.j","build/webpack.dev.conf.j","code","commonschunkplugin","createbrowserhistori","defineplugin","depend","dllplugin","docs·babelrc","docs·rules(请注意当前版本为","entry.vendor","es6gulp","eslint","formatter,使得点击命令行中的报错后可以直接跳到目标位置","friendli","global","gulp","histori","import","lodash","name","node_env","nodemon、supervisor","npm","package.json","package同样地,您又怎么知道","package?综上,引入路径别名可以满足简约与避免歧义的需求","path本项目不引入上述插件主要是考虑到非官方、维护不稳定等因素","plugin、webpack","process.env.node_env、__env__、__dev__","resolve.alia","resolve.root","script","servic","split","splitting,","src/history/lib/createbrowserhistory.js但实际上","src/就可以直接","trim","uglifyj","uglifyjs,里面介绍了","vendor.js详见","webpack","{","}","§","⊙","一下:process.env.node_env.trim()","不是一个","与","中","中定义)若要继续添加,则还需要在","中的","中的依赖注入,这种方式依赖于构建工具,显得更为简单","中设置","为","仅用于合并压缩打包静态基页(src/index.html)中","以实现真正的分离打包","会如何处理这些环境变量","例如,在某组件中,引入","单独分离打包","参考","只需要设定了","同步写入由此即可根据当前运行环境执行对应的代码:","在此需要提醒,在","字段实现自动化,但其灵活度不够高,必要性也不大(例如,我们仅使用了","完全参考知友","官方文档,仅列出较为重要的部分特别提醒:开发过程中,改动","实际上该步骤可通过读取","对代码进行静态检测,使用","对此我们还有别的替代方案:split","已实现","开发环境下执行的代码","当然,您也可以自行配置","您可能会说,webpack","打包进来)","拓展阅读:解读","提供","是一个","本文档不打算照搬","本项目整体采用","构建,使用","标签内全局引入的静态资源","框架","温馨提示:build/webpack.base.conf.j","源码目录位置可简写为","环境变量","生产环境下执行的代码","由","的","的回答","的某几个函数,就没必要将整个","目录下的配置,都需要重启才能生效(您也可以使用","等工具进行自动监控重启)","类库","自动打包成","要注意末尾空格的问题使用前最好先","见","路径别名","路径别名的好处是显而易见的","转译","配置","配置文件见项目根目录下的","需要","默认有这些全局变量:","(后三者在"],"development/CORS-and-Proxy.html":["*","allow","api","browsersync","browsersyncplugin","browsersync:见","build/dev.j","build/webpack.dev.conf.j","control","dist/,配置","http","middlewar","nginx","origin:","proxi","proxy_pass","src/services/xhr/","xhr","§","⊙","一般是使用","上述各项服务的端口配置:build/config/ports.j","与","中使用","中的","中间还有一层","代理转发(推荐)","代理(用于多端联合同步调试),但与本篇讨论的跨域代理无关","到对应的后端服务(详情请自行查阅相关资料)","可以使用","实现","实际上","开发服务器","开发服务器代理转发:见","开发过程中,chrome","接口","接口:见","插件解除同源策略的限制","服务器","生产环境下的代理","目前主要是两种方案:直接跨域与代理转发","直接跨域(不推荐)","相关配置","跨域与代理","部署","配置"],"development/Best-practice.html":["$parent,而是通过","'../../../../components/foobar'","'./foobar'","'./foobar.js'","'@/components/foobar'","'lodash'","'lodash/isempty'","'one',","'two'][this.i]","()","({",".eslintrc","/","//","0","200",":[prop]","=>","@[verb]","['zero',","_","alive、canreus","api","bad","bind:[prop],使用","build/webpack.base.conf.j","by、object.freeze、keep","click","computed:","data:","default","demo","enough","eslint","export","foobar","good","guid","html","i:","import","index.vu","inlin","isempti","link.vu","lodash","on","on:[verb]","plugin","prop","pr)","resolve.extens","return","rollup","router","show","templat","text","track","two","v","vue","vue.j","webpack","zero","{","}","})","}),","§","“物以类聚”,善用目录自包含","一般来说,涉及到权限的必须用","下存放着侧栏组件主体","下存放着全局通用的下拉框组件src/components/sidebar/","与其分拆出来的导航链接组件","中的","代码应当拆写","例如,slot","例如,用户必须登录后才能查看的,请用","例如:src/components/select/","关键是","单组件文件代码量若超","和","善用","在","基本的命名规范、代码风格等,请自行查阅相关资料项目使用","尽量避免在模板中设置过多的判断条件,善用计算属性","层面上,提高效能的优化手段有很多,例如","属性接收父组件的传入","引入文件时,省略默认解析的文件后缀","性能优化最佳实践·阿里移动·刘欣然","恪守代码、模块分离,dri","或","拆,前提是粒度要合理","文档","文档,通读","更多技巧可参考","替代","最佳实践","最小化引入类库(除非您使用了","本","杜绝片段实例","模板中使用","的开发理念","的编码秉承最佳实践,不妨参阅","的编译作用域搞清楚了吗?","的路径别名","等","等)","而非","行,一般都有优化的空间","请尽量保证数据流的可追踪性。尽量不要使用","过长的","进行静态检测,配置见","通读","配置见","(未完待续,欢迎"],"Reference.html":["1.x","2","2.x","demo","eteplus/vu","kenberkeley/vue2","scaffold(vu","sui","templates/webpack","vue","vuej","§","参考","脚手架)"]},"length":13},"tokenStore":{"root":{"0":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}},".":{"7":{"docs":{},".":{"docs":{},"x":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"docs":{}}},"1":{"0":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}},"docs":{},".":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"x":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.030927835051546393},"Features.html":{"ref":"Features.html","tf":0.03278688524590164},"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}},"(":{"docs":{},"辅":{"docs":{},"以":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"2":{"0":{"0":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}},"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}},".":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"x":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}},"3":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},".":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"x":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"4":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},".":{"docs":{},"x":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"(":{"docs":{},"提":{"docs":{},"供":{"docs":{},"开":{"docs":{},"发":{"docs":{},"热":{"docs":{},"更":{"docs":{},"替":{"docs":{},"与":{"docs":{},"静":{"docs":{},"态":{"docs":{},"资":{"docs":{},"源":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},")":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}}}}}}}}}}}}}}}},"6":{"docs":{},".":{"docs":{},"x":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"docs":{},"a":{"docs":{},"j":{"docs":{},"a":{"docs":{},"x":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":5.042253521126761}}}}},"p":{"docs":{},"i":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.05263157894736842},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.03636363636363636},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"p":{"docs":{},".":{"docs":{},"j":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},",":{"docs":{},"也":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"d":{"docs":{},"d":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421}}}}}},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"定":{"docs":{},"义":{"docs":{},"一":{"docs":{},"个":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.024390243902439025}},"e":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"{":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"。":{"docs":{},"对":{"docs":{},"于":{"docs":{},"绝":{"docs":{},"大":{"docs":{},"部":{"docs":{},"分":{"docs":{},"中":{"docs":{},"小":{"docs":{},"型":{"docs":{},"项":{"docs":{},"目":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"这":{"docs":{},"显":{"docs":{},"然":{"docs":{},"是":{"docs":{},"过":{"docs":{},"度":{"docs":{},"设":{"docs":{},"计":{"docs":{},",":{"docs":{},"牛":{"docs":{},"刀":{"docs":{},"杀":{"docs":{},"鸡":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"j":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.03636363636363636}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"、":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"u":{"docs":{},"s":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":5.060344827586207}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"s":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"介":{"docs":{},"绍":{"docs":{},"了":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}},"§":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/":{"ref":"development/","tf":0.08333333333333333},"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}},"参":{"docs":{},"考":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"Reference.html":{"ref":"Reference.html","tf":10.058823529411764}}},"照":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Getting-started.html":{"ref":"Getting-started.html","tf":10.010309278350515}}},"发":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"代":{"docs":{},"理":{"docs":{},"转":{"docs":{},"发":{"docs":{},":":{"docs":{},"见":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}},"引":{"docs":{},"入":{"docs":{},"服":{"docs":{},"务":{"docs":{},"层":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":10.013157894736842}}}}},"文":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"省":{"docs":{},"略":{"docs":{},"默":{"docs":{},"认":{"docs":{},"解":{"docs":{},"析":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"后":{"docs":{},"缀":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"览":{"docs":{"./":{"ref":"./","tf":10.105263157894736}}}},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Features.html":{"ref":"Features.html","tf":10.01639344262295}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"太":{"docs":{},"大":{"docs":{},"关":{"docs":{},"系":{"docs":{},"(":{"docs":{},"前":{"docs":{},"提":{"docs":{},"是":{"docs":{},"您":{"docs":{},"没":{"docs":{},"有":{"docs":{},"用":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.05454545454545454}},"化":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":5.014084507042254}}},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},"显":{"docs":{},"而":{"docs":{},"易":{"docs":{},"见":{"docs":{},"的":{"docs":{},":":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}},"(":{"docs":{},"详":{"docs":{},"见":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}},":":{"docs":{},"见":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}},"是":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"精":{"docs":{},"华":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":5.008620689655173}}}}}}}}},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"?":{"docs":{},"g":{"docs":{},"w":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"c":{"docs":{},"r":{"docs":{},",":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"#":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"=":{"1":{"docs":{},"&":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"=":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"&":{"docs":{},"q":{"docs":{},"=":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"关":{"docs":{},"键":{"docs":{},"点":{"docs":{},"是":{"docs":{},":":{"docs":{},"{":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":10.00632911392405}}}}},"理":{"docs":{},"想":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"也":{"docs":{},"莫":{"docs":{},"过":{"docs":{},"于":{"docs":{},"此":{"docs":{},"。":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"小":{"docs":{},"化":{"docs":{},"引":{"docs":{},"入":{"docs":{},"类":{"docs":{},"库":{"docs":{},"(":{"docs":{},"除":{"docs":{},"非":{"docs":{},"您":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/":{"ref":"development/","tf":10.083333333333334}}}}}},"版":{"docs":{},"本":{"docs":{},"迭":{"docs":{},"代":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.05263157894736842}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}},"结":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Structure.html":{"ref":"Structure.html","tf":10.003861003861005}}}},"下":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"启":{"docs":{},"才":{"docs":{},"能":{"docs":{},"生":{"docs":{},"效":{"docs":{},"(":{"docs":{},"您":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"两":{"docs":{},"种":{"docs":{},"方":{"docs":{},"案":{"docs":{},":":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跨":{"docs":{},"域":{"docs":{},"与":{"docs":{},"代":{"docs":{},"理":{"docs":{},"转":{"docs":{},"发":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}},"谈":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/State-management.html":{"ref":"development/State-management.html","tf":10.007299270072993}}}}}}},"跨":{"docs":{},"域":{"docs":{},"与":{"docs":{},"代":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":10.018181818181818}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.05263157894736842},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":10.012195121951219},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"目":{"docs":{},"录":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"文":{"docs":{},"件":{"docs":{},"见":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}}}}}}}}}}}},"见":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"问":{"docs":{},"题":{"docs":{},"反":{"docs":{},"馈":{"docs":{},"(":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.05263157894736842}}}}}}}}}}}}}},"#":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.1776061776061776}}},"$":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.061855670103092786},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{},"d":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"。":{"docs":{},"由":{"docs":{},"此":{"docs":{},",":{"docs":{},"在":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"若":{"docs":{},"是":{"docs":{},"全":{"docs":{},"局":{"docs":{},"通":{"docs":{},"用":{"docs":{},"(":{"docs":{},"包":{"docs":{},"括":{"docs":{},"模":{"docs":{},"板":{"docs":{},"中":{"docs":{},")":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"就":{"docs":{},"挂":{"docs":{},"载":{"docs":{},"到":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},",":{"docs":{},"同":{"docs":{},"步":{"docs":{},"其":{"docs":{},"变":{"docs":{},"化":{"docs":{},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"本":{"docs":{},"地":{"docs":{},"状":{"docs":{},"态":{"docs":{},"特":{"docs":{},"别":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"由":{"docs":{},"于":{"docs":{},"状":{"docs":{},"态":{"docs":{},"与":{"docs":{},"路":{"docs":{},"由":{"docs":{},"是":{"docs":{},"双":{"docs":{},"向":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"是":{"docs":{},"必":{"docs":{},"须":{"docs":{},"考":{"docs":{},"量":{"docs":{},"的":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}},"(":{"docs":{},"{":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}},"u":{"docs":{},"i":{"docs":{},")":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}},"不":{"docs":{},"过":{"docs":{},"当":{"docs":{},"前":{"docs":{},"微":{"docs":{},"信":{"docs":{},"已":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"掉":{"docs":{},"这":{"docs":{},"类":{"docs":{},"链":{"docs":{},"接":{"docs":{},"的":{"docs":{},"访":{"docs":{},"问":{"docs":{},")":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"_":{"docs":{},"_":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"_":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}},")":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.0189873417721519}}}},"/":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/State-management.html":{"ref":"development/State-management.html","tf":0.029197080291970802},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}},",":{"docs":{},"那":{"docs":{},"么":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{},",":{"docs":{},"若":{"docs":{},"不":{"docs":{},"把":{"docs":{},"这":{"docs":{},"些":{"docs":{},"数":{"docs":{},"据":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"下":{"docs":{},"来":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"渲":{"docs":{},"染":{"docs":{},"该":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"都":{"docs":{},"会":{"docs":{},"发":{"docs":{},"出":{"docs":{},"一":{"docs":{},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"该":{"docs":{},"组":{"docs":{},"件":{"docs":{},"极":{"docs":{},"其":{"docs":{},"常":{"docs":{},"用":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"更":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"很":{"docs":{},"多":{"docs":{},"不":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"消":{"docs":{},"耗":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"新":{"docs":{},"增":{"docs":{},"留":{"docs":{},"言":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"/":{"docs":{},":":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"查":{"docs":{},"看":{"docs":{},"留":{"docs":{},"言":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"留":{"docs":{},"言":{"docs":{},"板":{"docs":{},"列":{"docs":{},"表":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"/":{"docs":{},":":{"docs":{},"m":{"docs":{},"s":{"docs":{},"g":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"修":{"docs":{},"改":{"docs":{},"留":{"docs":{},"言":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"留":{"docs":{},"言":{"docs":{},"板":{"docs":{},"首":{"docs":{},"页":{"docs":{},",":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.039473684210526314},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.0379746835443038}}},"*":{"docs":{},"*":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}},"=":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.039473684210526314}},">":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}},"b":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}}}}},"r":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927}}},"d":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}},"u":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},".":{"docs":{},"j":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.018292682926829267},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},".":{"docs":{},"j":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"(":{"docs":{},"多":{"docs":{},"端":{"docs":{},"调":{"docs":{},"试":{"docs":{},")":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}},":":{"docs":{},"见":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},":":{"docs":{},"[":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"]":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"y":{"docs":{},"、":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"z":{"docs":{},"e":{"docs":{},"、":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"d":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"i":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/":{"ref":"development/","tf":0.08333333333333333}},"c":{"docs":{},"k":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.041237113402061855}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"n":{"docs":{},"k":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},"]":{"docs":{},"]":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.007722007722007722},"development/":{"ref":"development/","tf":0.16666666666666666},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633},"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"/":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"1":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}},"docs":{}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"v":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},",":{"docs":{},"配":{"docs":{},"置":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}},"o":{"docs":{},"c":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"s":{"docs":{},"/":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"(":{"docs":{},"文":{"docs":{},"档":{"docs":{},")":{"docs":{},"与":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"·":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"c":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},"当":{"docs":{},"前":{"docs":{},"版":{"docs":{},"本":{"docs":{},"为":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{},"汇":{"docs":{},"总":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"于":{"docs":{},"一":{"docs":{},"处":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"就":{"docs":{},"不":{"docs":{},"必":{"docs":{},"到":{"docs":{},"处":{"docs":{},"传":{"docs":{},"递":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"任":{"docs":{},"何":{"docs":{},"牵":{"docs":{},"扯":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"以":{"docs":{},"上":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"写":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"。":{"docs":{},"此":{"docs":{},"外":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"也":{"docs":{},"能":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"更":{"docs":{},"容":{"docs":{},"易":{"docs":{},"地":{"docs":{},"记":{"docs":{},"录":{"docs":{},"并":{"docs":{},"观":{"docs":{},"察":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"变":{"docs":{},"更":{"docs":{},"(":{"docs":{},"m":{"docs":{},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"原":{"docs":{},"意":{"docs":{},"为":{"docs":{},"突":{"docs":{},"变":{"docs":{},")":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"出":{"docs":{},"华":{"docs":{},"丽":{"docs":{},"如":{"docs":{},"时":{"docs":{},"光":{"docs":{},"旅":{"docs":{},"行":{"docs":{},"一":{"docs":{},"般":{"docs":{},"的":{"docs":{},"调":{"docs":{},"试":{"docs":{},"效":{"docs":{},"果":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}},"t":{"docs":{},"a":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.02586206896551724}},":":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}},"e":{"docs":{},"s":{"5":{"docs":{},":":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"6":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"请":{"docs":{},"把":{"docs":{},"如":{"docs":{},"下":{"docs":{},"代":{"docs":{},"码":{"docs":{},"转":{"docs":{},"译":{"docs":{},"成":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"p":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.018292682926829267},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"Features.html":{"ref":"Features.html","tf":0.03278688524590164},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"·":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"您":{"docs":{},"应":{"docs":{},"该":{"docs":{},"会":{"docs":{},"觉":{"docs":{},"得":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"t":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.02531645569620253}}}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"使":{"docs":{},"得":{"docs":{},"点":{"docs":{},"击":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"中":{"docs":{},"的":{"docs":{},"报":{"docs":{},"错":{"docs":{},"后":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"跳":{"docs":{},"到":{"docs":{},"目":{"docs":{},"标":{"docs":{},"位":{"docs":{},"置":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"n":{"docs":{},"e":{"docs":{},"」":{"docs":{},",":{"docs":{},"见":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}},"l":{"docs":{},"u":{"docs":{},"x":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.029197080291970802}}}}},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"g":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"i":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"l":{"docs":{},"p":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},")":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}},"l":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}},"d":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.02531645569620253}}}}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}},")":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},":":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"y":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"l":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.011583011583011582},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.018292682926829267},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.0379746835443038}}}}}}},":":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"8":{"0":{"docs":{},"若":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"没":{"docs":{},"有":{"docs":{},"自":{"docs":{},"动":{"docs":{},"弹":{"docs":{},"出":{"docs":{},",":{"docs":{},"则":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"手":{"docs":{},"动":{"docs":{},"访":{"docs":{},"问":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"w":{"docs":{},"d":{"docs":{},"b":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"n":{"docs":{},"k":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"、":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"m":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.061855670103092786},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.018292682926829267}}}},"a":{"docs":{},"v":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"m":{"docs":{},"e":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"x":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}},"y":{"docs":{},"=":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"n":{"docs":{},"p":{"docs":{},"m":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}},"x":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0364963503649635}},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"出":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}},"q":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"完":{"docs":{},"全":{"docs":{},"掌":{"docs":{},"控":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"o":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"p":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"u":{"docs":{},"n":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"e":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}},"i":{"docs":{},"c":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"2":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"e":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}},")":{"docs":{},"和":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}},"进":{"docs":{},"行":{"docs":{},"区":{"docs":{},"分":{"docs":{},"。":{"docs":{},"应":{"docs":{},"用":{"docs":{},"级":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"不":{"docs":{},"属":{"docs":{},"于":{"docs":{},"任":{"docs":{},"何":{"docs":{},"特":{"docs":{},"定":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"但":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"仍":{"docs":{},"然":{"docs":{},"可":{"docs":{},"以":{"docs":{},"监":{"docs":{},"视":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},")":{"docs":{},"其":{"docs":{},"变":{"docs":{},"化":{"docs":{},"从":{"docs":{},"而":{"docs":{},"响":{"docs":{},"应":{"docs":{},"式":{"docs":{},"地":{"docs":{},"更":{"docs":{},"新":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"对":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"s":{"docs":{},":":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},")":{"docs":{},"例":{"docs":{},"如":{"docs":{},"访":{"docs":{},"问":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"v":{"docs":{},"u":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"x":{"docs":{},"h":{"docs":{},"r":{"docs":{},"/":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"j":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"s":{"docs":{},")":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.011583011583011582}},"、":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.011583011583011582}}}}}}}},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},")":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"但":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"p":{"docs":{},"a":{"docs":{},",":{"docs":{},"你":{"docs":{},"很":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"已":{"docs":{},"经":{"docs":{},"需":{"docs":{},"要":{"docs":{},"思":{"docs":{},"考":{"docs":{},"应":{"docs":{},"该":{"docs":{},"如":{"docs":{},"何":{"docs":{},"更":{"docs":{},"好":{"docs":{},"地":{"docs":{},"归":{"docs":{},"纳":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"u":{"docs":{},"i":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}},"v":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.03164556962025317}},"u":{"docs":{},"e":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.030927835051546393},"Features.html":{"ref":"Features.html","tf":0.03278688524590164},"development/":{"ref":"development/","tf":0.08333333333333333},"development/State-management.html":{"ref":"development/State-management.html","tf":0.043795620437956206},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.034482758620689655},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.0189873417721519},"Reference.html":{"ref":"Reference.html","tf":0.11764705882352941}},".":{"docs":{},"j":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927},"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"x":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.058394160583941604},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"也":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"过":{"docs":{},"早":{"docs":{},"地":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"正":{"docs":{},"在":{"docs":{},"构":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"型":{"docs":{},"以":{"docs":{},"上":{"docs":{},"规":{"docs":{},"模":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"专":{"docs":{},"注":{"docs":{},"于":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"级":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"实":{"docs":{},"在":{"docs":{},"是":{"docs":{},"太":{"docs":{},"不":{"docs":{},"值":{"docs":{},"得":{"docs":{},"了":{"docs":{},"。":{"docs":{},"这":{"docs":{},"个":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"借":{"docs":{},"鉴":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}},"虽":{"docs":{},"可":{"docs":{},"使":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"动":{"docs":{},"明":{"docs":{},"确":{"docs":{},",":{"docs":{},"但":{"docs":{},"破":{"docs":{},"坏":{"docs":{},"了":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"直":{"docs":{},"观":{"docs":{},"性":{"docs":{},",":{"docs":{},"尤":{"docs":{},"其":{"docs":{},"是":{"docs":{},"团":{"docs":{},"队":{"docs":{},"水":{"docs":{},"平":{"docs":{},"参":{"docs":{},"差":{"docs":{},"不":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"全":{"docs":{},"局":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"成":{"docs":{},"为":{"docs":{},"项":{"docs":{},"目":{"docs":{},"开":{"docs":{},"发":{"docs":{},"与":{"docs":{},"维":{"docs":{},"护":{"docs":{},"的":{"docs":{},"负":{"docs":{},"担":{"docs":{},"。":{"docs":{},"就":{"docs":{},"像":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"此":{"docs":{},"不":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},",":{"docs":{},"敲":{"docs":{},"下":{"docs":{},"回":{"docs":{},"车":{"docs":{},",":{"docs":{},"就":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"了":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.11764705882352941}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"详":{"docs":{},"见":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},":":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.011583011583011582},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.03048780487804878},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}}}}},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"l":{"docs":{},"/":{"docs":{},"m":{"docs":{},"o":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}},"{":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.039473684210526314},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.02531645569620253}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"}":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"}":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"}":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.028169014084507043}}}}}}}}}},"}":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.04310344827586207},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.02531645569620253}},")":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},",":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"≥":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.020618556701030927}}},"⊙":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.030927835051546393},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.024390243902439025},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.03636363636363636}}},"全":{"docs":{},"局":{"docs":{},"安":{"docs":{},"装":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"您":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"熟":{"docs":{},"悉":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}},"步":{"docs":{},"其":{"docs":{},"变":{"docs":{},"化":{"docs":{},"到":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}},"写":{"docs":{},"入":{"docs":{},"由":{"docs":{},"此":{"docs":{},"即":{"docs":{},"可":{"docs":{},"根":{"docs":{},"据":{"docs":{},"当":{"docs":{},"前":{"docs":{},"运":{"docs":{},"行":{"docs":{},"环":{"docs":{},"境":{"docs":{},"执":{"docs":{},"行":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"在":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"开":{"docs":{},"始":{"docs":{},"前":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"您":{"docs":{},"已":{"docs":{},"通":{"docs":{},"读":{"docs":{},"如":{"docs":{},"下":{"docs":{},"资":{"docs":{},"料":{"docs":{},":":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}},"此":{"docs":{},"安":{"docs":{},"利":{"docs":{},"一":{"docs":{},"波":{"docs":{},"我":{"docs":{},"写":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"提":{"docs":{},"醒":{"docs":{},",":{"docs":{},"在":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"上":{"docs":{},"篇":{"docs":{},"谈":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"中":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"总":{"docs":{},"结":{"docs":{},"了":{"docs":{},"没":{"docs":{},"有":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"依":{"docs":{},"赖":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"强":{"docs":{},"烈":{"docs":{},"建":{"docs":{},"议":{"docs":{},"升":{"docs":{},"级":{"docs":{},"到":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}},"换":{"docs":{},"源":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"解":{"docs":{},"决":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}},"替":{"docs":{},"代":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.012658227848101266}}}},"环":{"docs":{},"境":{"docs":{},"强":{"docs":{},"烈":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"往":{"docs":{},"后":{"docs":{},"使":{"docs":{},"用":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}},"变":{"docs":{},"量":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"生":{"docs":{},"产":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"的":{"docs":{},"代":{"docs":{},"理":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}},"成":{"docs":{},"的":{"docs":{},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"官":{"docs":{},"方":{"docs":{},"开":{"docs":{},"发":{"docs":{},"模":{"docs":{},"板":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"太":{"docs":{},"大":{"docs":{},"差":{"docs":{},"异":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}}}}}}}}}}}}}},"的":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"源":{"docs":{},"码":{"docs":{},"包":{"docs":{},"下":{"docs":{},"载":{"docs":{},"极":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}},"区":{"docs":{},"别":{"docs":{},"不":{"docs":{},"妨":{"docs":{},"把":{"docs":{},"本":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"封":{"docs":{},"装":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"一":{"docs":{},"些":{"docs":{},"经":{"docs":{},"验":{"docs":{},"实":{"docs":{},"践":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}},"作":{"docs":{},"者":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"会":{"docs":{},"把":{"docs":{},"状":{"docs":{},"态":{"docs":{},"储":{"docs":{},"存":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"内":{"docs":{},"部":{"docs":{},"。":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"说":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"都":{"docs":{},"拥":{"docs":{},"有":{"docs":{},"当":{"docs":{},"前":{"docs":{},"应":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"分":{"docs":{},"散":{"docs":{},"在":{"docs":{},"各":{"docs":{},"个":{"docs":{},"角":{"docs":{},"落":{"docs":{},"的":{"docs":{},"。":{"docs":{},"然":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"需":{"docs":{},"要":{"docs":{},"把":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"共":{"docs":{},"享":{"docs":{},"给":{"docs":{},"多":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"常":{"docs":{},"见":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"策":{"docs":{},"略":{"docs":{},"为":{"docs":{},":":{"docs":{},"使":{"docs":{},"用":{"docs":{},"定":{"docs":{},"制":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"系":{"docs":{},"统":{"docs":{},",":{"docs":{},"让":{"docs":{},"一":{"docs":{},"个":{"docs":{},"组":{"docs":{},"件":{"docs":{},"把":{"docs":{},"一":{"docs":{},"些":{"docs":{},"状":{"docs":{},"态":{"docs":{},"“":{"docs":{},"发":{"docs":{},"送":{"docs":{},"”":{"docs":{},"到":{"docs":{},"其":{"docs":{},"他":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},"。":{"docs":{},"这":{"docs":{},"种":{"docs":{},"模":{"docs":{},"式":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"大":{"docs":{},"型":{"docs":{},"组":{"docs":{},"件":{"docs":{},"树":{"docs":{},"中":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"流":{"docs":{},"会":{"docs":{},"很":{"docs":{},"快":{"docs":{},"变":{"docs":{},"得":{"docs":{},"非":{"docs":{},"常":{"docs":{},"繁":{"docs":{},"杂":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"调":{"docs":{},"试":{"docs":{},"时":{"docs":{},"很":{"docs":{},"难":{"docs":{},"去":{"docs":{},"找":{"docs":{},"出":{"docs":{},"究":{"docs":{},"竟":{"docs":{},"哪":{"docs":{},"错":{"docs":{},"了":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"状":{"docs":{},"态":{"docs":{},"存":{"docs":{},"储":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"话":{"docs":{},"说":{"docs":{},"就":{"docs":{},"是":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"原":{"docs":{},"因":{"docs":{},"其":{"docs":{},"实":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"很":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},":":{"docs":{},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}},"理":{"docs":{},"相":{"docs":{},"当":{"docs":{},"简":{"docs":{},"单":{"docs":{},":":{"docs":{},"约":{"docs":{},"定":{"docs":{},"组":{"docs":{},"件":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}},"变":{"docs":{},"化":{"docs":{},"以":{"docs":{},"进":{"docs":{},"行":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}},"首":{"docs":{},"页":{"docs":{},"又":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"y":{"docs":{},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}},"回":{"docs":{},"答":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"某":{"docs":{},"几":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"就":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"将":{"docs":{},"整":{"docs":{},"个":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"理":{"docs":{},"念":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"编":{"docs":{},"码":{"docs":{},"秉":{"docs":{},"承":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{},",":{"docs":{},"不":{"docs":{},"妨":{"docs":{},"参":{"docs":{},"阅":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}},"译":{"docs":{},"作":{"docs":{},"用":{"docs":{},"域":{"docs":{},"搞":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"了":{"docs":{},"吗":{"docs":{},"?":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{},"别":{"docs":{},"名":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"答":{"docs":{},"案":{"docs":{},"请":{"docs":{},"在":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"编":{"docs":{},"译":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"在":{"docs":{},"项":{"docs":{},"目":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"生":{"docs":{},"成":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}},"默":{"docs":{},"认":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"就":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"打":{"docs":{},"开":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"行":{"docs":{},"验":{"docs":{},"证":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}},"动":{"docs":{},"加":{"docs":{},"载":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"打":{"docs":{},"包":{"docs":{},"成":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"运":{"docs":{},"行":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}},"预":{"docs":{},"备":{"docs":{},"知":{"docs":{},"识":{"docs":{"Getting-started.html":{"ref":"Getting-started.html","tf":0.010309278350515464}}}}}},"+":{"docs":{"Features.html":{"ref":"Features.html","tf":0.04918032786885246}}},"j":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Features.html":{"ref":"Features.html","tf":0.03278688524590164}},"/":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"(":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},"分":{"docs":{},"别":{"docs":{},"实":{"docs":{},"现":{"docs":{},"请":{"docs":{},"求":{"docs":{},"而":{"docs":{},"导":{"docs":{},"致":{"docs":{},"管":{"docs":{},"理":{"docs":{},"上":{"docs":{},"的":{"docs":{},"混":{"docs":{},"乱":{"docs":{},"(":{"docs":{},"对":{"docs":{},"日":{"docs":{},"后":{"docs":{},"的":{"docs":{},"重":{"docs":{},"构":{"docs":{},"也":{"docs":{},"不":{"docs":{},"友":{"docs":{},"好":{"docs":{},")":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},",":{"docs":{},"前":{"docs":{},"端":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"与":{"docs":{},"后":{"docs":{},"端":{"docs":{},"的":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}},"s":{"docs":{},"g":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},")":{"docs":{},"内":{"docs":{},"部":{"docs":{},"可":{"docs":{},"分":{"docs":{},"离":{"docs":{},"出":{"docs":{},"通":{"docs":{},"用":{"docs":{},"部":{"docs":{},"分":{"docs":{},"(":{"docs":{},"如":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"v":{"docs":{},"c":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}},"v":{"docs":{},"m":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"Features.html":{"ref":"Features.html","tf":0.03278688524590164},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"同":{"docs":{},"样":{"docs":{},"地":{"docs":{},",":{"docs":{},"您":{"docs":{},"又":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"知":{"docs":{},"道":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"?":{"docs":{},"综":{"docs":{},"上":{"docs":{},",":{"docs":{},"引":{"docs":{},"入":{"docs":{},"路":{"docs":{},"径":{"docs":{},"别":{"docs":{},"名":{"docs":{},"可":{"docs":{},"以":{"docs":{},"满":{"docs":{},"足":{"docs":{},"简":{"docs":{},"约":{"docs":{},"与":{"docs":{},"避":{"docs":{},"免":{"docs":{},"歧":{"docs":{},"义":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"本":{"docs":{},"项":{"docs":{},"目":{"docs":{},"不":{"docs":{},"引":{"docs":{},"入":{"docs":{},"上":{"docs":{},"述":{"docs":{},"插":{"docs":{},"件":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"非":{"docs":{},"官":{"docs":{},"方":{"docs":{},"、":{"docs":{},"维":{"docs":{},"护":{"docs":{},"不":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"等":{"docs":{},"因":{"docs":{},"素":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"、":{"docs":{},"_":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"_":{"docs":{},"_":{"docs":{},"、":{"docs":{},"_":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"_":{"docs":{},"_":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"i":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}},"y":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}},"p":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},")":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"、":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"$":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.11764705882352941}}}}}}}}}}}}}}}}},"x":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"w":{"docs":{},"o":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"上":{"docs":{},"述":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"四":{"docs":{},"个":{"docs":{},"依":{"docs":{},"赖":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"中":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"的":{"docs":{},"是":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"各":{"docs":{},"项":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"/":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"着":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.014598540145985401}}}}}}},"与":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082},"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/":{"ref":"development/","tf":0.08333333333333333},"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"代":{"docs":{},"码":{"docs":{},"热":{"docs":{},"更":{"docs":{},"替":{"docs":{},"已":{"docs":{},"经":{"docs":{},"带":{"docs":{},"给":{"docs":{},"我":{"docs":{},"们":{"docs":{},"足":{"docs":{},"够":{"docs":{},"好":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"体":{"docs":{},"验":{"docs":{},"。":{"docs":{},"结":{"docs":{},"构":{"docs":{},"约":{"docs":{},"定":{"docs":{},"俗":{"docs":{},"成":{"docs":{},",":{"docs":{},"条":{"docs":{},"理":{"docs":{},"清":{"docs":{},"晰":{"docs":{},";":{"docs":{},"代":{"docs":{},"码":{"docs":{},"风":{"docs":{},"格":{"docs":{},"统":{"docs":{},"一":{"docs":{},",":{"docs":{},"高":{"docs":{},"内":{"docs":{},"聚":{"docs":{},"低":{"docs":{},"耦":{"docs":{},"合":{"docs":{},";":{"docs":{},"容":{"docs":{},"易":{"docs":{},"上":{"docs":{},"手":{"docs":{},"、":{"docs":{},"接":{"docs":{},"手":{"docs":{},"与":{"docs":{},"维":{"docs":{},"护":{"docs":{},"·":{"docs":{},"·":{"docs":{},"·":{"docs":{},"·":{"docs":{},"·":{"docs":{},"·":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"同":{"docs":{},"步":{"docs":{},"性":{"docs":{},",":{"docs":{},"满":{"docs":{},"足":{"docs":{},"保":{"docs":{},"存":{"docs":{},"书":{"docs":{},"签":{"docs":{},"、":{"docs":{},"强":{"docs":{},"制":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"、":{"docs":{},"前":{"docs":{},"进":{"docs":{},"回":{"docs":{},"退":{"docs":{},"等":{"docs":{},"基":{"docs":{},"本":{"docs":{},"需":{"docs":{},"求":{"docs":{},"(":{"docs":{},"至":{"docs":{},"于":{"docs":{},"同":{"docs":{},"步":{"docs":{},"的":{"docs":{},"粒":{"docs":{},"度":{"docs":{},"需":{"docs":{},"要":{"docs":{},"细":{"docs":{},"致":{"docs":{},"到":{"docs":{},"什":{"docs":{},"么":{"docs":{},"程":{"docs":{},"度":{"docs":{},",":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"根":{"docs":{},"据":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},"自":{"docs":{},"行":{"docs":{},"斟":{"docs":{},"酌":{"docs":{},"了":{"docs":{},")":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"分":{"docs":{},"拆":{"docs":{},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"导":{"docs":{},"航":{"docs":{},"链":{"docs":{},"接":{"docs":{},"组":{"docs":{},"件":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"中":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"的":{"docs":{"Features.html":{"ref":"Features.html","tf":0.04918032786885246},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.03048780487804878},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},":":{"docs":{"Features.html":{"ref":"Features.html","tf":0.03278688524590164}}},"这":{"docs":{},"两":{"docs":{},"个":{"docs":{},"目":{"docs":{},"录":{"docs":{},"以":{"docs":{},"树":{"docs":{},"状":{"docs":{},"形":{"docs":{},"式":{"docs":{},"展":{"docs":{},"开":{"docs":{},":":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"注":{"docs":{},"入":{"docs":{},",":{"docs":{},"这":{"docs":{},"种":{"docs":{},"方":{"docs":{},"式":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"构":{"docs":{},"建":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"显":{"docs":{},"得":{"docs":{},"更":{"docs":{},"为":{"docs":{},"简":{"docs":{},"单":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"组":{"docs":{},"件":{"docs":{},"状":{"docs":{},"态":{"docs":{},"一":{"docs":{},"般":{"docs":{},"是":{"docs":{},"挂":{"docs":{},"载":{"docs":{},"到":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"提":{"docs":{},"取":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"字":{"docs":{},"进":{"docs":{},"行":{"docs":{},"同":{"docs":{},"步":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},")":{"docs":{},"若":{"docs":{},"要":{"docs":{},"继":{"docs":{},"续":{"docs":{},"添":{"docs":{},"加":{"docs":{},",":{"docs":{},"则":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"使":{"docs":{},"用":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}},"间":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"层":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}},"仅":{"docs":{},"为":{"docs":{},"文":{"docs":{},"档":{"docs":{},"撰":{"docs":{},"写":{"docs":{},"所":{"docs":{},"需":{"docs":{},"您":{"docs":{},"往":{"docs":{},"后":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"删":{"docs":{},"掉":{"docs":{},":":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}}}}}}}}}}}}}}},"留":{"docs":{},"言":{"docs":{},"板":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}},"用":{"docs":{},"于":{"docs":{},"合":{"docs":{},"并":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"打":{"docs":{},"包":{"docs":{},"静":{"docs":{},"态":{"docs":{},"基":{"docs":{},"页":{"docs":{},"(":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},")":{"docs":{},"中":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}},"应":{"docs":{},"当":{"docs":{},"拆":{"docs":{},"写":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"理":{"docs":{},"转":{"docs":{},"发":{"docs":{},"(":{"docs":{},"推":{"docs":{},"荐":{"docs":{},")":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}},"(":{"docs":{},"用":{"docs":{},"于":{"docs":{},"多":{"docs":{},"端":{"docs":{},"联":{"docs":{},"合":{"docs":{},"同":{"docs":{},"步":{"docs":{},"调":{"docs":{},"试":{"docs":{},")":{"docs":{},",":{"docs":{},"但":{"docs":{},"与":{"docs":{},"本":{"docs":{},"篇":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"的":{"docs":{},"跨":{"docs":{},"域":{"docs":{},"代":{"docs":{},"理":{"docs":{},"无":{"docs":{},"关":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.03636363636363636}},"所":{"docs":{},"需":{"docs":{},"。":{"docs":{},"同":{"docs":{},"样":{"docs":{},"地":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}}}}}}}}}}}}}},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"(":{"docs":{},"统":{"docs":{},"一":{"docs":{},"管":{"docs":{},"理":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"层":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}},"的":{"docs":{},"主":{"docs":{},"要":{"docs":{},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},":":{"docs":{},"封":{"docs":{},"装":{"docs":{},"好":{"docs":{},"与":{"docs":{},"后":{"docs":{},"端":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"妙":{"docs":{},"用":{"docs":{},":":{"docs":{},"用":{"docs":{},"于":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"相":{"docs":{},"关":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"选":{"docs":{},"择":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"(":{"docs":{},"假":{"docs":{},"设":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}},"销":{"docs":{},"登":{"docs":{},"录":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"相":{"docs":{},"关":{"docs":{},"代":{"docs":{},"码":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}},"配":{"docs":{},"置":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}},"移":{"docs":{},"动":{"docs":{},"文":{"docs":{},"档":{"docs":{"Features.html":{"ref":"Features.html","tf":0.01639344262295082}}}}}},".":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"c":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"配":{"docs":{},"置":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"参":{"docs":{},"考":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"r":{"docs":{},"c":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},",":{"docs":{},"对":{"docs":{},"其":{"docs":{},"的":{"docs":{},"任":{"docs":{},"何":{"docs":{},"修":{"docs":{},"改":{"docs":{},"都":{"docs":{},"是":{"docs":{},"立":{"docs":{},"即":{"docs":{},"生":{"docs":{},"效":{"docs":{},"配":{"docs":{},"置":{"docs":{},"规":{"docs":{},"则":{"docs":{},"请":{"docs":{},"参":{"docs":{},"考":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},".":{"docs":{},".":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"]":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}},"_":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"、":{"docs":{},"_":{"docs":{},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"x":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"/":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"_":{"docs":{},"_":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"b":{"docs":{},"t":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},".":{"docs":{},"v":{"docs":{},"u":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}},"l":{"docs":{},"d":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}},"n":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},":":{"docs":{},"[":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"]":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}},"x":{"docs":{},"h":{"docs":{},"r":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414},"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.056338028169014086},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.07272727272727272}}}}},"“":{"docs":{},"每":{"docs":{},"页":{"docs":{},"显":{"docs":{},"示":{"docs":{},"多":{"docs":{},"少":{"docs":{},"条":{"docs":{},"记":{"docs":{},"录":{"docs":{},"”":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}},"物":{"docs":{},"以":{"docs":{},"类":{"docs":{},"聚":{"docs":{},"”":{"docs":{},",":{"docs":{},"善":{"docs":{},"用":{"docs":{},"目":{"docs":{},"录":{"docs":{},"自":{"docs":{},"包":{"docs":{},"含":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"│":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.06563706563706563}}},"└":{"docs":{},"─":{"docs":{},"─":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.03088803088803089}}}}},"├":{"docs":{},"─":{"docs":{},"─":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.14285714285714285}}}}},"一":{"docs":{},"般":{"docs":{},"不":{"docs":{},"会":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"涉":{"docs":{},"及":{"docs":{},"到":{"docs":{},"权":{"docs":{},"限":{"docs":{},"的":{"docs":{},"必":{"docs":{},"须":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"类":{"docs":{},"。":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"登":{"docs":{},"录":{"docs":{},"的":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}},",":{"docs":{},"在":{"docs":{},"理":{"docs":{},"解":{"docs":{},"上":{"docs":{},"也":{"docs":{},"会":{"docs":{},"变":{"docs":{},"得":{"docs":{},"更":{"docs":{},"加":{"docs":{},"容":{"docs":{},"易":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}},"下":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"m":{"docs":{},"(":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"选":{"docs":{},"择":{"docs":{},"框":{"docs":{},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"选":{"docs":{},"择":{"docs":{},"框":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"存":{"docs":{},"放":{"docs":{},"着":{"docs":{},"侧":{"docs":{},"栏":{"docs":{},"组":{"docs":{},"件":{"docs":{},"主":{"docs":{},"体":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"全":{"docs":{},"局":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"组":{"docs":{},"件":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"业":{"docs":{},"务":{"docs":{},"性":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"通":{"docs":{},"用":{"docs":{},"性":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"性":{"docs":{},"的":{"docs":{},",":{"docs":{},"或":{"docs":{},"通":{"docs":{},"用":{"docs":{},"性":{"docs":{},"很":{"docs":{},"强":{"docs":{},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"具":{"docs":{},"备":{"docs":{},"良":{"docs":{},"好":{"docs":{},"的":{"docs":{},"封":{"docs":{},"装":{"docs":{},"性":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}}}}}}}}},"侧":{"docs":{},"边":{"docs":{},"栏":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"分":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"各":{"docs":{},"功":{"docs":{},"能":{"docs":{},"模":{"docs":{},"块":{"docs":{},"(":{"docs":{},"如":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"文":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"基":{"docs":{},"本":{"docs":{},"与":{"docs":{},"路":{"docs":{},"由":{"docs":{},"一":{"docs":{},"一":{"docs":{},"对":{"docs":{},"应":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}},"的":{"docs":{},"命":{"docs":{},"名":{"docs":{},"规":{"docs":{},"范":{"docs":{},"、":{"docs":{},"代":{"docs":{},"码":{"docs":{},"风":{"docs":{},"格":{"docs":{},"等":{"docs":{},",":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"相":{"docs":{},"关":{"docs":{},"资":{"docs":{},"料":{"docs":{},"项":{"docs":{},"目":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"文":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.007722007722007722}}}}}}}}},"对":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"应":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.019305019305019305}},"着":{"docs":{},"路":{"docs":{},"由":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"于":{"docs":{},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"作":{"docs":{},"者":{"docs":{},"尤":{"docs":{},"雨":{"docs":{},"溪":{"docs":{},"有":{"docs":{},"如":{"docs":{},"下":{"docs":{},"评":{"docs":{},"述":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"进":{"docs":{},"行":{"docs":{},"静":{"docs":{},"态":{"docs":{},"检":{"docs":{},"测":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}},"此":{"docs":{},"我":{"docs":{},"们":{"docs":{},"还":{"docs":{},"有":{"docs":{},"别":{"docs":{},"的":{"docs":{},"替":{"docs":{},"代":{"docs":{},"方":{"docs":{},"案":{"docs":{},":":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"链":{"docs":{},"接":{"docs":{},"封":{"docs":{},"装":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"就":{"docs":{},"在":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"新":{"docs":{},"增":{"docs":{},"了":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"足":{"docs":{},"够":{"docs":{},"您":{"docs":{},"所":{"docs":{},"需":{"docs":{},"了":{"docs":{},"。":{"docs":{},"但":{"docs":{},"是":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"需":{"docs":{},"要":{"docs":{},"构":{"docs":{},"建":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"中":{"docs":{},"大":{"docs":{},"型":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"您":{"docs":{},"很":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"如":{"docs":{},"何":{"docs":{},"更":{"docs":{},"好":{"docs":{},"地":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"外":{"docs":{},"部":{"docs":{},"管":{"docs":{},"理":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"x":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"跳":{"docs":{},"转":{"docs":{},"到":{"docs":{},"朋":{"docs":{},"友":{"docs":{},"圈":{"docs":{},"页":{"docs":{},"面":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}},"是":{"docs":{},"应":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"表":{"docs":{},"现":{"docs":{},"形":{"docs":{},"式":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"复":{"docs":{},"制":{"docs":{},"本":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}},"连":{"docs":{},"微":{"docs":{},"信":{"docs":{},"这":{"docs":{},"种":{"docs":{},"原":{"docs":{},"生":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"类":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"忽":{"docs":{},"略":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"夹":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"您":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"业":{"docs":{},"务":{"docs":{},"需":{"docs":{},"求":{"docs":{},"改":{"docs":{},"动":{"docs":{},"目":{"docs":{},"录":{"docs":{},"结":{"docs":{},"构":{"docs":{},"譬":{"docs":{},"如":{"docs":{},"本":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}},"能":{"docs":{},"会":{"docs":{},"说":{"docs":{},",":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}},"放":{"docs":{},"置":{"docs":{},"无":{"docs":{},"需":{"docs":{},"经":{"docs":{},"由":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"需":{"docs":{},"要":{"docs":{},"经":{"docs":{},"由":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"根":{"docs":{},"据":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"注":{"docs":{},"释":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"大":{"docs":{},"概":{"docs":{},"知":{"docs":{},"道":{"docs":{},"了":{"docs":{},"二":{"docs":{},"者":{"docs":{},"的":{"docs":{},"差":{"docs":{},"别":{"docs":{},":":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"检":{"docs":{},"查":{"docs":{},"中":{"docs":{},"需":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"(":{"docs":{},"夹":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}},"源":{"docs":{},"码":{"docs":{},"目":{"docs":{},"录":{"docs":{},"(":{"docs":{},"开":{"docs":{},"发":{"docs":{},"都":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"进":{"docs":{},"行":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{},"可":{"docs":{},"简":{"docs":{},"写":{"docs":{},"为":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"认":{"docs":{},"证":{"docs":{},"模":{"docs":{},"块":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"留":{"docs":{},"言":{"docs":{},"发":{"docs":{},"布":{"docs":{},"者":{"docs":{},"选":{"docs":{},"择":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}},"操":{"docs":{},"作":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"组":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"板":{"docs":{},"模":{"docs":{},"块":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"共":{"docs":{},"用":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}},"表":{"docs":{},"单":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"登":{"docs":{},"录":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"等":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861},"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521},"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},")":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"时":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"层":{"docs":{},"可":{"docs":{},"直":{"docs":{},"接":{"docs":{},"复":{"docs":{},"制":{"docs":{},"过":{"docs":{},"去":{"docs":{},",":{"docs":{},"毋":{"docs":{},"须":{"docs":{},"改":{"docs":{},"动":{"docs":{},"任":{"docs":{},"何":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"进":{"docs":{},"行":{"docs":{},"自":{"docs":{},"动":{"docs":{},"监":{"docs":{},"控":{"docs":{},"重":{"docs":{},"启":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.007722007722007722}},"中":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}},"内":{"docs":{},"部":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}},"本":{"docs":{},"地":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"若":{"docs":{},"多":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},"模":{"docs":{},"块":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},",":{"docs":{},"则":{"docs":{},"建":{"docs":{},"议":{"docs":{},"移":{"docs":{},"到":{"docs":{},"全":{"docs":{},"局":{"docs":{},",":{"docs":{},"即":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"升":{"docs":{},"级":{"docs":{},"需":{"docs":{},"要":{"docs":{},"替":{"docs":{},"换":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"并":{"docs":{},"非":{"docs":{},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"是":{"docs":{},"不":{"docs":{},"能":{"docs":{},"够":{"docs":{},"享":{"docs":{},"受":{"docs":{},"到":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"代":{"docs":{},"码":{"docs":{},"复":{"docs":{},"用":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}},"体":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"后":{"docs":{},"端":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"库":{"docs":{},",":{"docs":{},"则":{"docs":{},"仅":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"实":{"docs":{},"现":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"为":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"路":{"docs":{},"径":{"docs":{},"(":{"docs":{},"基":{"docs":{},"于":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"尽":{"docs":{},"量":{"docs":{},"保":{"docs":{},"证":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"的":{"docs":{},"可":{"docs":{},"追":{"docs":{},"踪":{"docs":{},"性":{"docs":{},"。":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"不":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}},"页":{"docs":{},"面":{"docs":{},"组":{"docs":{},"件":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.007722007722007722}}}}}}},"径":{"docs":{},"别":{"docs":{},"名":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},"显":{"docs":{},"而":{"docs":{},"易":{"docs":{},"见":{"docs":{},"的":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}},"转":{"docs":{},"码":{"docs":{},"配":{"docs":{},"置":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"译":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"过":{"docs":{},"滤":{"docs":{},"器":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"长":{"docs":{},"的":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"静":{"docs":{},"态":{"docs":{},"基":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}},"面":{"docs":{},"包":{"docs":{},"屑":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}},"顶":{"docs":{},"部":{"docs":{},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"首":{"docs":{},"页":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}},"(":{"docs":{},"这":{"docs":{},"个":{"docs":{},"就":{"docs":{},"不":{"docs":{},"用":{"docs":{},"多":{"docs":{},"解":{"docs":{},"释":{"docs":{},"了":{"docs":{},"吧":{"docs":{},")":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},")":{"docs":{},"e":{"docs":{},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}}},"需":{"docs":{},"被":{"docs":{"Structure.html":{"ref":"Structure.html","tf":0.003861003861003861}}}}}}},"后":{"docs":{},"三":{"docs":{},"者":{"docs":{},"在":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"未":{"docs":{},"完":{"docs":{},"待":{"docs":{},"续":{"docs":{},",":{"docs":{},"欢":{"docs":{},"迎":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}},"乍":{"docs":{},"一":{"docs":{},"看":{"docs":{},"本":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}},"但":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"无":{"docs":{},"论":{"docs":{},"是":{"docs":{},"从":{"docs":{},"目":{"docs":{},"录":{"docs":{},"组":{"docs":{},"织":{"docs":{},"、":{"docs":{},"文":{"docs":{},"档":{"docs":{},"说":{"docs":{},"明":{"docs":{},"还":{"docs":{},"是":{"docs":{},"从":{"docs":{},"设":{"docs":{},"计":{"docs":{},"思":{"docs":{},"想":{"docs":{},"、":{"docs":{},"团":{"docs":{},"队":{"docs":{},"协":{"docs":{},"作":{"docs":{},"等":{"docs":{},"层":{"docs":{},"面":{"docs":{},"本":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"希":{"docs":{},"望":{"docs":{},"往":{"docs":{},"下":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"您":{"docs":{},"深":{"docs":{},"入":{"docs":{},"了":{"docs":{},"解":{"docs":{},",":{"docs":{},"理":{"docs":{},"清":{"docs":{},"思":{"docs":{},"路":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"更":{"docs":{},"适":{"docs":{},"合":{"docs":{},"常":{"docs":{},"规":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{"development/":{"ref":"development/","tf":0.08333333333333333}}}}}}}}}}}}}}},"「":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}},"为":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.02631578947368421},"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"了":{"docs":{},"更":{"docs":{},"好":{"docs":{},"的":{"docs":{},"解":{"docs":{},"决":{"docs":{},"在":{"docs":{},"大":{"docs":{},"型":{"docs":{},"应":{"docs":{},"用":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"共":{"docs":{},"用":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"乃":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"级":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"之":{"docs":{},"外":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"其":{"docs":{},"他":{"docs":{},"组":{"docs":{},"成":{"docs":{},"部":{"docs":{},"分":{"docs":{},"。":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}},"者":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}},"即":{"docs":{},"可":{"docs":{},"访":{"docs":{},"问":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"层":{"docs":{},"与":{"docs":{},"组":{"docs":{},"件":{"docs":{},"层":{"docs":{},"完":{"docs":{},"全":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"改":{"docs":{},"动":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"我":{"docs":{},"们":{"docs":{},"管":{"docs":{},"理":{"docs":{},"共":{"docs":{},"享":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"但":{"docs":{},"也":{"docs":{},"附":{"docs":{},"带":{"docs":{},"了":{"docs":{},"更":{"docs":{},"多":{"docs":{},"的":{"docs":{},"概":{"docs":{},"念":{"docs":{},"和":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"这":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"短":{"docs":{},"期":{"docs":{},"和":{"docs":{},"长":{"docs":{},"期":{"docs":{},"效":{"docs":{},"益":{"docs":{},"进":{"docs":{},"行":{"docs":{},"权":{"docs":{},"衡":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"现":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"在":{"docs":{},"一":{"docs":{},"定":{"docs":{},"程":{"docs":{},"度":{"docs":{},"上":{"docs":{},",":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}},"是":{"docs":{},",":{"docs":{},"全":{"docs":{},"局":{"docs":{},"通":{"docs":{},"用":{"docs":{},"且":{"docs":{},"状":{"docs":{},"态":{"docs":{},"持":{"docs":{},"久":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"占":{"docs":{},"极":{"docs":{},"少":{"docs":{},"数":{"docs":{},",":{"docs":{},"若":{"docs":{},"为":{"docs":{},"此":{"docs":{},"而":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}},"能":{"docs":{},"是":{"docs":{},"繁":{"docs":{},"琐":{"docs":{},"冗":{"docs":{},"余":{"docs":{},"的":{"docs":{},"。":{"docs":{},"确":{"docs":{},"实":{"docs":{},"是":{"docs":{},"如":{"docs":{},"此":{"docs":{},"—":{"docs":{},"—":{"docs":{},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"够":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"您":{"docs":{},"最":{"docs":{},"好":{"docs":{},"不":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}},"如":{"docs":{},"果":{"docs":{},"您":{"docs":{},"不":{"docs":{},"打":{"docs":{},"算":{"docs":{},"开":{"docs":{},"发":{"docs":{},"大":{"docs":{},"型":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}},"看":{"docs":{},"过":{"docs":{},"最":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"将":{"docs":{},"会":{"docs":{},"成":{"docs":{},"为":{"docs":{},"自":{"docs":{},"然":{"docs":{},"而":{"docs":{},"然":{"docs":{},"的":{"docs":{},"选":{"docs":{},"择":{"docs":{},"。":{"docs":{},"引":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}},"层":{"docs":{},"的":{"docs":{},",":{"docs":{},"仅":{"docs":{},"限":{"docs":{},"于":{"docs":{},"全":{"docs":{},"局":{"docs":{},"通":{"docs":{},"用":{"docs":{},"且":{"docs":{},"状":{"docs":{},"态":{"docs":{},"持":{"docs":{},"久":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"用":{"docs":{},"户":{"docs":{},"认":{"docs":{},"证":{"docs":{},"信":{"docs":{},"息":{"docs":{},")":{"docs":{},"。":{"docs":{},"若":{"docs":{},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"应":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"尤":{"docs":{},"指":{"docs":{},"一":{"docs":{},"些":{"docs":{},"实":{"docs":{},"时":{"docs":{},"性":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"以":{"docs":{},"及":{"docs":{},"非":{"docs":{},"共":{"docs":{},"享":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},")":{"docs":{},"都":{"docs":{},"糅":{"docs":{},"合":{"docs":{},"在":{"docs":{},"一":{"docs":{},"处":{"docs":{},",":{"docs":{},"那":{"docs":{},"就":{"docs":{},"像":{"docs":{},"是":{"docs":{},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"变":{"docs":{},"量":{"docs":{},"都":{"docs":{},"挂":{"docs":{},"载":{"docs":{},"到":{"docs":{},"全":{"docs":{},"局":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"罢":{"docs":{},"了":{"docs":{},")":{"docs":{},",":{"docs":{},"抽":{"docs":{},"离":{"docs":{},"出":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"法":{"docs":{},"等":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},",":{"docs":{},"也":{"docs":{},"是":{"docs":{},"自":{"docs":{},"然":{"docs":{},"而":{"docs":{},"然":{"docs":{},"的":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"大":{"docs":{},"型":{"docs":{},"项":{"docs":{},"目":{"docs":{},"协":{"docs":{},"作":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},",":{"docs":{},"前":{"docs":{},"人":{"docs":{},"踩":{"docs":{},"坑":{"docs":{},"后":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"经":{"docs":{},"验":{"docs":{},"总":{"docs":{},"结":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"也":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"前":{"docs":{},"端":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"不":{"docs":{},"具":{"docs":{},"备":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"能":{"docs":{},"力":{"docs":{},",":{"docs":{},"其":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},"是":{"docs":{},"单":{"docs":{},"向":{"docs":{},"的":{"docs":{},"。":{"docs":{},"既":{"docs":{},"然":{"docs":{},"是":{"docs":{},"单":{"docs":{},"向":{"docs":{},"数":{"docs":{},"据":{"docs":{},"流":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"将":{"docs":{},"整":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},"汇":{"docs":{},"于":{"docs":{},"一":{"docs":{},"处":{"docs":{},"集":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"(":{"docs":{},"这":{"docs":{},"就":{"docs":{},"是":{"docs":{},"传":{"docs":{},"统":{"docs":{},"意":{"docs":{},"义":{"docs":{},"上":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"是":{"docs":{},"改":{"docs":{},"名":{"docs":{},"为":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"在":{"docs":{},"此":{"docs":{},"为":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}},"面":{"docs":{},"上":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"效":{"docs":{},"能":{"docs":{},"的":{"docs":{},"优":{"docs":{},"化":{"docs":{},"手":{"docs":{},"段":{"docs":{},"有":{"docs":{},"很":{"docs":{},"多":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"级":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"当":{"docs":{},"你":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"还":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"你":{"docs":{},"多":{"docs":{},"半":{"docs":{},"并":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},",":{"docs":{},"您":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"配":{"docs":{},"置":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{},"单":{"docs":{},"独":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}},"把":{"docs":{},"简":{"docs":{},"单":{"docs":{},"问":{"docs":{},"题":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"化":{"docs":{},"了":{"docs":{},"(":{"docs":{},"的":{"docs":{},"确":{"docs":{},"如":{"docs":{},"此":{"docs":{},")":{"docs":{},"。":{"docs":{},"为":{"docs":{},"了":{"docs":{},"实":{"docs":{},"现":{"docs":{},"全":{"docs":{},"局":{"docs":{},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},",":{"docs":{},"把":{"docs":{},"原":{"docs":{},"本":{"docs":{},"简":{"docs":{},"单":{"docs":{},"纯":{"docs":{},"粹":{"docs":{},"的":{"docs":{},"双":{"docs":{},"向":{"docs":{},"绑":{"docs":{},"定":{"docs":{},"以":{"docs":{},"及":{"docs":{},"操":{"docs":{},"作":{"docs":{},"方":{"docs":{},"法":{"docs":{},"都":{"docs":{},"剥":{"docs":{},"离":{"docs":{},"开":{"docs":{},"来":{"docs":{},",":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"成":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"教":{"docs":{},"程":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{},"您":{"docs":{},"快":{"docs":{},"速":{"docs":{},"理":{"docs":{},"解":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"文":{"docs":{},"档":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"中":{"docs":{},"提":{"docs":{},"到":{"docs":{},"的":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}},",":{"docs":{},"通":{"docs":{},"读":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"架":{"docs":{},"构":{"docs":{},"就":{"docs":{},"像":{"docs":{},"眼":{"docs":{},"镜":{"docs":{},":":{"docs":{},"您":{"docs":{},"自":{"docs":{},"会":{"docs":{},"知":{"docs":{},"道":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"需":{"docs":{},"要":{"docs":{},"它":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}},"究":{"docs":{},"竟":{"docs":{},"好":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}},",":{"docs":{},"未":{"docs":{},"免":{"docs":{},"有":{"docs":{},"点":{"docs":{},"舍":{"docs":{},"本":{"docs":{},"逐":{"docs":{},"末":{"docs":{},"了":{"docs":{},"。":{"docs":{},"私":{"docs":{},"认":{"docs":{},"为":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"一":{"docs":{},"个":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}},",":{"docs":{},"若":{"docs":{},"完":{"docs":{},"全":{"docs":{},"照":{"docs":{},"搬":{"docs":{},"相":{"docs":{},"对":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}},"模":{"docs":{},"式":{"docs":{},"构":{"docs":{},"建":{"docs":{},"的":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"而":{"docs":{},"言":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"置":{"docs":{},"于":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}},"板":{"docs":{},"中":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"状":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{},"应":{"docs":{},"为":{"docs":{},":":{"docs":{},"组":{"docs":{},"件":{"docs":{},"自":{"docs":{},"包":{"docs":{},"含":{"docs":{},"状":{"docs":{},"态":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"组":{"docs":{},"件":{"docs":{},"本":{"docs":{},"地":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},",":{"docs":{},"全":{"docs":{},"局":{"docs":{},"持":{"docs":{},"久":{"docs":{},"性":{"docs":{},"通":{"docs":{},"用":{"docs":{},"数":{"docs":{},"据":{"docs":{},"(":{"docs":{},"应":{"docs":{},"用":{"docs":{},"层":{"docs":{},"级":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},"集":{"docs":{},"中":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"合":{"docs":{},"实":{"docs":{},"际":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"是":{"docs":{},"炫":{"docs":{},"酷":{"docs":{},"的":{"docs":{},"“":{"docs":{},"时":{"docs":{},"光":{"docs":{},"旅":{"docs":{},"行":{"docs":{},"”":{"docs":{},",":{"docs":{},"皆":{"docs":{},"因":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尤":{"docs":{},"大":{"docs":{},"的":{"docs":{},"说":{"docs":{},"法":{"docs":{},",":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"虽":{"docs":{},"然":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}},"要":{"docs":{},"大":{"docs":{},"显":{"docs":{},"身":{"docs":{},"手":{"docs":{},"的":{"docs":{},"时":{"docs":{},"刻":{"docs":{},"。":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},"末":{"docs":{},"尾":{"docs":{},"空":{"docs":{},"格":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"使":{"docs":{},"用":{"docs":{},"前":{"docs":{},"最":{"docs":{},"好":{"docs":{},"先":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}},",":{"docs":{},"主":{"docs":{},"要":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"以":{"docs":{},"下":{"docs":{},"考":{"docs":{},"量":{"docs":{},":":{"docs":{"development/State-management.html":{"ref":"development/State-management.html","tf":0.0072992700729927005}}}}}}}}}}}}},"'":{"docs":{},"$":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"'":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},",":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}}}}}}},".":{"docs":{},".":{"docs":{},"/":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},"但":{"docs":{},"有":{"docs":{},"了":{"docs":{},"路":{"docs":{},"径":{"docs":{},"别":{"docs":{},"名":{"docs":{},"后":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}},"@":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},"相":{"docs":{},"比":{"docs":{},"于":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{},"您":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"觉":{"docs":{},"得":{"docs":{},"这":{"docs":{},"是":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"'":{"docs":{},"但":{"docs":{},"在":{"docs":{},"这":{"docs":{},"里":{"docs":{},"其":{"docs":{},"实":{"docs":{},"是":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"歧":{"docs":{},"义":{"docs":{},"的":{"docs":{},"试":{"docs":{},"问":{"docs":{},":":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"d":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"/":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"'":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"'":{"docs":{},"]":{"docs":{},"[":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"]":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"y":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"/":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"2":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}},"docs":{}}}}}}}}}}}}}}}},"q":{"docs":{},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.02586206896551724}}},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}}}}}}},"以":{"docs":{},"表":{"docs":{},"示":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"分":{"docs":{},"离":{"docs":{},"打":{"docs":{},"包":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"y":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"我":{"docs":{},"们":{"docs":{},"在":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}},"在":{"docs":{},"某":{"docs":{},"组":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"t":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"用":{"docs":{},"户":{"docs":{},"必":{"docs":{},"须":{"docs":{},"登":{"docs":{},"录":{"docs":{},"后":{"docs":{},"才":{"docs":{},"能":{"docs":{},"查":{"docs":{},"看":{"docs":{},"的":{"docs":{},",":{"docs":{},"请":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}},":":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}}},"再":{"docs":{},"点":{"docs":{},"击":{"docs":{},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{},"(":{"docs":{},"第":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"函":{"docs":{},"数":{"docs":{},"的":{"docs":{},"便":{"docs":{},"利":{"docs":{},"不":{"docs":{},"过":{"docs":{},"我":{"docs":{},"们":{"docs":{},"仍":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}},",":{"docs":{},"极":{"docs":{},"其":{"docs":{},"方":{"docs":{},"便":{"docs":{},"地":{"docs":{},"让":{"docs":{},"我":{"docs":{},"们":{"docs":{},"响":{"docs":{},"应":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}},"包":{"docs":{},",":{"docs":{},"诚":{"docs":{},"邀":{"docs":{},"品":{"docs":{},"鉴":{"docs":{},"!":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"精":{"docs":{},"华":{"docs":{},"在":{"docs":{},"于":{"docs":{},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}},"独":{"docs":{},"分":{"docs":{},"离":{"docs":{},"打":{"docs":{},"包":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"组":{"docs":{},"件":{"docs":{},"文":{"docs":{},"件":{"docs":{},"代":{"docs":{},"码":{"docs":{},"量":{"docs":{},"若":{"docs":{},"超":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"中":{"docs":{},"后":{"docs":{},"缀":{"docs":{},"带":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}},"接":{"docs":{},"收":{"docs":{},"父":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"传":{"docs":{},"入":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}},"拥":{"docs":{},"有":{"docs":{},"无":{"docs":{},"缝":{"docs":{},"切":{"docs":{},"换":{"docs":{},"体":{"docs":{},"验":{"docs":{},"的":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"的":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}},"既":{"docs":{},"然":{"docs":{},"我":{"docs":{},"们":{"docs":{},"发":{"docs":{},"现":{"docs":{},"了":{"docs":{},"这":{"docs":{},"种":{"docs":{},"规":{"docs":{},"律":{"docs":{},",":{"docs":{},"那":{"docs":{},"么":{"docs":{},"使":{"docs":{},"用":{"docs":{},"空":{"docs":{},"白":{"docs":{},"标":{"docs":{},"签":{"docs":{},"页":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"?":{"docs":{},"g":{"docs":{},"w":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"c":{"docs":{},"r":{"docs":{},",":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"#":{"docs":{},"q":{"docs":{},"=":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"&":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"=":{"1":{"docs":{},"&":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"=":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"&":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"3":{"0":{"docs":{},"显":{"docs":{},"然":{"docs":{},"就":{"docs":{},"是":{"docs":{},"第":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"新":{"docs":{},":":{"docs":{},"已":{"docs":{},"封":{"docs":{},"装":{"docs":{},"出":{"docs":{},"设":{"docs":{},"计":{"docs":{},"更":{"docs":{},"为":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"层":{"docs":{},"与":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}},"多":{"docs":{},"技":{"docs":{},"巧":{"docs":{},"可":{"docs":{},"参":{"docs":{},"考":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"同":{"docs":{},"步":{"docs":{},"路":{"docs":{},"由":{"docs":{},"与":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"但":{"docs":{},"稍":{"docs":{},"微":{"docs":{},"封":{"docs":{},"装":{"docs":{},"一":{"docs":{},"下":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"完":{"docs":{},"全":{"docs":{},"满":{"docs":{},"足":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"需":{"docs":{},"求":{"docs":{},"(":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"见":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{},"(":{"docs":{},"第":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"由":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}},"于":{"docs":{},"我":{"docs":{},"们":{"docs":{},"没":{"docs":{},"有":{"docs":{},"引":{"docs":{},"入":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"此":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"页":{"docs":{},"面":{"docs":{},"级":{"docs":{},"别":{"docs":{},"的":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"强":{"docs":{},"制":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"即":{"docs":{},"可":{"docs":{},"获":{"docs":{},"取":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"毋":{"docs":{},"须":{"docs":{},"特":{"docs":{},"意":{"docs":{},"去":{"docs":{},"维":{"docs":{},"护":{"docs":{},"该":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"综":{"docs":{},"上":{"docs":{},":":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}},"表":{"docs":{},"示":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.017241379310344827}},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}},"缓":{"docs":{},"存":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"输":{"docs":{},"入":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}},"页":{"docs":{},"的":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{},"而":{"docs":{},"且":{"docs":{},"毫":{"docs":{},"无":{"docs":{},"疑":{"docs":{},"问":{"docs":{},"地":{"docs":{},",":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"框":{"docs":{},"会":{"docs":{},"从":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"?":{"docs":{},"g":{"docs":{},"w":{"docs":{},"s":{"docs":{},"_":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"c":{"docs":{},"r":{"docs":{},",":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"#":{"docs":{},"q":{"docs":{},"=":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{},"&":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"=":{"1":{"docs":{},"&":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"=":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"&":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"1":{"0":{"docs":{},"关":{"docs":{},"键":{"docs":{},"点":{"docs":{},"是":{"docs":{},":":{"docs":{},"{":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"docs":{}},"2":{"0":{"docs":{},"关":{"docs":{},"键":{"docs":{},"点":{"docs":{},"是":{"docs":{},":":{"docs":{},"{":{"docs":{"development/URL-is-soul-of-SPA.html":{"ref":"development/URL-is-soul-of-SPA.html","tf":0.008620689655172414}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"则":{"docs":{},"动":{"docs":{},"态":{"docs":{},"获":{"docs":{},"取":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}},"于":{"docs":{},"是":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"为":{"docs":{},"其":{"docs":{},"新":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"则":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缓":{"docs":{},"存":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}},"密":{"docs":{},"码":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}},"帐":{"docs":{},"号":{"docs":{},",":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}},"库":{"docs":{},")":{"docs":{},"。":{"docs":{},"往":{"docs":{},"后":{"docs":{},"改":{"docs":{},"用":{"docs":{},"其":{"docs":{},"他":{"docs":{},"技":{"docs":{},"术":{"docs":{},"栈":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"组":{"docs":{},"件":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"这":{"docs":{},"样":{"docs":{},"子":{"docs":{},"操":{"docs":{},"作":{"docs":{},":":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"还":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"性":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"更":{"docs":{},"新":{"docs":{},"、":{"docs":{},"有":{"docs":{},"效":{"docs":{},"性":{"docs":{},"、":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},"等":{"docs":{},"诸":{"docs":{},"多":{"docs":{},"问":{"docs":{},"题":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"试":{"docs":{},"想":{"docs":{},",":{"docs":{},"若":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}},"这":{"docs":{},"个":{"docs":{},"类":{"docs":{},"中":{"docs":{},"就":{"docs":{},"对":{"docs":{},"应":{"docs":{},"存":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"名":{"docs":{},"为":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}},"样":{"docs":{},"做":{"docs":{},"的":{"docs":{},"好":{"docs":{},"处":{"docs":{},"是":{"docs":{},":":{"docs":{},"轻":{"docs":{},"量":{"docs":{},"化":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"统":{"docs":{},"一":{"docs":{},"管":{"docs":{},"理":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"相":{"docs":{},"对":{"docs":{},"鸡":{"docs":{},"肋":{"docs":{},"的":{"docs":{"development/Service-layer.html":{"ref":"development/Service-layer.html","tf":0.013157894736842105}}}}}}}}},"*":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.07042253521126761},"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"/":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}},"@":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.04225352112676056}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"游":{"docs":{},"志":{"docs":{},"军":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},",":{"docs":{},"见":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"[":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"]":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}},"[":{"docs":{},"普":{"docs":{},"通":{"docs":{},"组":{"docs":{},"件":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.028169014084507043}}}}}},"路":{"docs":{},"由":{"docs":{},"页":{"docs":{},"面":{"docs":{},"组":{"docs":{},"件":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"'":{"docs":{},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}},"|":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.056338028169014086}}},"↕":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.09859154929577464}}},"地":{"docs":{},"址":{"docs":{},")":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}},"封":{"docs":{},"装":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}},"格":{"docs":{},"式":{"docs":{},"变":{"docs":{},"更":{"docs":{},"、":{"docs":{},"数":{"docs":{},"据":{"docs":{},"格":{"docs":{},"式":{"docs":{},"转":{"docs":{},"换":{"docs":{},"、":{"docs":{},"错":{"docs":{},"误":{"docs":{},"处":{"docs":{},"理":{"docs":{},"、":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}}}}}},"统":{"docs":{},"一":{"docs":{},"化":{"docs":{},"处":{"docs":{},"理":{"docs":{},":":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"、":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{},")":{"docs":{"development/Ajax-interface.html":{"ref":"development/Ajax-interface.html","tf":0.014084507042253521}}}}}}}},"会":{"docs":{},"如":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},"这":{"docs":{},"些":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"设":{"docs":{},"定":{"docs":{},"了":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}},"字":{"docs":{},"段":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"动":{"docs":{},"化":{"docs":{},",":{"docs":{},"但":{"docs":{},"其":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"度":{"docs":{},"不":{"docs":{},"够":{"docs":{},"高":{"docs":{},",":{"docs":{},"必":{"docs":{},"要":{"docs":{},"性":{"docs":{},"也":{"docs":{},"不":{"docs":{},"大":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"仅":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"全":{"docs":{},"参":{"docs":{},"考":{"docs":{},"知":{"docs":{},"友":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}},"官":{"docs":{},"方":{"docs":{},"文":{"docs":{},"档":{"docs":{},",":{"docs":{},"仅":{"docs":{},"列":{"docs":{},"出":{"docs":{},"较":{"docs":{},"为":{"docs":{},"重":{"docs":{},"要":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"特":{"docs":{},"别":{"docs":{},"提":{"docs":{},"醒":{"docs":{},":":{"docs":{},"开":{"docs":{},"发":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"改":{"docs":{},"动":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}},"该":{"docs":{},"步":{"docs":{},"骤":{"docs":{},"可":{"docs":{},"通":{"docs":{},"过":{"docs":{},"读":{"docs":{},"取":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"现":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}},"已":{"docs":{},"实":{"docs":{},"现":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}},"打":{"docs":{},"包":{"docs":{},"进":{"docs":{},"来":{"docs":{},")":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"拓":{"docs":{},"展":{"docs":{},"阅":{"docs":{},"读":{"docs":{},":":{"docs":{},"解":{"docs":{},"读":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"本":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}},"文":{"docs":{},"档":{"docs":{},"不":{"docs":{},"打":{"docs":{},"算":{"docs":{},"照":{"docs":{},"搬":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"项":{"docs":{},"目":{"docs":{},"整":{"docs":{},"体":{"docs":{},"采":{"docs":{},"用":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}},"构":{"docs":{},"建":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}},"标":{"docs":{},"签":{"docs":{},"内":{"docs":{},"全":{"docs":{},"局":{"docs":{},"引":{"docs":{},"入":{"docs":{},"的":{"docs":{},"静":{"docs":{},"态":{"docs":{},"资":{"docs":{},"源":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}},"温":{"docs":{},"馨":{"docs":{},"提":{"docs":{},"示":{"docs":{},":":{"docs":{},"b":{"docs":{},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},".":{"docs":{},"j":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"库":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.012195121951219513}}}},"见":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}},"需":{"docs":{},"要":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}},"默":{"docs":{},"认":{"docs":{},"有":{"docs":{},"这":{"docs":{},"些":{"docs":{},"全":{"docs":{},"局":{"docs":{},"变":{"docs":{},"量":{"docs":{},":":{"docs":{"development/Configuration.html":{"ref":"development/Configuration.html","tf":0.006097560975609756}}}}}}}}}}}},"到":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"后":{"docs":{},"端":{"docs":{},"服":{"docs":{},"务":{"docs":{},"(":{"docs":{},"详":{"docs":{},"情":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"查":{"docs":{},"阅":{"docs":{},"相":{"docs":{},"关":{"docs":{},"资":{"docs":{},"料":{"docs":{},")":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}},"插":{"docs":{},"件":{"docs":{},"解":{"docs":{},"除":{"docs":{},"同":{"docs":{},"源":{"docs":{},"策":{"docs":{},"略":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"跨":{"docs":{},"域":{"docs":{},"(":{"docs":{},"不":{"docs":{},"推":{"docs":{},"荐":{"docs":{},")":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}}}}}}}}},"部":{"docs":{},"署":{"docs":{"development/CORS-and-Proxy.html":{"ref":"development/CORS-and-Proxy.html","tf":0.01818181818181818}}}},":":{"docs":{},"[":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"]":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}},"z":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}},"关":{"docs":{},"键":{"docs":{},"是":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}},"和":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"善":{"docs":{},"用":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"尽":{"docs":{},"量":{"docs":{},"避":{"docs":{},"免":{"docs":{},"在":{"docs":{},"模":{"docs":{},"板":{"docs":{},"中":{"docs":{},"设":{"docs":{},"置":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"判":{"docs":{},"断":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"善":{"docs":{},"用":{"docs":{},"计":{"docs":{},"算":{"docs":{},"属":{"docs":{},"性":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"优":{"docs":{},"化":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{},"·":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"移":{"docs":{},"动":{"docs":{},"·":{"docs":{},"刘":{"docs":{},"欣":{"docs":{},"然":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}}}}}},"恪":{"docs":{},"守":{"docs":{},"代":{"docs":{},"码":{"docs":{},"、":{"docs":{},"模":{"docs":{},"块":{"docs":{},"分":{"docs":{},"离":{"docs":{},",":{"docs":{},"d":{"docs":{},"r":{"docs":{},"i":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}}}},"或":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}},"拆":{"docs":{},",":{"docs":{},"前":{"docs":{},"提":{"docs":{},"是":{"docs":{},"粒":{"docs":{},"度":{"docs":{},"要":{"docs":{},"合":{"docs":{},"理":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}},"杜":{"docs":{},"绝":{"docs":{},"片":{"docs":{},"段":{"docs":{},"实":{"docs":{},"例":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}},"而":{"docs":{},"非":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"行":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"都":{"docs":{},"有":{"docs":{},"优":{"docs":{},"化":{"docs":{},"的":{"docs":{},"空":{"docs":{},"间":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}}},"进":{"docs":{},"行":{"docs":{},"静":{"docs":{},"态":{"docs":{},"检":{"docs":{},"测":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"见":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}}}}}}}}}},"通":{"docs":{},"读":{"docs":{"development/Best-practice.html":{"ref":"development/Best-practice.html","tf":0.006329113924050633}}}},"脚":{"docs":{},"手":{"docs":{},"架":{"docs":{},")":{"docs":{"Reference.html":{"ref":"Reference.html","tf":0.058823529411764705}}}}}}},"length":907},"corpusTokens":["#","$","$data。由此,在","$data。若是全局通用(包括模板中)需要用到的状态数据,就挂载到","$parent,而是通过","$rootscop","$route.params.msgid","$route.queri","$scope","$watch","$watch,同步其变化到对应的组件本地状态特别注意:由于状态与路由是双向同步的,因此安全性是必须考量的","'$route.query'","'../../../../components/foobar'","'../../../services/authservice'但有了路径别名后,只需要","'./foobar'","'./foobar.js'","'@/components/foobar'","'@/services/authservice'相比于","'history/lib/createbrowserhistory'您可能会觉得这是","'lodash'","'lodash/isempty'","'one',","'services/authservice'但在这里其实是会引起歧义的试问:import","'two'][this.i]","'vue'","'vue',","()","(__dev__)","(__prod__)","(authorservice.options)","(query,","(ui)","({","(不过当前微信已屏蔽掉这类链接的访问)","*","*/","+",".","...","...]",".babelrc",".babelrc配置详情请自行参考",".eslintignor",".eslintrc",".eslintrc,对其的任何修改都是立即生效配置规则请参考",".gitignor","/","/**","//","/auth/login)","/auth/login,那么","/authors),若不把这些数据缓存下来,那么每一次渲染该组件,都会发出一次请求。尤其是该组件极其常用的情况下,更会造成很多不必要的资源消耗。","/msg/add(新增留言)","/msg/detail/:msgid(查看留言)","/msg/list(留言板列表)","/msg/list)","/msg/update/:msgid(修改留言)","/msg(留言板首页,alia","/src/views/auth/login.vu","0","0.7.x","1.","1.x","1.x(辅以","1.x)","10","2","2.","2.x","20","200","3","3.","3.x","4","4.x","4.x(提供开发热更替与静态资源服务器)","6.x",":[prop]","=","=>","@[verb]","@param","@return","@游志军","@,见","['zero',","[普通组件","[路由页面组件","_","__prod__","_components/","_components/、_mixins/)","_mixins/","abramov","action","action。对于绝大部分中小型项目而言,这显然是过度设计,牛刀杀鸡。","add.vu","ajax","alive、canreus","allow","angular","angularj","api","app.j","app.vu","app,也有使用","aservic","assets/","auth/","authorselect.vu","authorservice.getoptions().then(opt","authorservice.opt","authorservice,里面定义一个","authservic","authservice.login({","autoloadbyparams.j","autosyncwithqueri","b","babel","bad","bar","bind:[prop],使用","bootstrap","breadcrumb.vu","browsersync","browsersyncplugin","browsersync(多端调试)","browsersync:见","bservic","bu","build","build/","build/config/env.j","build/dev.j","build/prod.j","build/webpack.base.conf.j","build/webpack.dev.conf.j","by、object.freeze、keep","c]]","cd","cli","click","clone","cnpm","code","commonschunkplugin","components/","computed:","const","control","createbrowserhistori","cservic","dan","data","data:","default","defineplugin","demo","demo.git","demo/issues/1","depend","detail.vu","devtool","dist/","dist/,配置","dllplugin","doc","docs/","docs/(文档)与","docs·babelrc","docs·rules(请注意当前版本为","dom。通过汇总应用的状态管理于一处,我们就不必到处传递事件。因为任何牵扯到一个以上组件的逻辑,都应该写在这里。此外,这样做也能让我们更容易地记录并观察状态的变更(mutation,原意为突变),甚至可以实现出华丽如时光旅行一般的调试效果。","enough","entry.vendor","es5:","es6","es6gulp","es6。例如,请把如下代码转译成","eslint","eteplus/vu","event","example·counter,您应该会觉得","export","express","filters/","fine」,见","flux","foo","foobar","formatter,使得点击命令行中的报错后可以直接跳到目标位置","friendli","g","getopt","get)","git","gitbook","global","good","googl","guid","gulp","gulp)","hello:","histori","html","http","https://github.com/kenberkeley/vu","https://registry.npm.taobao.org","i:","import","index.html","index.vu","inlin","instal","isempti","issu","jqueri","kenberkeley","kenberkeley/vue2","level","limitselect.vu","link.vu","list.vu","local","localhost:8080若浏览器没有自动弹出,则请自行手动访问","localstorag","lodash","login","login.vu","logout.vu","lowdb","middlewar","mixin","mixins/","mock","mock/","mock/(mock","mock,避免在组件中分别实现请求而导致管理上的混乱(对日后的重构也不友好)。而且,前端的服务与后端的","model","msg/","msg/)内部可分离出通用部分(如","msgform.vu","mutat","mvc","mvvm","name","navbar.vu","need","nginx","node","node_env","nodemon、supervisor","npm","oldquery)","on","on:[verb]","optbtngroup.vu","option","options.bodi","options.method","options.url","origin:","package.json","package同样地,您又怎么知道","package?综上,引入路径别名可以满足简约与避免歧义的需求","pagination.vu","path本项目不引入上述插件主要是考虑到非官方、维护不稳定等因素","plugin","plugin、webpack","prebuild","process.env.node_env、__env__、__dev__","prop","proxi","proxy_pass","pr)","q:","queri","react","reduc","redux","redux,实现出","registri","registry=https://registry.npm.taobao.org","repl","req.bodi","resolve.alia","resolve.extens","resolve.root","resourc","return","rollup","rootpath","router","router,可以完全掌控","routes/","run","sass","scaffold(vu","schemes)例如访问","script","scripts:","select/","select2","select2.vu","server","servic","services/","sessionstorag","set","show","sidebar/","spa,你很有可能已经需要思考应该如何更好地归纳","split","splitting,","src/","src/components/","src/components/、src/mixins/","src/history/lib/createbrowserhistory.js但实际上","src/mixins/autosyncwithquery.js)","src/services/authservice.j","src/services/xhr/","src/services/xhr/index.j","src/services/xhr/index.js)","src/views/","src/就可以直接","start","start:","state","state)和","state)进行区分。应用级的状态不属于任何特定的组件,但每一个组件仍然可以监视(observe)其变化从而响应式地更新","static/","store","string同时,也对","sui","sync","templat","templates/webpack","text","this.$root","this.opt","tini","track","trim","two","uglifyj","uglifyjs,里面介绍了","update.vu","url","utils/","uuid","v","vendor.js详见","view","views/","vue","vue.j","vuej","vuex","vuex。一个简单的","vuex。也不建议过早地使用","vuex。但如果你正在构建一个中型以上规模的","vuex,专注于应用层级的状态管理。","vuex,因此不能使用","vuex,实在是太不值得了。这个时候,就需要借鉴","vuex,虽可使数据流动明确,但破坏了组件的直观性,尤其是团队水平参差不齐的情况下,全局的状态管理很容易成为项目开发与维护的负担。就像","vue,敲下回车,就跳转到了搜索结果的页面,此时","watch","watch:","webpack","weixin://dl/mo","world:","xhr","zero","{","{object}","{promise}","{string}","|","}","})","}),","§","“每页显示多少条记录”","“物以类聚”,善用目录自包含","↕","≥","⊙","│","└──","├──","「local","一一对应的请求类。例如,用户登录的","一一对应,在理解上也会变得更加容易。","一下:process.env.node_env.trim()","一般不会涉及到具体的业务逻辑","一般是使用","一般来说,涉及到权限的必须用","上述","上述各项服务的端口配置:build/config/ports.j","上述四个依赖","上述目录结构中,需要注意的是","上,对应着","下存放着侧栏组件主体","下存放着全局通用的下拉框组件src/components/sidebar/","下拉框选择框组件","下拉选择框","不存在缓存,则动态获取","不是一个","与","与代码热更替已经带给我们足够好的开发体验。结构约定俗成,条理清晰;代码风格统一,高内聚低耦合;容易上手、接手与维护······","与其分拆出来的导航链接组件","与页面状态的同步性,满足保存书签、强制刷新、前进回退等基本需求(至于同步的粒度需要细致到什么程度,就需要根据实际情况自行斟酌了)","中","中使用","中定义)若要继续添加,则还需要在","中提取对应的关键字进行同步","中的","中的依赖注入,这种方式依赖于构建工具,显得更为简单","中的这两个目录以树状形式展开:","中的:","中设置","中间还有一层","中,组件状态一般是挂载到","为","为了更好的解决在大型应用中状态的共用问题,我们需要对组件的","主要是业务性的页面组件,基本不具备通用性","主要是全局性的,或通用性很强的组件,具备良好的封装性","乃轻量级的","之外,应用的其他组成部分。这就是","乍一看本","于是,我们为其新建一个服务,命名为","仅为文档撰写所需您往后的开发中,可以删掉:","仅为留言板","仅用于合并压缩打包静态基页(src/index.html)中","代理转发(推荐)","代理(用于多端联合同步调试),但与本篇讨论的跨域代理无关","代码","代码应当拆写","以实现真正的分离打包","以表示应用的状态","会如何处理这些环境变量","但","但实际上无论是从目录组织、文档说明还是从设计思想、团队协作等层面本","作为一个","作者","例如,https://github.com/kenberkeley","例如,slot","例如,在某组件中,引入","例如,我们在","例如,用户必须登录后才能查看的,请用","例如:src/components/select/","侧边栏","侧边栏组件","全局安装","关键是","再点击下一页(第","函数的便利不过我们仍可以通过","函数,极其方便地让我们响应","分页","到对应的后端服务(详情请自行查阅相关资料)","包,诚邀品鉴!","单独分离打包","单组件文件代码量若超","单页应用的精华在于:","即可实现请求。","即可访问全局状态。","即可,服务层与组件层完全不需要改动","参照","参考","只需要设定了","可以使用","可以帮助我们管理共享状态,但也附带了更多的概念和框架。这需要对短期和长期效益进行权衡。","可以表现应用的状态,而且在一定程度上,url","可使用","可是,全局通用且状态持久的数据占极少数,若为此而引入","可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用","各功能模块(如","同时,您还需要熟悉","同步其变化到","同步写入由此即可根据当前运行环境执行对应的代码:","启动文件","命令","和","善用","在","在上篇谈状态管理中,我们总结了没有引入","在开始前,希望您已通读如下资料:","在此安利一波我写的","在此需要提醒,在","地址)","基本与路由一一对应(例如","基本的命名规范、代码风格等,请自行查阅相关资料项目使用","处理的静态文件","如果您不打算开发大型单页应用,使用","如果您看过最简单的例子","字段实现自动化,但其灵活度不够高,必要性也不大(例如,我们仅使用了","存在缓存,则使用缓存","安装","安装依赖","完全参考知友","官方文档,仅列出较为重要的部分特别提醒:开发过程中,改动","实现","实际上","实际上该步骤可通过读取","密码","对","对于这个问题,作者尤雨溪有如下评述:","对代码进行静态检测,使用","对应","对应着路由","对此我们还有别的替代方案:split","导航链接封装","封装","将会成为自然而然的选择。引用","就会跳转到朋友圈页面","就在根目录下新增了","就是应用状态的最佳表现形式","就是直接复制本","就足够您所需了。但是,如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,vuex","就连微信这种原生","尽量避免在模板中设置过多的判断条件,善用计算属性","层的,仅限于全局通用且状态持久的数据(例如用户认证信息)。若把所有应用数据(尤指一些实时性较高的数据以及非共享的数据)都糅合在一处,那就像是把所有变量都挂载到全局。","层罢了),抽离出操作方法等(control","层面上,提高效能的优化手段有很多,例如","层),也是自然而然的。这是基于大型项目协作开发中,前人踩坑后的最佳经验总结,同时也是当前前端","层,不具备数据的双向绑定能力,其数据流是单向的。既然是单向数据流,那么将整个应用状态汇于一处集中管理(这就是传统意义上的","层,只是改名为","层,在此为","属性中后缀带","属性接收父组件的传入","工具类","已实现","希望往下的内容,可以帮助您深入了解,理清思路","帐号,","库)。往后改用其他技术栈(react","应用层级状态(applic","开发","开发服务器","开发服务器代理转发:见","开发环境下执行的代码","开发过程中,chrome","开始","引入文件时,省略默认解析的文件后缀","引入服务层","强烈建议升级到","当你的应用还很简单的时候,你多半并不需要","当然,您也可以自行配置","忽略的文件(夹)","性能优化最佳实践·阿里移动·刘欣然","总览","恪守代码、模块分离,dri","您可以根据业务需求改动目录结构譬如本","您可能会说,webpack","我们在单独使用","我们并没有引入","或","打包进来)","技术栈","技术栈并没有太大关系(前提是您没有用","把简单问题复杂化了(的确如此)。为了实现全局状态管理,把原本简单纯粹的双向绑定以及操作方法都剥离开来,抽象成","拆,前提是粒度要合理","拓展阅读:解读","拥有无缝切换体验的同时,保证","换源并不能解决","接口","接口化","接口的好处是显而易见的:","接口(详见","接口:见","提供","提供的","插件解除同源策略的限制","放置无需经由","放置需要经由","教程,可以让您快速理解","文档","文档中提到的:","文档,通读","方法,在组件初始化的时候,可以这样子操作:","既然我们发现了这种规律,那么使用空白标签页直接访问:https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=30显然就是第","是一个","是单页应用的精华","是:https://www.google.com/?gws_rd=cr,ssl#newwindow=1&safe=strict&q=vue关键点是:{","更多技巧可参考","更新:已封装出设计更为合理的","更重要的是,服务层与","替代","最佳实践","最小化引入类库(除非您使用了","最理想的状态也莫过于此。引入","服务器","服务器所需。同样地,devdepend","服务器)","服务层","服务层的主要功能是:封装好与后端","服务层还有一个妙用:用于缓存相关的数据。例如,我们有一个选择用户的下拉框组件,里面的数据是动态获取的(假设","服务(统一管理","本","本文档不打算照搬","本项目整体采用","杜绝片段实例","来实现同样的功能:","来自动同步路由与组件的状态但稍微封装一下,就可以完全满足我们的需求(详情请见","构建,使用","架构就像眼镜:您自会知道什么时候需要它。","架构究竟好在哪。","架构,未免有点舍本逐末了。私认为,对于一个使用","标签内全局引入的静态资源","根据","根据注释,我们大概知道了二者的差别:","根组件","根组件的","格式变更、数据格式转换、错误处理、mock","框架","框架,若完全照搬相对抽象的","检查中需忽略的文件(夹)","模式构建的单页应用而言,需要置于","模板中使用","注意:","注销登录页","深入了解","温馨提示:build/webpack.base.conf.j","源码目录位置可简写为","源码目录(开发都在这里进行)","点击下一页(第","版本迭代(releases)","状态管理的最佳实践应为:组件自包含状态数据(组件本地状态),全局持久性通用数据(应用层级状态)集中管理。","环境变量","环境强烈推荐往后使用","生产","生产环境下执行的代码","生产环境下的代理","生成的官方开发模板并没有太大差异","生成的生产环境下的项目","用户认证模块","由","由于我们没有引入","由此,就可以实现页面级别的缓存,强制刷新即可获取最新的数据,毋须特意去维护该缓存。","留言发布者选择下拉框","留言操作按钮组","留言板模块","留言板模块共用","留言板模块共用组件","留言表单","登录页","的","的一些经验实践来实现","的二进制源码包下载极慢的问题","的作者","的函数,只需要调用","的区别不妨把本","的原因其实还有一个很重要的原因:我们使用了","的原理相当简单:约定组件","的变化以进行","的回答","的字段,使用","的封装","的开发理念","的时候,通常会把状态储存在组件的内部。也就是说,每一个组件都拥有当前应用状态的一部分,整个应用的状态是分散在各个角落的。然而我们经常会需要把状态的一部分共享给多个组件。一个常见的解决策略为:使用定制的事件系统,让一个组件把一些状态“发送”到其他组件中。这种模式的问题在于,大型组件树中的事件流会很快变得非常繁杂,并且调试时很难去找出究竟哪错了。","的最佳实践。","的某几个函数,就没必要将整个","的状态存储功能:","的第一个","的编码秉承最佳实践,不妨参阅","的编译作用域搞清楚了吗?","的话说就是:","的路径别名","的首页又例如,https://github.com/kenberkeley/vu","目前主要是两种方案:直接跨域与代理转发","目录","目录下的配置,都需要重启才能生效(您也可以使用","目录结构","直接跨域(不推荐)","相关代码","相关配置","移动文档","等","等工具进行自动监控重启)","等)","等)时,服务层可直接复制过去,毋须改动任何代码。","答案请在","类库","组件","组件中,直接使用","组件内部的","组件本地状态(compon","结合实际情况,我们需要的可能不是炫酷的“时光旅行”,皆因","结合尤大的说法,vue","统一化处理:自定义拦截、api","综上:url","缓存,还要考虑兼容性、数据更新、有效性、安全性等诸多问题","编译完成后,将在项目根目录生成","编译完成后,默认浏览器就会自动打开","而非","脚手架)","自动加载","自动打包成","自行验证","若多个功能模块通用的,则建议移到全局,即","若项目升级需要替换","获取该对象)","虽然","行,一般都有优化的空间","表示","表示应用的状态(url","要大显身手的时刻。","要注意末尾空格的问题使用前最好先","见","设置","设置缓存","试想,若使用","请尽量保证数据流的可追踪性。尽量不要使用","请求体(例如后端","请求库,则仅需要重新实现","请求当然,如果并非路由页面组件,是不能够享受到","请求方法(默认为","请求路径(基于","请求)","请求,提高代码复用,方便","谈状态管理","跨域与代理","路径别名","路径别名的好处是显而易见的","路由","路由页面组件","转码配置","转译","输入框输入","过滤器","过长的","运行","这个类中就对应存在一个名为","这样做的好处是:轻量化组件,统一管理","这类相对鸡肋的","进行静态检测,配置见","通读","部署","都更适合常规单页应用的开发","配置","配置文件见项目根目录下的","配置目录","配置见","问题反馈(issues)","需要","静态基页","面包屑","页的搜索结果。而且毫无疑问地,搜索框会从","页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=10关键点是:{","页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=20关键点是:{","顶部导航栏","预备知识","首页","默认有这些全局变量:","(后三者在","(未完待续,欢迎","(这个就不用多解释了吧)","(配置)eslint","(配置)需被",",主要是基于以下考量:"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"总览","keywords":"","body":"§ 总览\n\n总览\n开始\n技术栈\n目录结构\n深入了解\n谈状态管理\nURL 是单页应用的精华\n引入服务层\nAjax 接口化\n配置\n跨域与代理\n最佳实践\n\n\n参考\n问题反馈(issues)\n版本迭代(releases)\n\n"},"Getting-started.html":{"url":"Getting-started.html","title":"开始","keywords":"","body":"§ 开始\n⊙ 预备知识\n在开始前,希望您已通读如下资料:\n\nVue.js 1.x Guide\nVue.js 1.x API\nVue Router docs for Vue 1.x\n\n同时,您还需要熟悉 ES6。例如,请把如下代码转译成 ES5:\nconst foo = ({ hello: { world: bar } }) => ({ bar })\n\n\n答案请在 Babel REPL 自行验证\n\n⊙ 安装\n\n强烈建议升级到 node ≥ 6.x / npm ≥ 3.x 环境强烈推荐往后使用 cnpm 替代 npm 安装依赖 \n运行 npm set registry https://registry.npm.taobao.org 换源并不能解决 node-sass 的二进制源码包下载极慢的问题\n\n$ npm install -g cnpm --registry=https://registry.npm.taobao.org # 全局安装 cnpm\n\n$ git clone https://github.com/kenberkeley/vue-demo.git\n$ cd vue-demo\n$ cnpm i\n⊙ 命令\n开发\n$ npm start\n编译完成后,默认浏览器就会自动打开 localhost:8080若浏览器没有自动弹出,则请自行手动访问\n生产\n$ npm run build\n编译完成后,将在项目根目录生成 dist/ 目录\n"},"Features.html":{"url":"Features.html","title":"技术栈","keywords":"","body":"§ 技术栈\n\nVue 1.x\nVue Router 0.7.x\nES6 + Babel + ESLint 1.x\nLodash 4.x\nWebpack 1.x(辅以 Gulp)\nBrowserSync(多端调试)\nExpress 4.x(提供开发热更替与静态资源服务器)\njQuery + BootStrap 3.x (UI)\n\n\n注意:\npackage.json 的 dependencies 中的: \n\nlowdb\nuuid\ntiny-express\n\n仅为留言板 Mock 服务器所需。同样地,devDependencies 中的: \n\ngitbook-cli\n\n仅为文档撰写所需您往后的开发中,可以删掉:\n\n上述四个依赖\nbuild/prod.js 中的 移动文档 代码\ndocs/ 与 mock/ 目录\nsrc/services/xhr/index.js 中的 Mock Server 相关代码\npackage.json 中的 npm-scripts: prebuild\n\n\n"},"Structure.html":{"url":"Structure.html","title":"目录结构","keywords":"","body":"§ 目录结构\n.\n├── build/ # Webpack 配置目录\n├── dist/ # build 生成的生产环境下的项目\n├── src/ # 源码目录(开发都在这里进行)\n│ ├── assets/ # 放置需要经由 Webpack 处理的静态文件\n│ ├── components/ # 组件\n│ ├── filters/ # 过滤器\n│ ├── mixins/ \n│ ├── routes/ # 路由\n│ ├── services/ # 服务(统一管理 XHR 请求)\n│ ├── utils/ # 工具类\n│ ├── views/ # 路由页面组件\n│ ├── app.js # 启动文件\n│ ├── index.html # 静态基页\n├── static/ # 放置无需经由 Webpack 处理的静态文件\n├── .babelrc # Babel 转码配置\n├── .eslintignore # (配置)ESLint 检查中需忽略的文件(夹)\n├── .eslintrc # ESLint 配置\n├── .gitignore # (配置)需被 Git 忽略的文件(夹)\n├── package.json # (这个就不用多解释了吧)\n您可以根据业务需求改动目录结构譬如本 demo 就在根目录下新增了 docs/(文档)与 mock/(Mock 服务器)\n\n上述目录结构中,需要注意的是 src/components/ 与 src/views/ 的区别不妨把本 demo 中的这两个目录以树状形式展开:\nsrc/components/ # 组件\n ├── App.vue # 根组件\n ├── Breadcrumb.vue # 面包屑\n ├── Navbar.vue # 顶部导航栏\n ├── Pagination.vue # 分页\n ├── Select/ # 下拉框选择框组件\n │ ├── LimitSelect.vue # “每页显示多少条记录” 下拉选择框\n │ └── Select2.vue # 对 Select2 的封装\n └── Sidebar/ # 侧边栏组件\n ├── index.vue # 侧边栏\n └── Link.vue # 导航链接封装\n\nsrc/views/ # 路由页面组件\n ├── index.vue # 首页\n ├── auth/ # 用户认证模块\n │ ├── login.vue # 登录页\n │ └── logout.vue # 注销登录页\n └── msg/ # 留言板模块\n ├── index.vue # 对应 /msg(留言板首页,alias => /msg/list)\n ├── list.vue # 对应 /msg/list(留言板列表)\n ├── add.vue # 对应 /msg/add(新增留言)\n ├── detail.vue # 对应 /msg/detail/:msgId(查看留言)\n ├── update.vue # 对应 /msg/update/:msgId(修改留言)\n ├── _components/ # 留言板模块共用组件\n │ ├── AuthorSelect.vue # 留言发布者选择下拉框\n │ ├── MsgForm.vue # 留言表单\n │ └── OptBtnGroup.vue # 留言操作按钮组\n └── _mixins/ # 留言板模块共用 mixins\n └── autoLoadByParams.js # 根据 $route.params.msgId 自动加载\n根据注释,我们大概知道了二者的差别:\nsrc/components/\n\n主要是全局性的,或通用性很强的组件,具备良好的封装性\n一般不会涉及到具体的业务逻辑\n\nsrc/views/\n\n主要是业务性的页面组件,基本不具备通用性\n基本与路由一一对应(例如 /src/views/auth/login.vue 对应着路由 /auth/login)\n各功能模块(如 msg/)内部可分离出通用部分(如 _components/、_mixins/)\n\n\n若多个功能模块通用的,则建议移到全局,即 src/components/、src/mixins/ 等\n\n"},"development/":{"url":"development/","title":"深入了解","keywords":"","body":"§ 深入了解\n乍一看本 demo 与 vue-cli 生成的官方开发模板并没有太大差异\n但实际上无论是从目录组织、文档说明还是从设计思想、团队协作等层面本 demo 都更适合常规单页应用的开发\n希望往下的内容,可以帮助您深入了解,理清思路\n"},"development/State-management.html":{"url":"development/State-management.html","title":"谈状态管理","keywords":"","body":"§ 谈状态管理\nVue 参照 Flux / Redux,实现出 Vuex,专注于应用层级的状态管理。\n我们并没有引入 Vuex ,主要是基于以下考量:\n如果您看过最简单的例子 Example·Counter,您应该会觉得 Vuex 把简单问题复杂化了(的确如此)。为了实现全局状态管理,把原本简单纯粹的双向绑定以及操作方法都剥离开来,抽象成 Vuex 的 state / mutation / action。对于绝大部分中小型项目而言,这显然是过度设计,牛刀杀鸡。\n对于这个问题,作者尤雨溪有如下评述:\n\n   当你的应用还很简单的时候,你多半并不需要 Vuex。也不建议过早地使用 Vuex。但如果你正在构建一个中型以上规模的 SPA,你很有可能已经需要思考应该如何更好地归纳 Vue 之外,应用的其他组成部分。这就是 Vuex 要大显身手的时刻。   我们在单独使用 Vue.js 的时候,通常会把状态储存在组件的内部。也就是说,每一个组件都拥有当前应用状态的一部分,整个应用的状态是分散在各个角落的。然而我们经常会需要把状态的一部分共享给多个组件。一个常见的解决策略为:使用定制的事件系统,让一个组件把一些状态“发送”到其他组件中。这种模式的问题在于,大型组件树中的事件流会很快变得非常繁杂,并且调试时很难去找出究竟哪错了。   为了更好的解决在大型应用中状态的共用问题,我们需要对组件的 组件本地状态(component local state)和 应用层级状态(application level state)进行区分。应用级的状态不属于任何特定的组件,但每一个组件仍然可以监视(Observe)其变化从而响应式地更新 DOM。通过汇总应用的状态管理于一处,我们就不必到处传递事件。因为任何牵扯到一个以上组件的逻辑,都应该写在这里。此外,这样做也能让我们更容易地记录并观察状态的变更(Mutation,原意为突变),甚至可以实现出华丽如时光旅行一般的调试效果。\n\nReact 作为一个 View 层,不具备数据的双向绑定能力,其数据流是单向的。既然是单向数据流,那么将整个应用状态汇于一处集中管理(这就是传统意义上的 Model 层,只是改名为 Store 层罢了),抽离出操作方法等(Controller 层,在此为 Action 与 Reducer 层),也是自然而然的。这是基于大型项目协作开发中,前人踩坑后的最佳经验总结,同时也是当前前端 MVC 的最佳实践。\n但 Vue 乃轻量级的 MVVM 框架,若完全照搬相对抽象的 Flux / Redux 架构,未免有点舍本逐末了。私认为,对于一个使用 MVVM 模式构建的单页应用而言,需要置于 Store 层的,仅限于全局通用且状态持久的数据(例如用户认证信息)。若把所有应用数据(尤指一些实时性较高的数据以及非共享的数据)都糅合在一处,那就像是把所有变量都挂载到全局。\n\n「Local state is fine」,见 Redux 作者 Dan Abramov 的 You Might Not Need Redux\n\n结合尤大的说法,Vue 状态管理的最佳实践应为:组件自包含状态数据(组件本地状态),全局持久性通用数据(应用层级状态)集中管理。\n\n可是,全局通用且状态持久的数据占极少数,若为此而引入 Vuex,实在是太不值得了。这个时候,就需要借鉴 AngularJS 的一些经验实践来实现 Vuex 的状态存储功能:\n在 Angular 1.x 中,组件状态一般是挂载到 $scope 上,对应着 Vue 组件内部的 $data。若是全局通用(包括模板中)需要用到的状态数据,就挂载到 $rootScope 上,对应着 Vue 根组件的 $data。由此,在 Vue 组件中,直接使用 this.$root 即可访问全局状态。\n\n结合实际情况,我们需要的可能不是炫酷的“时光旅行”,皆因 Devtools 与代码热更替已经带给我们足够好的开发体验。结构约定俗成,条理清晰;代码风格统一,高内聚低耦合;容易上手、接手与维护······ 最理想的状态也莫过于此。引入 Vuex,虽可使数据流动明确,但破坏了组件的直观性,尤其是团队水平参差不齐的情况下,全局的状态管理很容易成为项目开发与维护的负担。就像 Vuex 文档中提到的:\n\n虽然 Vuex 可以帮助我们管理共享状态,但也附带了更多的概念和框架。这需要对短期和长期效益进行权衡。 \n如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。一个简单的 global event bus 就足够您所需了。但是,如果您需要构建是一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。引用 Redux 的作者 Dan Abramov 的话说就是:\nFlux 架构就像眼镜:您自会知道什么时候需要它。\n\n在此安利一波我写的 Redux 教程,可以让您快速理解 Flux 架构究竟好在哪。\n"},"development/URL-is-soul-of-SPA.html":{"url":"development/URL-is-soul-of-SPA.html","title":"URL 是单页应用的精华","keywords":"","body":"§ URL 是单页应用的精华\n在上篇谈状态管理中,我们总结了没有引入 Vuex 的原因其实还有一个很重要的原因:我们使用了 vue-router,可以完全掌控 URL 以表示应用的状态\n例如,我们在 Google 输入框输入 vue,敲下回车,就跳转到了搜索结果的页面,此时 URL 是:https://www.google.com/?gws_rd=cr,ssl#newwindow=1&safe=strict&q=vue关键点是:{ q: 'vue' }\n点击下一页(第 2 页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=10关键点是:{ q: 'vue', start: 10 }\n再点击下一页(第 3 页):https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=20关键点是:{ q: 'vue', start: 20 }\n既然我们发现了这种规律,那么使用空白标签页直接访问:https://www.google.com/?gws_rd=cr,ssl#q=vue&newwindow=1&safe=strict&start=30显然就是第 4 页的搜索结果。而且毫无疑问地,搜索框会从 URL 中提取对应的关键字进行同步\n综上:URL 可以表现应用的状态,而且在一定程度上,URL 就是应用状态的最佳表现形式\n\n单页应用的精华在于:\n拥有无缝切换体验的同时,保证 URL 与页面状态的同步性,满足保存书签、强制刷新、前进回退等基本需求(至于同步的粒度需要细致到什么程度,就需要根据实际情况自行斟酌了)\n\n例如,https://github.com/kenberkeley 表示 kenberkeley 的首页又例如,https://github.com/kenberkeley/vue-demo/issues/1 表示 vue-demo 的第一个 issue\n就连微信这种原生 APP,也有使用 URL 表示应用的状态(URL Schemes)例如访问 weixin://dl/moments 就会跳转到朋友圈页面 (不过当前微信已屏蔽掉这类链接的访问)\n\n\nvue-router 提供的 data 函数,极其方便地让我们响应 URL 的变化以进行 xhr 请求当然,如果并非路由页面组件,是不能够享受到 data 函数的便利不过我们仍可以通过 watch 来实现同样的功能:\nwatch: {\n '$route.query' (query, oldQuery) {\n // ...\n }\n}\n\n\n由于我们没有引入 Vuex,因此不能使用 vuex-router-sync 来自动同步路由与组件的状态但稍微封装一下,就可以完全满足我们的需求(详情请见 src/mixins/autoSyncWithQuery.js) \n\n上述 autoSyncWithQuery 的原理相当简单:约定组件 data 属性中后缀带 $ 的字段,使用 $watch 同步其变化到 query string同时,也对 $route.query 设置 $watch,同步其变化到对应的组件本地状态特别注意:由于状态与路由是双向同步的,因此安全性是必须考量的\n更新:已封装出设计更为合理的 vue-sync-query-mixin npm 包,诚邀品鉴!\n\n"},"development/Service-layer.html":{"url":"development/Service-layer.html","title":"引入服务层","keywords":"","body":"§ 引入服务层\n服务层的主要功能是:封装好与后端 API 一一对应的请求类。例如,用户登录的 API 为 /auth/login,那么 src/services/authService.js 这个类中就对应存在一个名为 login 的函数,只需要调用 authService.login({ 帐号, 密码 }) 即可实现请求。\n这样做的好处是:轻量化组件,统一管理 XHR 请求,提高代码复用,方便 mock,避免在组件中分别实现请求而导致管理上的混乱(对日后的重构也不友好)。而且,前端的服务与后端的 API 一一对应,在理解上也会变得更加容易。\n更重要的是,服务层与 Vue 技术栈并没有太大关系(前提是您没有用 vue-resource 这类相对鸡肋的 Ajax 库)。往后改用其他技术栈(React 等)时,服务层可直接复制过去,毋须改动任何代码。\n\nReact Demo 就是直接复制本 demo 的 services/ 目录\n\n\n服务层还有一个妙用:用于缓存相关的数据。例如,我们有一个选择用户的下拉框组件,里面的数据是动态获取的(假设 API 为 GET /authors),若不把这些数据缓存下来,那么每一次渲染该组件,都会发出一次请求。尤其是该组件极其常用的情况下,更会造成很多不必要的资源消耗。\n于是,我们为其新建一个服务,命名为 authorService,里面定义一个 getOptions 方法,在组件初始化的时候,可以这样子操作:\nif (authorService.options) {\n // 存在缓存,则使用缓存\n this.options = authorService.options\n} else {\n // 不存在缓存,则动态获取\n authorService.getOptions().then(options => {\n this.options = authorService.options = options // 设置缓存\n })\n}\n\n由此,就可以实现页面级别的缓存,强制刷新即可获取最新的数据,毋须特意去维护该缓存。\n\n试想,若使用 LocalStorage / SessionStorage 缓存,还要考虑兼容性、数据更新、有效性、安全性等诸多问题\n\n"},"development/Ajax-interface.html":{"url":"development/Ajax-interface.html","title":"Ajax 接口化","keywords":"","body":"§ Ajax 接口化\n[路由页面组件 A [普通组件 B [普通组件 C]] ...]\n ↕ ↕ ↕\n------------------------------------------\n| aService bService cService | 服务层\n------------------------------------------\n ↕ ↕ ↕\n------------------------------------------\n| xhr | Ajax 接口\n------------------------------------------\n ↕\n API 服务器\n/**\n * xhr 接口(详见 src/services/xhr/index.js)\n * @param {String} options.method 请求方法(默认为 get)\n * @param {String} options.url 请求路径(基于 rootPath 地址)\n * @param {Object} options.body 请求体(例如后端 Express 可使用 req.body 获取该对象)\n * @return {Promise}\n */\n\n封装 xhr 接口的好处是显而易见的:\n\n若项目升级需要替换 Ajax 请求库,则仅需要重新实现 xhr 即可,服务层与组件层完全不需要改动\n统一化处理:自定义拦截、API 格式变更、数据格式转换、错误处理、mock 等\n\n"},"development/Configuration.html":{"url":"development/Configuration.html","title":"配置","keywords":"","body":"§ 配置\n本项目整体采用 Webpack 构建,使用 ESLint 对代码进行静态检测,使用 Babel 转译 ES6Gulp 仅用于合并压缩打包静态基页(src/index.html)中 build 标签内全局引入的静态资源 \n⊙ Webpack\n\n本文档不打算照搬 Webpack 官方文档,仅列出较为重要的部分特别提醒:开发过程中,改动 build/ 目录下的配置,都需要重启才能生效(您也可以使用 Nodemon、Supervisor 等工具进行自动监控重启)\n\n1. 框架 / 类库 单独分离打包\n\n见 build/webpack.base.conf.js 中的 entry.vendor\n\n当然,您也可以自行配置 DllPlugin 以实现真正的分离打包\n实际上该步骤可通过读取 package.json 的 dependencies 字段实现自动化,但其灵活度不够高,必要性也不大(例如,我们仅使用了 lodash 的某几个函数,就没必要将整个 lodash 打包进来)\n对此我们还有别的替代方案:split-by-name-webpack-plugin、webpack-split-by-path本项目不引入上述插件主要是考虑到非官方、维护不稳定等因素\n参考 Webpack 2.x 的 Code Splitting,\n已实现 框架 / 类库 自动打包成 vendor.js详见 build/webpack.base.conf.js 中的 CommonsChunkPlugin 配置\n2. 路径别名\n\n源码目录位置可简写为 @,见 build/webpack.base.conf.js 中的 resolve.alias\n\n路径别名的好处是显而易见的\n例如,在某组件中,引入 authService 需要 import authService from '../../../services/authService'但有了路径别名后,只需要 import authService from '@/services/authService'相比于 AngularJS 中的依赖注入,这种方式依赖于构建工具,显得更为简单 \n您可能会说,Webpack 只需要设定了 resolve.root 为 src/就可以直接 import authService from 'services/authService'但在这里其实是会引起歧义的试问:import createBrowserHistory from 'history/lib/createBrowserHistory'您可能会觉得这是 src/history/lib/createBrowserHistory.js但实际上 history 是一个 npm package同样地,您又怎么知道 services 不是一个 npm package?综上,引入路径别名可以满足简约与避免歧义的需求\n3. 环境变量\n\n由 build/webpack.dev.conf.js 中的 DefinePlugin 提供\n\n默认有这些全局变量: process.env.NODE_ENV、__ENV__、__DEV__ 与 __PROD__\n(后三者在 build/config/ENV.js 中定义)若要继续添加,则还需要在 .eslintrc 中 globals 同步写入由此即可根据当前运行环境执行对应的代码:\nif (__DEV__) {\n // 开发环境下执行的代码\n}\nif (__PROD__) {\n // 生产环境下执行的代码\n}\n\n\n在此需要提醒,在 npm scripts 中设置 NODE_ENV 要注意末尾空格的问题使用前最好先 trim 一下:process.env.NODE_ENV.trim()\n拓展阅读:解读 UglifyJS,里面介绍了 UglifyJS 会如何处理这些环境变量\n\n⊙ ESLint\n配置文件见项目根目录下的 .eslintrc,对其的任何修改都是立即生效配置规则请参考 docs·rules(请注意当前版本为 1.x)\n\n温馨提示:build/webpack.base.conf.js 中的 eslint-friendly-formatter,使得点击命令行中的报错后可以直接跳到目标位置\n\n⊙ Babel\n配置文件见项目根目录下的 .babelrc配置详情请自行参考 docs·babelrc\n⊙ Gulp\n\n完全参考知友 @游志军 的回答\n\n"},"development/CORS-and-Proxy.html":{"url":"development/CORS-and-Proxy.html","title":"跨域与代理","keywords":"","body":"§ 跨域与代理\n目前主要是两种方案:直接跨域与代理转发\n⊙ 直接跨域(不推荐)\nxhr 接口 API 服务器\n\n开发过程中,Chrome 可以使用 Allow-Control-Allow-Origin: * 插件解除同源策略的限制\n\n⊙ 代理转发(推荐)\nxhr 接口 API 服务器\n\n实际上 xhr 接口 与 开发服务器 中间还有一层 BrowserSync 代理(用于多端联合同步调试),但与本篇讨论的跨域代理无关\n\n\n相关配置\n\nxhr 接口:见 src/services/xhr/ \n开发服务器代理转发:见 build/dev.js 中使用 http-proxy-middleware 实现\nBrowserSync:见 build/webpack.dev.conf.js 中的 BrowserSyncPlugin 配置\n上述各项服务的端口配置:build/config/PORTS.js\n\n生产环境下的代理\n一般是使用 Nginx 部署 dist/,配置 proxy_pass 到对应的后端服务(详情请自行查阅相关资料)\n"},"development/Best-practice.html":{"url":"development/Best-practice.html","title":"最佳实践","keywords":"","body":"§ 最佳实践\n\n基本的命名规范、代码风格等,请自行查阅相关资料项目使用 ESLint 进行静态检测,配置见 .eslintrc\n\n\n\n通读 Vue.js Guide / API 文档,通读 Vue Router 文档\n\n\n例如,slot 和 inline-template 的编译作用域搞清楚了吗?\n\n\n\n恪守代码、模块分离,DRY 的开发理念\n\n\n本 demo 的编码秉承最佳实践,不妨参阅\n\n\n\n单组件文件代码量若超 200 行,一般都有优化的空间\n\n\n关键是 拆,前提是粒度要合理\n\n\n\n善用 Webpack 的路径别名\n\nimport FooBar from '../../../../components/FooBar' // Bad \nimport FooBar from '@/components/FooBar' // Good\n\n\n\n引入文件时,省略默认解析的文件后缀\n\n\n配置见 build/webpack.base.conf.js 中的 resolve.extensions\n\nimport FooBar from './FooBar.js' // No good enough\nimport FooBar from './FooBar' // Good\n\n\n\n最小化引入类库(除非您使用了 rollup 或 lodash-webpack-plugin 等)\n\nimport _ from 'lodash' // Bad\nimport isEmpty from 'lodash/isEmpty' // Good\n\n\n\n过长的 HTML 代码应当拆写\n\n\n\n\n\n\n\n模板中使用 :[prop] 替代 v-bind:[prop],使用 @[verb] 替代 v-on:[verb]\n\n\nClick me\n\n\nClick me\n\n\n\n一般来说,涉及到权限的必须用 v-if 而非 v-show\n\n\n例如,用户必须登录后才能查看的,请用 v-if\n\n\n\n杜绝片段实例\n\n\n \n \n\n\n\n \n \n \n \n\n\n\n\n尽量避免在模板中设置过多的判断条件,善用计算属性\n\n\n \n Zero\n One\n Two\n \n\n\nexport default {\n data: () => ({ i: 0 })\n}\n\n\n\n \n \n \n\n\nexport default {\n data: () => ({ i: 0 }),\n computed: {\n text () {\n return ['Zero', 'One', 'Two'][this.i]\n }\n }\n}\n\n\n\n\n“物以类聚”,善用目录自包含\n\n\n例如:src/components/Select/ 下存放着全局通用的下拉框组件src/components/Sidebar/ 下存放着侧栏组件主体 index.vue 与其分拆出来的导航链接组件 Link.vue\n\n\n\n请尽量保证数据流的可追踪性。尽量不要使用 $parent,而是通过 props 属性接收父组件的传入\n\n\n\n在 Vue 层面上,提高效能的优化手段有很多,例如 track-by、Object.freeze、keep-alive、canReuse 等\n\n\n更多技巧可参考 Vue 性能优化最佳实践·阿里移动·刘欣然\n\n\n\n(未完待续,欢迎 PR)\n\n"},"Reference.html":{"url":"Reference.html","title":"参考","keywords":"","body":"§ 参考\n\nvuejs-templates/webpack for Vue 1.x\nvuejs-templates/webpack for Vue 2.x\neteplus/vue-sui-demo\nkenberkeley/vue2-scaffold(Vue 2 脚手架)\n\n"}}} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html index 5de6fee..ccb9424 100644 --- a/dist/index.html +++ b/dist/index.html @@ -9,7 +9,7 @@ - + @@ -18,14 +18,14 @@ - + - + - + - + diff --git a/dist/js/app.62bef8.js b/dist/js/app.62bef8.js new file mode 100644 index 0000000..efa2467 --- /dev/null +++ b/dist/js/app.62bef8.js @@ -0,0 +1,2 @@ +webpackJsonp([0,1],[function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}var a=o(7),i=n(a);o(151),o(152);var s=o(42),r=n(s);o(109);var u=o(115),l=n(u),c=o(302),f=n(c),d=o(22),p=n(d);p["default"].checkLogin().then(function(t){t&&!function(){var e=f["default"].data;f["default"].data=function(){return(0,i["default"])({},e(),{userData:t})}}(),l["default"].start(f["default"],"#app")}),console.info("[当前环境] 生产环境"),r["default"].config.devtools=!1},,,,function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(7),i=n(a),s=o(49),r=n(s),u=o(50),l=n(u),c=o(45),f=n(c),d=function(){function t(){(0,r["default"])(this,t)}return(0,l["default"])(t,[{key:"fetchList",value:function(t){return(0,f["default"])({url:"/msg",body:t})}},{key:"fetchAuthorList",value:function(){return(0,f["default"])({url:"/msg/authors"})}},{key:"fetchById",value:function(t){return(0,f["default"])({url:"/msg/"+t})}},{key:"add",value:function(t){return(0,f["default"])({method:"post",url:"/msg",body:t})}},{key:"update",value:function(t){t=(0,i["default"])({},t);var e=t.id;return delete t.msgId,(0,f["default"])({method:"put",url:"/msg/"+e,body:t})}},{key:"del",value:function(t){return(0,f["default"])({method:"delete",url:"/msg/"+t})}}]),t}();e["default"]=new d},,,,,,,,,,,,,,,function(t,e,o){(function(e){var n=o(262),a="db.json",i=o(320);a=i.join(e,a);var s=n(a);s.defaults({msgs:[],session:null}).value(),t.exports=s}).call(e,"/")},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(122),i=n(a),s=o(121),r=n(s),u=o(44),l=n(u),c=o(250),f=n(c);e["default"]={mixins:[l["default"]],data:function(){return{specialFields_:[]}},watch:{"$route.query":function(t,e){var o=(0,f["default"])((0,r["default"])(e),(0,r["default"])(t));this.autoSyncWithQuery(o)}},methods:{_init:function(){var t=[];for(var e in this.$data)if(e.endsWith("$")){var o=e.replace(/\$$/,"");t.push(o),this._cache(e),this._watch(e,o)}this.specialFields_=t},_cache:function(t){this.$data[t+"$"]=this[t]},_restore:function(t){this[t]=this.$data[t+"$"]},_watch:function(t,e){this.$watch(t,function(t){this.updateQuery((0,i["default"])({},e,t))})},autoSyncWithQuery:function(t){var e=this;t||this._init();var o=this.$route.query;this.specialFields_.forEach(function(n){var a=n+"$";o[n]&&(e[a]=o[n]),t&&t.includes(n)&&e._restore(a)})}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(7),i=n(a),s=o(117),r=n(s),u=o(116),l=n(u);e["default"]=(0,i["default"])({"*":{component:{init:function(){window.swal({type:"warning",title:"404 NOT FOUND",timer:2e3,showConfirmButton:!1}),history.back()},template:""}},"/redirect":{component:{init:function(){this.$router.replace({path:decodeURIComponent(this.$route.query.dest||"/"),force:!0})},template:""}},"/":{title:"首页",icon:"fa fa-home",showInNavbar:{exact:!0},showInSidebar:!0,component:function(t){o.e(0,function(e){var o=[e(312)];t.apply(null,o)}.bind(this))}}},r["default"],l["default"])},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(49),i=n(a),s=o(50),r=n(s),u=o(45),l=n(u),c=function(){function t(){(0,i["default"])(this,t)}return(0,r["default"])(t,[{key:"checkLogin",value:function(){return(0,l["default"])({url:"/auth/checkLogin"})}},{key:"login",value:function(t){return(0,l["default"])({method:"post",url:"/auth/login",body:t})}},{key:"logout",value:function(){return(0,l["default"])({method:"delete",url:"/auth/logout"})}}]),t}();e["default"]=new c},,,,,,,,,,,,,,,,,,,function(t,e,o){var n,a;n=o(103),a=o(296),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},,,function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(119),i=n(a);e["default"]={methods:{updateQuery:function(t){this.$router.go((0,i["default"])(this.$route.path,t))}}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=o(118)["default"];n=o(83),e["default"]=n},function(t,e){"use strict";function o(t){return t?t.split("?")[0]:""}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(4),i=n(a);e["default"]={route:{activate:function(t){var e=this,o=t.next;i["default"].fetchById(this.$route.params.msgId).then(function(t){e.msg=t,e.$emit("MSG_LOADED"),o()})}}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,o){var n,a;o(160),n=o(102),a=o(295),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},,function(t,e,o){window._=o(255);var n=o(271),a=o(78),i=o(90),s=o(87),r=o(89),u=o(88),l=n();l.use(r),l.use(u),l.use(i),l.use(s);var c=function(t){console.group("Mock Server");var e=(t.method||"GET").toUpperCase(),o=t.body,n=t.url,i=n.split("?"),s=i[0],r=a.parse(i[1]);if("GET"===e&&o){Object.assign(r,o);var u=a.stringify(r);n=u?s+"?"+u:n}return new Promise(function(t){l.receive({method:e,url:n,body:o||{}}).respond(function(e){return"string"==typeof e&&(e=JSON.parse(e)),e.success?(t(e.data),void console.groupEnd("Mock Server")):alert(e.errMsg)})})};t.exports=c},function(t,e,o){var n=o(19);e.checkLogin=function(t,e){e.ajaxReturn(n.get("session").value())},e.login=function(t,e){var o=(t.body.username||"").trim();if(!o)return e.ajaxReturn(!1,{errMsg:"username 字段为空"});var a={username:o};n.set("session",a).value(),e.ajaxReturn(a)},e.logout=function(t,e){n.set("session",null).value(),e.ajaxReturn()}},function(t,e,o){var n=o(282),a=o(19);e.getList=function(t,e){var o=t.query.authors,n=~~t.query.offset||0,i=~~t.query.limit||5,s=a.get("msgs");o&&(o=o.split(","),s=s.filter(function(t){return-1!==o.indexOf(t.author)})),e.ajaxReturn({total:s.size().value(),rows:s.orderBy("ctime","desc").slice(n,n+i).value()})},e.add=function(t,e){return t.body.title&&t.body.content?(t.body.id=n().substr(0,8),t.body.author=a.get("session.username").value(),t.body.ctime=Date.now(),void e.ajaxReturn(a.get("msgs").push(t.body).last().value())):e.ajaxReturn(!1,{errMsg:"title 或 content 字段为空"})},e.authors=function(t,e){e.ajaxReturn(a.get("msgs").map("author").uniq().value())},e.getById=function(t,e){var o=a.get("msgs").find({id:t.params.msgId}).value();return o?e.ajaxReturn(o):void e.ajaxReturn(!1,{errMsg:"不存在该留言信息"})},e.update=function(t,e){delete t.body.id,delete t.body.author,t.body.ctime=Date.now();var o=a.get("msgs").find({id:t.params.msgId,author:a.get("session.username").value()});return o.isEmpty().value()?e.ajaxReturn(!1,{errMsg:"修改失败"}):void e.ajaxReturn(o.assign(t.body).value())},e.remove=function(t,e){var o=a.get("msgs").remove({id:t.params.msgId,author:a.get("session.username").value()}).value()[0];return o?e.ajaxReturn(o):void e.ajaxReturn(!1,{errMsg:"删除失败"})}},function(t,e,o){function n(t,e){return function(o,n,i){!a.get("session").isEmpty().value()===t?i():n.ajaxReturn(!1,{errMsg:e})}}var a=o(19);t.exports={NEED_AUTH:n(!0,"您需要登录后才能进行该操作"),FORBID_AUTHED:n(!1,"您已经登录,禁止当前操作")}},function(t,e){t.exports=function(t,e){e.ajaxReturn(!1,{errMsg:"404 NOT FOUND"})}},function(t,e){t.exports=function(t,e,o){e.ajaxReturn=function(t,o){e.json(Object.assign({success:!!t||!o,errMsg:"",data:t||""},o))},o()}},function(t,e){t.exports=function(t,e,o){console.info("[Logger]",t.method,t.originalUrl),o()}},function(t,e,o){var n=o(85),a=o(84),i=o(86);t.exports=[{path:"/msg",method:"GET",handler:n.getList},{path:"/msg",method:"POST",middlewares:[i.NEED_AUTH],handler:n.add},{path:"/msg/authors",method:"GET",handler:n.authors},{path:"/msg/:msgId",method:"GET",handler:n.getById},{path:"/msg/:msgId",method:"PUT",middlewares:[i.NEED_AUTH],handler:n.update},{path:"/msg/:msgId",method:"DELETE",middlewares:[i.NEED_AUTH],handler:n.remove},{path:"/auth/checkLogin",method:"GET",handler:a.checkLogin},{path:"/auth/login",method:"POST",middlewares:[i.FORBID_AUTHED],handler:a.login},{path:"/auth/logout",method:"DELETE",middlewares:[i.NEED_AUTH],handler:a.logout}]},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(304),i=n(a),s=o(309),r=n(s),u=o(303),l=n(u);e["default"]={components:{Navbar:i["default"],Sidebar:r["default"],Breadcrumb:l["default"]},data:function(){return{userData:null}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(46),i=n(a);e["default"]={computed:{matchedRoutes:function(){return this.$route.matched.slice()}},methods:{refresh:function(){var t=(0,i["default"])(this.$route.path);this.$router.go("/redirect?dest="+t)},back:function(){history.back()}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(21),i=n(a),s=o(40),r=n(s);e["default"]={computed:{routes:function(){return(0,r["default"])(i["default"],function(t){return t.showInNavbar})}},filters:{defaultIcon:function(t){return t?t:"fa fa-link"}},attached:function(){$(this.$el).find("[data-toggle=tooltip]").tooltip({placement:"bottom"})}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(20),i=n(a);e["default"]={mixins:[i["default"]],ready:function(){this.autoSyncWithQuery()},props:{total:{type:Number,required:!0}},data:function(){return{offset$:0}},computed:{limit:function(){return+this.$route.query.limit||5},isFirstPage:function(){return 0===+this.offset$||this.limit>=this.total},isLastPage:function(){return+this.offset$+this.limit>=this.total},totalPageIdx:function(){return Math.ceil(this.total/this.limit)-1},curPageIdx:function(){return Math.ceil(+this.offset$/this.limit)},displayPageBtns:function(){var t=this.totalPageIdx+1,e=this.curPageIdx+1;return 7>=t?function(t){for(var e=[];t;)e.unshift(t--);return e}(t):3>=e||3>t-e?[1,2,3,0,t-2,t-1,t]:4===e?[1,2,3,4,0,t-1,t]:e===t-3?[1,2,0,e,t-2,t-1,t]:[1,0,e-1,e,e+1,0,t]}},methods:{handleClick:function(t){this.offset$=(t-1)*this.limit},turnPage:function(t){0>t&&this.isFirstPage||t>0&&this.isLastPage||(this.offset$=+this.offset$+t*this.limit)}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(20),i=n(a);e["default"]={mixins:[i["default"]],data:function(){return{limit$:5}},ready:function(){this.autoSyncWithQuery()}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(7),i=n(a);e["default"]={props:{model:{twoWay:!0,"default":function(){return[]}},models:{twoWay:!0,"default":""},options:{type:Array,required:!0},valueField:{type:String,"default":"value"},textField:{type:String,"default":"text"},config:{type:Object,"default":function(){return{}}}},computed:{conf:function(){return(0,i["default"])({allowClear:!0},this.config)}},attached:function(){this.init()},watch:{options:function(){this.init()},model:function(t){this.init(),this.syncModelsWithModel()},models:function(t){this.syncModelWithModels()}},methods:{init:function(){var t=this;this.$nextTick(function(){var e=$(t.$el);e.select2(t.conf),e.on("change",function(){return t.model=e.val()})})},syncModelsWithModel:function(){this.config.multiple&&(this.models=(this.model||[]).join(","))},syncModelWithModels:function(){this.config.multiple&&(this.model=this.models.split(","))}}}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]={props:{path:{type:String,required:!0},title:{type:String,required:!0},icon:{type:String,"default":"fa fa-link"},isExact:{type:Boolean,"default":!1}},computed:{curMatchedRoute:function(){var t=this.$route.matched;return t[t.length-1]},curMatchedPath:function(){return this.curMatchedRoute.handler.fullPath},isDynamicPath:function(){return this.path.includes(":")},vlinkContent:function(){return this.isDynamicPath?void 0:{path:this.path,exact:this.isExact}}},attached:function(){this.isDynamicPath&&$(this.$el).on("click",function(){return $.toast({heading:"动态路由不可直接点击访问",icon:"info",stack:!1})})}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(308),i=n(a),s=o(21),r=n(s),u=o(40),l=n(u);e["default"]={components:{Link:i["default"]},computed:{routes:function(){return(0,l["default"])(r["default"],function(t){return t.showInSidebar})}},watch:{"$route.path":function(){this.expand()}},attached:function(){this.expand()},methods:{expand:function(){$(this.$el).find("a.matched-route").parents("div.collapse").collapse("show")}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(22),i=n(a);e["default"]={data:function(){return{username:""}},methods:{handleSubmit:function(){var t=this,e=$.trim(this.username);return e?void i["default"].login({username:e}).then(function(e){t.$root.userData=e;var o=t.$route.query.referrer;o=o?decodeURIComponent(o):"/",t.$router.replace({path:o,force:!0})}):$.toast({heading:"用户名为空",icon:"warning",stack:!1})}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(22),i=n(a);e["default"]={init:function(){var t=this;i["default"].logout().then(function(){t.$root.userData=null,t.$router.replace("/auth/login")})}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(307),i=n(a),s=o(20),r=n(s),u=o(4),l=n(u);e["default"]={mixins:[r["default"]],components:{Select2:i["default"]},data:function(){return{authors$:"",authorList:[]}},computed:{opts:function(){return this.authorList.map(function(t){return{value:t,text:t}})}},attached:function(){$(this.$els.addon).tooltip()},ready:function(){return this.autoSyncWithQuery(),l["default"].authorList?this.authorList=l["default"].authorList:void this.loadOptions()},methods:{loadOptions:function(t){var e=this;l["default"].fetchAuthorList().then(function(o){e.authorList=l["default"].authorList=o,t&&$.toast({heading:"已刷新",icon:"success",stack:!1})})}}}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]={props:{msg:{type:Object,required:!0,twoWay:!0}},computed:{allowToSubmit:function(){var t=this.msg,e=t.title,o=t.content;return e&&o}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(4),i=n(a);e["default"]={props:{msg:{type:Object,required:!0},autoJump:{type:Boolean,"default":!1},editBtn:{type:Boolean,"default":!0}},computed:{shouldShowOptBtn:function(){var t=this.$root.userData;if(t)return t.username===this.msg.author}},methods:{handleDel:function(){var t=this;window.swal({title:"确认删除?",text:"删除后不可恢复",type:"warning",showCancelButton:!0,cancelButtonText:"取消",confirmButtonColor:"#DD6B55",confirmButtonText:"删除"},function(e){if(e){var o=t.msg.id;i["default"].del(o).then(function(){$.toast({heading:"删除成功",icon:"success"}),t.autoJump?t.$router.replace("/msg"):t.$dispatch("REFETCH_LIST")})}})}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(81),i=n(a),s=o(4),r=n(s);e["default"]={components:{MsgForm:i["default"]},data:function(){return{msg:{title:"",content:""}}},methods:{handleSubmit:function(){var t=this;r["default"].add(this.msg).then(function(e){var o=e.id;$.toast({heading:"发布成功",text:"已自动跳转到详情页",icon:"success"}),t.$router.replace("/msg/detail/"+o)})}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(41),i=n(a),s=o(47),r=n(s);e["default"]={mixins:[r["default"]],components:{OptBtnGroup:i["default"]},data:function(){return{msg:{}}},computed:{isMine:function(){var t=this.msg.author,e=this.$root.userData;return t&&e?t===e.username:void 0}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(305),i=n(a),s=o(306),r=n(s),u=o(313),l=n(u),c=o(41),f=n(c),d=o(44),p=n(d),h=o(4),v=n(h);e["default"]={mixins:[p["default"]],components:{Pagination:i["default"],LimitSelect:r["default"],AuthorSelect:l["default"],OptBtnGroup:f["default"]},data:function(){return{total:0,msgs:[]}},route:{data:function(){var t=this;v["default"].fetchList(this.$route.query).then(function(e){var o=e.total,n=e.rows;t.total=o,t.msgs=n})}},filters:{cutLongText:function(t){var e=arguments.length<=1||void 0===arguments[1]?10:arguments[1];return t.length>e?t.substr(0,e)+"···":t}},events:{REFETCH_LIST:function(){this.updateQuery({_:Date.now()})}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(81),i=n(a),s=o(41),r=n(s),u=o(4),l=n(u),c=o(47),f=n(c);e["default"]={mixins:[f["default"]],components:{MsgForm:i["default"],OptBtnGroup:r["default"]},data:function(){return{msg:{}}},methods:{handleSubmit:function(){var t=this;l["default"].update(this.msg).then(function(e){var o=e.id;$.toast({heading:"更新成功",text:"已自动跳转到详情页",icon:"success"}),t.$router.replace("/msg/detail/"+o)})}},events:{MSG_LOADED:function(){this.msg.author!==this.$root.userData.username&&($.toast({heading:"非法访问",icon:"error"}),this.$router.replace("/msg"))}}}},function(t,e){"use strict";function o(t){var e=arguments.length<=1||void 0===arguments[1]?"YYYY-MM-DD HH:mm:ss":arguments[1];return window.moment(t).format(e)}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=o},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}var a=o(42),i=n(a);i["default"].filter("dateTimeFormatter",o(108)["default"])},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(t){var e=t.to.matched,o=[];e.slice().forEach(function(t){var e=t.handler.title;e&&o.push(e)}),document.title=o.join(" · ")};e["default"]=o},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(46),i=n(a),s=function(t){var e=t.to,o=t.from;(0,i["default"])(e.path)!==(0,i["default"])(o.path)&&$.scrollTo("#navbar",500)};e["default"]=s},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(t){var e=t.to,o=t.from,n=decodeURIComponent;console.info("[路由日志] "+n(o.path||"")+" => "+n(e.path))};e["default"]=o},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=function(t){return function(e){var o=e.to,n=e.redirect,a=e.abort,i=e.next,s=t.app.userData,r=o.needAuth,u=o.forbidAuthed,l=o.path;return r&&!s?($.toast({heading:"访问该页面需要登录权限",text:"登录成功后将会自动跳转",icon:"info",stack:!1}),n({path:"/auth/login?referrer="+encodeURIComponent(l),force:!0})):u&&s?($.toast({heading:"您已登录,禁止访问该页面",text:"已中断跳转",icon:"warning",stack:!1}),a()):void i()}};e["default"]=o},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(113),i=n(a),s=o(110),r=n(s),u=o(111),l=n(u),c=o(112);n(c);e["default"]=function(t){t.beforeEach((0,i["default"])(t)),t.afterEach(l["default"]),t.afterEach(r["default"])}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var a=o(42),i=n(a),s=o(319),r=n(s),u=o(21),l=n(u),c=o(114),f=n(c);i["default"].use(r["default"]);var d=new r["default"]({suppressTransitionError:!0});d.map(l["default"]),d.alias({"/msg":"/msg/list"}),(0,f["default"])(d),e["default"]=d},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]={"/auth/login":{title:"用户登录",icon:"fa fa-sign-in",component:function(t){o.e(0,function(e){var o=[e(310)];t.apply(null,o)}.bind(this))},forbidAuthed:!0},"/auth/logout":{title:"注销登录",icon:"fa fa-sign-out",component:function(t){o.e(0,function(e){var o=[e(311)];t.apply(null,o)}.bind(this))},needAuth:!0}}},function(t,e,o){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]={"/msg":{title:"留言板",icon:"fa fa-commenting-o",showInNavbar:!0,showInSidebar:!0,component:function(t){o.e(0,function(e){var o=[e(316)];t.apply(null,o)}.bind(this))},subRoutes:{"/list":{title:"列表",icon:"fa fa-list",component:function(t){o.e(0,function(e){var o=[e(317)];t.apply(null,o)}.bind(this))}},"/detail/:msgId":{title:"详情",icon:"fa fa-search-plus",component:function(t){o.e(0,function(e){var o=[e(315)];t.apply(null,o)}.bind(this))}},"/add":{title:"新增",icon:"fa fa-plus",component:function(t){o.e(0,function(e){var o=[e(314)];t.apply(null,o)}.bind(this))},needAuth:!0},"/update/:msgId":{title:"修改",icon:"fa fa-eraser",component:function(t){o.e(0,function(e){var o=[e(318)];t.apply(null,o)}.bind(this))},needAuth:!0}}}}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o="/api",n=function(t){var e=t.method,n=void 0===e?"get":e,a=t.url,i=t.body,s=void 0===i?null:i,r=$.Deferred();return $.ajax({type:n,url:o+a,data:s}).done(function(t){var e=t.success,o=t.errMsg,n=t.data;return e?void r.resolve(n):($.toast({heading:"操作失败",text:o,icon:"warning"}),r.reject(t))}).fail(function(t){$.toast({heading:"请求 API 失败",icon:"error",stack:!1}),console.warn(t)}),r.promise()};e["default"]=n},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function a(t,e){var o=t.split("?"),n=o[0],a=o[1],i=u["default"].stringify((0,c["default"])((0,s["default"])({},u["default"].parse(a),e),function(t){return t}),{encode:!1});return i?n+"?"+i:n}Object.defineProperty(e,"__esModule",{value:!0});var i=o(7),s=n(i);e["default"]=a;var r=o(78),u=n(r),l=o(40),c=n(l)},,function(t,e,o){t.exports={"default":o(125),__esModule:!0}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var a=o(48),i=n(a);e["default"]=function(t,e,o){return e in t?(0,i["default"])(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}},,,function(t,e,o){o(150),t.exports=o(8).Object.keys},,,,,,,,,,,,,,,function(t,e,o){var n=o(23),a=o(8),i=o(13);t.exports=function(t,e){var o=(a.Object||{})[t]||Object[t],s={};s[t]=e(o),n(n.S+n.F*i(function(){o(1)}),"Object",s)}},,,,,,,,,,function(t,e,o){var n=o(57),a=o(54);o(140)("keys",function(){return function(t){return a(n(t))}})},,function(t,e){},152,152,152,152,152,152,152,152,152,152,,,,,,,function(t,e){function o(t,e,o){switch(o.length){case 0:return t.call(e);case 1:return t.call(e,o[0]);case 2:return t.call(e,o[0],o[1]);case 3:return t.call(e,o[0],o[1],o[2])}return t.apply(e,o)}t.exports=o},function(t,e,o){function n(t,e){var o=null==t?0:t.length;return!!o&&a(t,e,0)>-1}var a=o(180);t.exports=n},function(t,e){function o(t,e,o){for(var n=-1,a=null==t?0:t.length;++n=c&&(d=l,p=!1,e=new a(e));t:for(;++f0&&o(c)?e>1?n(c,e-1,o,s,r):a(r,c):s||(r[r.length]=c)}return r}var a=o(29),i=o(217);t.exports=n},,,function(t,e,o){function n(t,e,o){return e===e?s(t,e,o):a(t,i,o)}var a=o(176),i=o(184),s=o(247);t.exports=n},,,,function(t,e){function o(t){return t!==t}t.exports=o},,,,,,,,,,,function(t,e,o){function n(t,e){return s(i(t,e,a),t+"")}var a=o(35),i=o(236),s=o(240);t.exports=n},,function(t,e,o){var n=o(249),a=o(64),i=o(35),s=a?function(t,e){return a(t,"toString",{configurable:!0,enumerable:!1,value:n(e),writable:!0})}:i;t.exports=s},,,,,,,,,,,,,,,,,,,,function(t,e,o){function n(t){return s(t)||i(t)||!!(r&&t&&t[r])}var a=o(9),i=o(36),s=o(2),r=a?a.isConcatSpreadable:void 0;t.exports=n},,,,,,,,,,,,,,,,,,,function(t,e,o){function n(t,e,o){return e=i(void 0===e?t.length-1:e,0),function(){for(var n=arguments,s=-1,r=i(n.length-e,0),u=Array(r);++s0){if(++e>=n)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var n=800,a=16,i=Date.now;t.exports=o},,,,,,function(t,e){function o(t,e,o){for(var n=o-1,a=t.length;++n
'},function(t,e){t.exports=''},function(t,e){t.exports=''},function(t,e){t.exports=''},function(t,e){t.exports=''},function(t,e){t.exports=''},function(t,e){t.exports=' {{ title }} '},function(t,e){t.exports=''},function(t,e){t.exports='
'},function(t,e){t.exports="
"},function(t,e){t.exports='
欢迎使用 Vue Demo
npm start
npm run build
两个命令玩转 Vue
'},function(t,e){t.exports='
筛选发布者:
'},function(t,e){t.exports='
'},function(t,e){t.exports='
'; +},function(t,e){t.exports='
'},function(t,e){t.exports='
标题:{{ msg.title }} {{ msg.ctime | dateTimeFormatter }}
发布者: {{ msg.author }}

{{ msg.content }}

'},function(t,e){t.exports="
"},function(t,e){t.exports='

(暂无留言信息)

{{ total }} 条记录,
'},function(t,e){t.exports='
'},function(t,e,o){var n,a;o(153),n=o(91),a=o(283),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;n=o(92),a=o(284),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;n=o(93),a=o(285),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;n=o(94),a=o(286),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;o(154),n=o(95),a=o(287),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;n=o(96),a=o(288),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;o(155),n=o(97),a=o(289),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;o(156),n=o(98),a=o(290),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;o(157),n=o(99),a=o(291),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;n=o(100),a=o(292),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;o(158),a=o(293),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;o(159),n=o(101),a=o(294),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;n=o(104),a=o(297),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;o(161),n=o(105),a=o(298),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;a=o(299),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;o(162),n=o(106),a=o(300),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)},function(t,e,o){var n,a;n=o(107),a=o(301),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports["default"]),a&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=a)}]); \ No newline at end of file diff --git a/dist/js/manifest.b3d0c9.js b/dist/js/manifest.b3d0c9.js new file mode 100644 index 0000000..bdde929 --- /dev/null +++ b/dist/js/manifest.b3d0c9.js @@ -0,0 +1 @@ +!function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={exports:{},id:n,loaded:!1};return e[n].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n=window.webpackJsonp;window.webpackJsonp=function(c,o){for(var i,s,p=0,l=[];pn;)t=t[o(e[n++])];return n&&n==r?t:void 0}var i=n(16),o=n(11);t.exports=r},function(t,e){function n(t,e){return e=null==e?r:e,!!e&&("number"==typeof t||i.test(t))&&t>-1&&t%1==0&&e>t}var r=9007199254740991,i=/^(?:0|[1-9]\d*)$/;t.exports=n},function(t,e,n){function r(t,e){if(i(t))return!1;var n=typeof t;return"number"==n||"symbol"==n||"boolean"==n||null==t||o(t)?!0:u.test(t)||!a.test(t)||null!=e&&t in Object(e)}var i=n(2),o=n(39),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;t.exports=r},function(t,e){function n(t,e){return function(n){return t(e(n))}}t.exports=n},function(t,e){function n(t,e){return t===e||t!==t&&e!==e}t.exports=n},function(t,e){function n(t){return t}t.exports=n},function(t,e,n){var r=n(181),i=n(6),o=Object.prototype,a=o.hasOwnProperty,u=o.propertyIsEnumerable,s=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!u.call(t,"callee")};t.exports=s},function(t,e,n){function r(t){return null!=t&&o(t.length)&&!i(t)}var i=n(72),o=n(38);t.exports=r},function(t,e){function n(t){return"number"==typeof t&&t>-1&&t%1==0&&r>=t}var r=9007199254740991;t.exports=n},function(t,e,n){function r(t){return"symbol"==typeof t||o(t)&&i(t)==a}var i=n(10),o=n(6),a="[object Symbol]";t.exports=r},function(t,e,n){function r(t,e){if(null==t)return{};var n=i(u(t),function(t){return[t]});return e=o(e),a(t,n,function(t,n){return e(t,n[0])})}var i=n(28),o=n(187),a=n(192),u=n(203);t.exports=r},,function(t,e,n){(function(e){/*! + * Vue.js v1.0.24 + * (c) 2016 Evan You + * Released under the MIT License. + */ +"use strict";function n(t,e,r){if(i(t,e))return void(t[e]=r);if(t._isVue)return void n(t._data,e,r);var o=t.__ob__;if(!o)return void(t[e]=r);if(o.convert(e,r),o.dep.notify(),o.vms)for(var a=o.vms.length;a--;){var u=o.vms[a];u._proxy(e),u._digest()}return r}function r(t,e){if(i(t,e)){delete t[e];var n=t.__ob__;if(!n)return void(t._isVue&&(delete t._data[e],t._digest()));if(n.dep.notify(),n.vms)for(var r=n.vms.length;r--;){var o=n.vms[r];o._unproxy(e),o._digest()}}}function i(t,e){return Sn.call(t,e)}function o(t){return Tn.test(t)}function a(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function u(t){return null==t?"":t.toString()}function s(t){if("string"!=typeof t)return t;var e=Number(t);return isNaN(e)?t:e}function c(t){return"true"===t?!0:"false"===t?!1:t}function f(t){var e=t.charCodeAt(0),n=t.charCodeAt(t.length-1);return e!==n||34!==e&&39!==e?t:t.slice(1,-1)}function l(t){return t.replace($n,h)}function h(t,e){return e?e.toUpperCase():""}function p(t){return t.replace(Pn,"$1-$2").toLowerCase()}function v(t){return t.replace(In,h)}function d(t,e){return function(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}}function y(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function g(t,e){for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}function b(t){return null!==t&&"object"==typeof t}function _(t){return Rn.call(t)===Nn}function m(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function w(t,e){var n,r,i,o,a,u=function s(){var u=Date.now()-o;e>u&&u>=0?n=setTimeout(s,e-u):(n=null,a=t.apply(i,r),n||(i=r=null))};return function(){return i=this,r=arguments,o=Date.now(),n||(n=setTimeout(u,e)),a}}function x(t,e){for(var n=t.length;n--;)if(t[n]===e)return n;return-1}function O(t){var e=function n(){return n.cancelled?void 0:t.apply(this,arguments)};return e.cancel=function(){e.cancelled=!0},e}function j(t,e){return t==e||(b(t)&&b(e)?JSON.stringify(t)===JSON.stringify(e):!1)}function C(t){this.size=0,this.limit=t,this.head=this.tail=void 0,this._keymap=Object.create(null)}function A(){var t,e=tr.slice(ar,ir).trim();if(e){t={};var n=e.match(pr);t.name=n[0],n.length>1&&(t.args=n.slice(1).map(E))}t&&(er.filters=er.filters||[]).push(t),ar=ir+1}function E(t){if(vr.test(t))return{value:s(t),dynamic:!1};var e=f(t),n=e===t;return{value:n?t:e,dynamic:n}}function k(t){var e=hr.get(t);if(e)return e;for(tr=t,ur=sr=!1,cr=fr=lr=0,ar=0,er={},ir=0,or=tr.length;or>ir;ir++)if(rr=nr,nr=tr.charCodeAt(ir),ur)39===nr&&92!==rr&&(ur=!ur);else if(sr)34===nr&&92!==rr&&(sr=!sr);else if(124===nr&&124!==tr.charCodeAt(ir+1)&&124!==tr.charCodeAt(ir-1))null==er.expression?(ar=ir+1,er.expression=tr.slice(0,ir).trim()):A();else switch(nr){case 34:sr=!0;break;case 39:ur=!0;break;case 40:lr++;break;case 41:lr--;break;case 91:fr++;break;case 93:fr--;break;case 123:cr++;break;case 125:cr--}return null==er.expression?er.expression=tr.slice(0,ir).trim():0!==ar&&A(),hr.put(t,er),er}function S(t){return t.replace(yr,"\\$&")}function T(){var t=S(jr.delimiters[0]),e=S(jr.delimiters[1]),n=S(jr.unsafeDelimiters[0]),r=S(jr.unsafeDelimiters[1]);br=new RegExp(n+"((?:.|\\n)+?)"+r+"|"+t+"((?:.|\\n)+?)"+e,"g"),_r=new RegExp("^"+n+".*"+r+"$"),gr=new C(1e3)}function $(t){gr||T();var e=gr.get(t);if(e)return e;if(!br.test(t))return null;for(var n,r,i,o,a,u,s=[],c=br.lastIndex=0;n=br.exec(t);)r=n.index,r>c&&s.push({value:t.slice(c,r)}),i=_r.test(n[0]),o=i?n[1]:n[2],a=o.charCodeAt(0),u=42===a,o=u?o.slice(1):o,s.push({tag:!0,value:o.trim(),html:i,oneTime:u}),c=r+n[0].length;return c1?t.map(function(t){return I(t,e)}).join("+"):I(t[0],e,!0)}function I(t,e,n){return t.tag?t.oneTime&&e?'"'+e.$eval(t.value)+'"':R(t.value,n):'"'+t.value+'"'}function R(t,e){if(mr.test(t)){var n=k(t);return n.filters?"this._applyFilters("+n.expression+",null,"+JSON.stringify(n.filters)+",false)":"("+t+")"}return e?t:"("+t+")"}function N(t,e,n,r){D(t,1,function(){e.appendChild(t)},n,r)}function M(t,e,n,r){D(t,1,function(){W(t,e)},n,r)}function F(t,e,n){D(t,-1,function(){q(t)},e,n)}function D(t,e,n,r,i){var o=t.__v_trans;if(!o||!o.hooks&&!qn||!r._isCompiled||r.$parent&&!r.$parent._isCompiled)return n(),void(i&&i());var a=e>0?"enter":"leave";o[a](n,i)}function z(t){if("string"==typeof t){t=document.querySelector(t)}return t}function L(t){if(!t)return!1;var e=t.ownerDocument.documentElement,n=t.parentNode;return e===t||e===n||!(!n||1!==n.nodeType||!e.contains(n))}function V(t,e){var n=t.getAttribute(e);return null!==n&&t.removeAttribute(e),n}function U(t,e){var n=V(t,":"+e);return null===n&&(n=V(t,"v-bind:"+e)),n}function H(t,e){return t.hasAttribute(e)||t.hasAttribute(":"+e)||t.hasAttribute("v-bind:"+e)}function W(t,e){e.parentNode.insertBefore(t,e)}function B(t,e){e.nextSibling?W(t,e.nextSibling):e.parentNode.appendChild(t)}function q(t){t.parentNode.removeChild(t)}function G(t,e){e.firstChild?W(t,e.firstChild):e.appendChild(t)}function J(t,e){var n=t.parentNode;n&&n.replaceChild(e,t)}function Q(t,e,n,r){t.addEventListener(e,n,r)}function Z(t,e,n){t.removeEventListener(e,n)}function Y(t){var e=t.className;return"object"==typeof e&&(e=e.baseVal||""),e}function K(t,e){Vn&&!/svg$/.test(t.namespaceURI)?t.className=e:t.setAttribute("class",e)}function X(t,e){if(t.classList)t.classList.add(e);else{var n=" "+Y(t)+" ";n.indexOf(" "+e+" ")<0&&K(t,(n+e).trim())}}function tt(t,e){if(t.classList)t.classList.remove(e);else{for(var n=" "+Y(t)+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");K(t,n.trim())}t.className||t.removeAttribute("class")}function et(t,e){var n,r;if(it(t)&&ct(t.content)&&(t=t.content),t.hasChildNodes())for(nt(t),r=e?document.createDocumentFragment():document.createElement("div");n=t.firstChild;)r.appendChild(n);return r}function nt(t){for(var e;e=t.firstChild,rt(e);)t.removeChild(e);for(;e=t.lastChild,rt(e);)t.removeChild(e)}function rt(t){return t&&(3===t.nodeType&&!t.data.trim()||8===t.nodeType)}function it(t){return t.tagName&&"template"===t.tagName.toLowerCase()}function ot(t,e){var n=jr.debug?document.createComment(t):document.createTextNode(e?" ":"");return n.__v_anchor=!0,n}function at(t){if(t.hasAttributes())for(var e=t.attributes,n=0,r=e.length;r>n;n++){var i=e[n].name;if(Er.test(i))return l(i.replace(Er,""))}}function ut(t,e,n){for(var r;t!==e;)r=t.nextSibling,n(t),t=r;n(e)}function st(t,e,n,r,i){function o(){if(u++,a&&u>=s.length){for(var t=0;ti;i++){var a=r[i];kr.test(a)||Sr.test(a)||(e=n[a],_(e)&&(n[a]=On.extend(e)))}}function yt(t){var e,n,r=t.props;if(Mn(r))for(t.props={},e=r.length;e--;)n=r[e],"string"==typeof n?t.props[n]=null:n.name&&(t.props[n.name]=n);else if(_(r)){var i=Object.keys(r);for(e=i.length;e--;)n=r[i[e]],"function"==typeof n&&(r[i[e]]={type:n})}}function gt(t){if(Mn(t)){for(var e,n={},r=t.length;r--;){e=t[r];var i="function"==typeof e?e.options&&e.options.name||e.id:e.name||e.id;i&&(n[i]=e)}return n}return t}function bt(t,e,n){function r(r){var i=Tr[r]||$r;a[r]=i(t[r],e[r],n,r)}dt(e),yt(e);var o,a={};if(e["extends"]&&(t="function"==typeof e["extends"]?bt(t,e["extends"].options,n):bt(t,e["extends"],n)),e.mixins)for(var u=0,s=e.mixins.length;s>u;u++)t=bt(t,e.mixins[u],n);for(o in t)r(o);for(o in e)i(t,o)||r(o);return a}function _t(t,e,n,r){if("string"==typeof n){var i,o=t[e],a=o[n]||o[i=l(n)]||o[i.charAt(0).toUpperCase()+i.slice(1)];return a}}function mt(){this.id=Pr++,this.subs=[]}function wt(t){Mr=!1,t(),Mr=!0}function xt(t){if(this.value=t,this.dep=new mt,m(t,"__ob__",this),Mn(t)){var e=Fn?Ot:jt;e(t,Rr,Nr),this.observeArray(t)}else this.walk(t)}function Ot(t,e){t.__proto__=e}function jt(t,e,n){for(var r=0,i=n.length;i>r;r++){var o=n[r];m(t,o,e[o])}}function Ct(t,e){if(t&&"object"==typeof t){var n;return i(t,"__ob__")&&t.__ob__ instanceof xt?n=t.__ob__:Mr&&(Mn(t)||_(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new xt(t)),n&&e&&n.addVm(e),n}}function At(t,e,n){var r=new mt,i=Object.getOwnPropertyDescriptor(t,e);if(!i||i.configurable!==!1){var o=i&&i.get,a=i&&i.set,u=Ct(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=o?o.call(t):n;if(mt.target&&(r.depend(),u&&u.dep.depend(),Mn(e)))for(var i,a=0,s=e.length;s>a;a++)i=e[a],i&&i.__ob__&&i.__ob__.dep.depend();return e},set:function(e){var i=o?o.call(t):n;e!==i&&(a?a.call(t,e):n=e,u=Ct(e),r.notify())}})}}function Et(t){t.prototype._init=function(t){t=t||{},this.$el=null,this.$parent=t.parent,this.$root=this.$parent?this.$parent.$root:this,this.$children=[],this.$refs={},this.$els={},this._watchers=[],this._directives=[],this._uid=Dr++,this._isVue=!0,this._events={},this._eventsCount={},this._isFragment=!1,this._fragment=this._fragmentStart=this._fragmentEnd=null,this._isCompiled=this._isDestroyed=this._isReady=this._isAttached=this._isBeingDestroyed=this._vForRemoving=!1,this._unlinkFn=null,this._context=t._context||this.$parent,this._scope=t._scope,this._frag=t._frag,this._frag&&this._frag.children.push(this),this.$parent&&this.$parent.$children.push(this),t=this.$options=bt(this.constructor.options,t,this),this._updateRef(),this._data={},this._callHook("init"),this._initState(),this._initEvents(),this._callHook("created"),t.el&&this.$mount(t.el)}}function kt(t){if(void 0===t)return"eof";var e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:case 48:return t;case 95:case 36:return"ident";case 32:case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return e>=97&&122>=e||e>=65&&90>=e?"ident":e>=49&&57>=e?"number":"else"}function St(t){var e=t.trim();return"0"===t.charAt(0)&&isNaN(t)?!1:o(e)?f(e):"*"+e}function Tt(t){function e(){var e=t[f+1];return l===Qr&&"'"===e||l===Zr&&'"'===e?(f++,r="\\"+e,p[Lr](),!0):void 0}var n,r,i,o,a,u,s,c=[],f=-1,l=Wr,h=0,p=[];for(p[Vr]=function(){void 0!==i&&(c.push(i),i=void 0)},p[Lr]=function(){void 0===i?i=r:i+=r},p[Ur]=function(){p[Lr](),h++},p[Hr]=function(){if(h>0)h--,l=Jr,p[Lr]();else{if(h=0,i=St(i),i===!1)return!1;p[Vr]()}};null!=l;)if(f++,n=t[f],"\\"!==n||!e()){if(o=kt(n),s=Xr[l],a=s[o]||s["else"]||Kr,a===Kr)return;if(l=a[0],u=p[a[1]],u&&(r=a[2],r=void 0===r?n:r,u()===!1))return;if(l===Yr)return c.raw=t,c}}function $t(t){var e=zr.get(t);return e||(e=Tt(t),e&&zr.put(t,e)),e}function Pt(t,e){return Lt(e).get(t)}function It(t,e,r){var i=t;if("string"==typeof e&&(e=Tt(e)),!e||!b(t))return!1;for(var o,a,u=0,s=e.length;s>u;u++)o=t,a=e[u],"*"===a.charAt(0)&&(a=Lt(a.slice(1)).get.call(i,i)),s-1>u?(t=t[a],b(t)||(t={},n(o,a,t))):Mn(t)?t.$set(a,r):a in t?t[a]=r:n(t,a,r);return!0}function Rt(t,e){var n=pi.length;return pi[n]=e?t.replace(ui,"\\n"):t,'"'+n+'"'}function Nt(t){var e=t.charAt(0),n=t.slice(1);return ri.test(n)?t:(n=n.indexOf('"')>-1?n.replace(ci,Mt):n,e+"scope."+n)}function Mt(t,e){return pi[e]}function Ft(t){oi.test(t),pi.length=0;var e=t.replace(si,Rt).replace(ai,"");return e=(" "+e).replace(li,Nt).replace(ci,Mt),Dt(e)}function Dt(t){try{return new Function("scope","return "+t+";")}catch(e){}}function zt(t){var e=$t(t);return e?function(t,n){It(t,e,n)}:void 0}function Lt(t,e){t=t.trim();var n=ei.get(t);if(n)return e&&!n.set&&(n.set=zt(n.exp)),n;var r={exp:t};return r.get=Vt(t)&&t.indexOf("[")<0?Dt("scope."+t):Ft(t),e&&(r.set=zt(t)),ei.put(t,r),r}function Vt(t){return fi.test(t)&&!hi.test(t)&&"Math."!==t.slice(0,5)}function Ut(){di.length=0,yi.length=0,gi={},bi={},_i=!1}function Ht(){for(var t=!0;t;)t=!1,Wt(di),Wt(yi),di.length?t=!0:(zn&&jr.devtools&&zn.emit("flush"),Ut())}function Wt(t){for(var e=0;e0){var a=o+(r?e:ft(e));i=Pi.get(a),i||(i=Ne(n,t.$options,!0),Pi.put(a,i))}else i=Ne(n,t.$options,!0);this.linker=i}function ue(t,e,n){var r=t.node.previousSibling;if(r){for(t=r.__v_frag;!(t&&t.forId===n&&t.inserted||r===e);){if(r=r.previousSibling,!r)return;t=r.__v_frag}return t}}function se(t){var e=t.node;if(t.end)for(;!e.__vue__&&e!==t.end&&e.nextSibling;)e=e.nextSibling;return e.__vue__}function ce(t){for(var e=-1,n=new Array(Math.floor(t));++eu;u++)if(r=t.options[u],o=n?r.hasAttribute("selected"):r.selected){if(i=r.hasOwnProperty("_value")?r._value:r.value,!e)return i;a.push(i)}return a}function he(t,e){for(var n=t.length;n--;)if(j(t[n],e))return n;return-1}function pe(t,e){var n=e.map(function(t){var e=t.charCodeAt(0);return e>47&&58>e?parseInt(t,10):1===t.length&&(e=t.toUpperCase().charCodeAt(0),e>64&&91>e)?e:Xi[t]});return n=[].concat.apply([],n),function(e){return n.indexOf(e.keyCode)>-1?t.call(this,e):void 0}}function ve(t){return function(e){return e.stopPropagation(),t.call(this,e)}}function de(t){return function(e){return e.preventDefault(),t.call(this,e)}}function ye(t){return function(e){return e.target===e.currentTarget?t.call(this,e):void 0}}function ge(t){if(io[t])return io[t];var e=be(t);return io[t]=io[e]=e,e}function be(t){t=p(t);var e=l(t),n=e.charAt(0).toUpperCase()+e.slice(1);oo||(oo=document.createElement("div"));var r,i=eo.length;if("filter"!==e&&e in oo.style)return{kebab:t,camel:e};for(;i--;)if(r=no[i]+n,r in oo.style)return{kebab:eo[i]+t,camel:r}}function _e(t){var e=[];if(Mn(t))for(var n=0,r=t.length;r>n;n++){var i=t[n];if(i)if("string"==typeof i)e.push(i);else for(var o in i)i[o]&&e.push(o)}else if(b(t))for(var a in t)t[a]&&e.push(a);return e}function me(t,e,n){if(e=e.trim(),-1===e.indexOf(" "))return void n(t,e);for(var r=e.split(/\s+/),i=0,o=r.length;o>i;i++)n(t,r[i])}function we(t,e,n){function r(){++o>=i?n():t[o].call(e,r)}var i=t.length,o=0;t[0].call(e,r)}function xe(t,e,n){for(var r,i,a,u,s,c,f,h=[],v=Object.keys(e),d=v.length;d--;)if(i=v[d],r=e[i]||xo,s=l(i),Oo.test(s)){if(f={name:i,path:s,options:r,mode:wo.ONE_WAY,raw:null},a=p(i),null===(u=U(t,a))&&(null!==(u=U(t,a+".sync"))?f.mode=wo.TWO_WAY:null!==(u=U(t,a+".once"))&&(f.mode=wo.ONE_TIME)),null!==u)f.raw=u,c=k(u),u=c.expression,f.filters=c.filters,o(u)&&!c.filters?f.optimizedLiteral=!0:f.dynamic=!0,f.parentPath=u;else if(null!==(u=V(t,a)))f.raw=u;else;h.push(f)}return Oe(h)}function Oe(t){return function(e,n){e._props={};for(var r,o,a,u,l,h=e.$options.propsData,v=t.length;v--;)if(r=t[v],l=r.raw,o=r.path,a=r.options,e._props[o]=r,h&&i(h,o)&&Ce(e,r,h[o]),null===l)Ce(e,r,void 0);else if(r.dynamic)r.mode===wo.ONE_TIME?(u=(n||e._context||e).$get(r.parentPath),Ce(e,r,u)):e._context?e._bindDir({name:"prop",def:Co,prop:r},null,null,n):Ce(e,r,e.$get(r.parentPath));else if(r.optimizedLiteral){var d=f(l);u=d===l?c(s(l)):d,Ce(e,r,u)}else u=a.type!==Boolean||""!==l&&l!==p(r.name)?l:!0,Ce(e,r,u)}}function je(t,e,n,r){var i=e.dynamic&&Vt(e.parentPath),o=n;void 0===o&&(o=Ee(t,e)),o=Se(e,o);var a=o!==n;ke(e,o,t)||(o=void 0),i&&!a?wt(function(){r(o)}):r(o)}function Ce(t,e,n){je(t,e,n,function(n){At(t,e.path,n)})}function Ae(t,e,n){je(t,e,n,function(n){t[e.path]=n})}function Ee(t,e){var n=e.options;if(!i(n,"default"))return n.type===Boolean?!1:void 0;var r=n["default"];return b(r),"function"==typeof r&&n.type!==Function?r.call(t):r}function ke(t,e,n){if(!t.options.required&&(null===t.raw||null==e))return!0;var r=t.options,i=r.type,o=!i,a=[];if(i){Mn(i)||(i=[i]);for(var u=0;ui;i++)r[i]._bind();return r}function Fe(t,e){return t=t.descriptor.def.priority||Uo,e=e.descriptor.def.priority||Uo,t>e?-1:t===e?0:1}function De(t,e,n,r){function i(i){ze(t,e,i),n&&r&&ze(n,r)}return i.dirs=e,i}function ze(t,e,n){for(var r=e.length;r--;)e[r]._teardown()}function Le(t,e,n,r){var i=xe(e,n,t),o=Me(function(){i(t,r)},t);return De(t,o)}function Ve(t,e,n){var r,i,o=e._containerAttrs,a=e._replacerAttrs;if(11!==t.nodeType)e._asComponent?(o&&n&&(r=en(o,n)),a&&(i=en(a,e))):i=en(t.attributes,e);else;return e._containerAttrs=e._replacerAttrs=null,function(t,e,n){var o,a=t._context;a&&r&&(o=Me(function(){r(a,e,null,n)},a));var u=Me(function(){i&&i(t,e)},t);return De(t,u,a,o)}}function Ue(t,e){var n=t.nodeType;return 1!==n||an(t)?3===n&&t.data.trim()?We(t,e):null:He(t,e)}function He(t,e){if("TEXTAREA"===t.tagName){var n=$(t.value);n&&(t.setAttribute(":value",P(n)),t.value="")}var r,i=t.hasAttributes(),o=i&&y(t.attributes);return i&&(r=Ke(t,o,e)),r||(r=Ze(t,e)),r||(r=Ye(t,e)),!r&&i&&(r=en(o,e)),r}function We(t,e){if(t._skip)return Be;var n=$(t.wholeText);if(!n)return null;for(var r=t.nextSibling;r&&3===r.nodeType;)r._skip=!0,r=r.nextSibling;for(var i,o,a=document.createDocumentFragment(),u=0,s=n.length;s>u;u++)o=n[u],i=o.tag?qe(o,e):document.createTextNode(o.value),a.appendChild(i);return Ge(n,a,e)}function Be(t,e){q(e)}function qe(t,e){function n(e){if(!t.descriptor){var n=k(t.value);t.descriptor={name:e,def:bo[e],expression:n.expression,filters:n.filters}}}var r;return t.oneTime?r=document.createTextNode(t.value):t.html?(r=document.createComment("v-html"),n("html")):(r=document.createTextNode(" "),n("text")),r}function Ge(t,e){return function(n,r,i,o){for(var a,u,s,c=e.cloneNode(!0),f=y(c.childNodes),l=0,h=t.length;h>l;l++)a=t[l],u=a.value,a.tag&&(s=f[l],a.oneTime?(u=(o||n).$eval(u),a.html?J(s,Kt(u,!0)):s.data=u):n._bindDir(a.descriptor,s,i,o));J(r,c)}}function Je(t,e){for(var n,r,i,o=[],a=0,u=t.length;u>a;a++)i=t[a],n=Ue(i,e),r=n&&n.terminal||"SCRIPT"===i.tagName||!i.hasChildNodes()?null:Je(i.childNodes,e),o.push(n,r);return o.length?Qe(o):null}function Qe(t){return function(e,n,r,i,o){for(var a,u,s,c=0,f=0,l=t.length;l>c;f++){a=n[f],u=t[c++],s=t[c++];var h=y(a.childNodes);u&&u(e,a,r,i,o),s&&s(e,h,r,i,o)}}}function Ze(t,e){var n=t.tagName.toLowerCase();if(!kr.test(n)){var r=_t(e,"elementDirectives",n);return r?tn(t,n,"",e,r):void 0}}function Ye(t,e){var n=lt(t,e);if(n){var r=at(t),i={name:"component",ref:r,expression:n.id,def:Mo.component,modifiers:{literal:!n.dynamic}},o=function(t,e,n,o,a){r&&At((o||t).$refs,r,null),t._bindDir(i,e,n,o,a)};return o.terminal=!0,o}}function Ke(t,e,n){if(null!==V(t,"v-pre"))return Xe;if(t.hasAttribute("v-else")){var r=t.previousElementSibling;if(r&&r.hasAttribute("v-if"))return Xe}for(var i,o,a,u,s,c,f,l,h,p,v=0,d=e.length;d>v;v++)i=e[v],o=i.name.replace(Lo,""),(s=o.match(zo))&&(h=_t(n,"directives",s[1]),h&&h.terminal&&(!p||(h.priority||Ho)>p.priority)&&(p=h,f=i.name,u=nn(i.name),a=i.value,c=s[1],l=s[2]));return p?tn(t,c,a,n,p,f,l,u):void 0}function Xe(){}function tn(t,e,n,r,i,o,a,u){var s=k(n),c={name:e,arg:a,expression:s.expression,filters:s.filters,raw:n,attr:o,modifiers:u,def:i};"for"!==e&&"router-view"!==e||(c.ref=at(t));var f=function(t,e,n,r,i){c.ref&&At((r||t).$refs,c.ref,null),t._bindDir(c,e,n,r,i)};return f.terminal=!0,f}function en(t,e){function n(t,e,n){var r=n&&on(n),i=!r&&k(o);d.push({name:t,attr:a,raw:u,def:e,arg:c,modifiers:f,expression:i&&i.expression,filters:i&&i.filters,interp:n,hasOneTime:r})}for(var r,i,o,a,u,s,c,f,l,h,p,v=t.length,d=[];v--;)if(r=t[v],i=a=r.name,o=u=r.value,h=$(o),c=null,f=nn(i),i=i.replace(Lo,""),h)o=P(h),c=i,n("bind",bo.bind,h);else if(Vo.test(i))f.literal=!Fo.test(i),n("transition",Mo.transition);else if(Do.test(i))c=i.replace(Do,""),n("on",bo.on);else if(Fo.test(i))s=i.replace(Fo,""),"style"===s||"class"===s?n(s,Mo[s]):(c=s,n("bind",bo.bind));else if(p=i.match(zo)){if(s=p[1],c=p[2],"else"===s)continue;l=_t(e,"directives",s,!0),l&&n(s,l)}return d.length?rn(d):void 0}function nn(t){var e=Object.create(null),n=t.match(Lo);if(n)for(var r=n.length;r--;)e[n[r].slice(1)]=!0;return e}function rn(t){return function(e,n,r,i,o){for(var a=t.length;a--;)e._bindDir(t[a],n,r,i,o)}}function on(t){for(var e=t.length;e--;)if(t[e].oneTime)return!0}function an(t){return"SCRIPT"===t.tagName&&(!t.hasAttribute("type")||"text/javascript"===t.getAttribute("type"))}function un(t,e){return e&&(e._containerAttrs=cn(t)),it(t)&&(t=Kt(t)),e&&(e._asComponent&&!e.template&&(e.template=""),e.template&&(e._content=et(t),t=sn(t,e))),ct(t)&&(G(ot("v-start",!0),t),t.appendChild(ot("v-end",!0))),t}function sn(t,e){var n=e.template,r=Kt(n,!0);if(r){var i=r.firstChild,o=i.tagName&&i.tagName.toLowerCase();return e.replace?(t===document.body,r.childNodes.length>1||1!==i.nodeType||"component"===o||_t(e,"components",o)||H(i,"is")||_t(e,"elementDirectives",o)||i.hasAttribute("v-for")||i.hasAttribute("v-if")?r:(e._replacerAttrs=cn(i),fn(t,i),i)):(t.appendChild(r),t)}}function cn(t){return 1===t.nodeType&&t.hasAttributes()?y(t.attributes):void 0}function fn(t,e){for(var n,r,i=t.attributes,o=i.length;o--;)n=i[o].name,r=i[o].value,e.hasAttribute(n)||Wo.test(n)?"class"===n&&!$(r)&&(r=r.trim())&&r.split(/\s+/).forEach(function(t){X(e,t)}):e.setAttribute(n,r)}function ln(t,e){if(e){for(var n,r,i=t._slotContents=Object.create(null),o=0,a=e.children.length;a>o;o++)n=e.children[o],(r=n.getAttribute("slot"))&&(i[r]||(i[r]=[])).push(n);for(r in i)i[r]=hn(i[r],e);if(e.hasChildNodes()){var u=e.childNodes;if(1===u.length&&3===u[0].nodeType&&!u[0].data.trim())return;i["default"]=hn(e.childNodes,e)}}}function hn(t,e){var n=document.createDocumentFragment();t=y(t);for(var r=0,i=t.length;i>r;r++){var o=t[r];!it(o)||o.hasAttribute("v-if")||o.hasAttribute("v-for")||(e.removeChild(o),o=Kt(o,!0)),n.appendChild(o)}return n}function pn(t){function e(){}function n(t,e){var n=new qt(e,t,null,{lazy:!0});return function(){return n.dirty&&n.evaluate(),mt.target&&n.depend(),n.value}}Object.defineProperty(t.prototype,"$data",{get:function(){return this._data},set:function(t){t!==this._data&&this._setData(t)}}),t.prototype._initState=function(){this._initProps(),this._initMeta(),this._initMethods(),this._initData(),this._initComputed()},t.prototype._initProps=function(){var t=this.$options,e=t.el,n=t.props;e=t.el=z(e),this._propsUnlinkFn=e&&1===e.nodeType&&n?Le(this,e,n,this._scope):null},t.prototype._initData=function(){var t=this.$options.data,e=this._data=t?t():{};_(e)||(e={});var n,r,o=this._props,a=Object.keys(e);for(n=a.length;n--;)r=a[n],o&&i(o,r)||this._proxy(r);Ct(e,this)},t.prototype._setData=function(t){t=t||{};var e=this._data;this._data=t;var n,r,o;for(n=Object.keys(e),o=n.length;o--;)r=n[o],r in t||this._unproxy(r);for(n=Object.keys(t),o=n.length;o--;)r=n[o],i(this,r)||this._proxy(r);e.__ob__.removeVm(this),Ct(t,this),this._digest()},t.prototype._proxy=function(t){if(!a(t)){var e=this;Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return e._data[t]},set:function(n){e._data[t]=n}})}},t.prototype._unproxy=function(t){a(t)||delete this[t]},t.prototype._digest=function(){for(var t=0,e=this._watchers.length;e>t;t++)this._watchers[t].update(!0)},t.prototype._initComputed=function(){var t=this.$options.computed;if(t)for(var r in t){var i=t[r],o={enumerable:!0,configurable:!0};"function"==typeof i?(o.get=n(i,this),o.set=e):(o.get=i.get?i.cache!==!1?n(i.get,this):d(i.get,this):e,o.set=i.set?d(i.set,this):e),Object.defineProperty(this,r,o)}},t.prototype._initMethods=function(){var t=this.$options.methods;if(t)for(var e in t)this[e]=d(t[e],this)},t.prototype._initMeta=function(){var t=this.$options._meta;if(t)for(var e in t)At(this,e,t[e])}}function vn(t){function e(t,e){for(var n,r,i,o=e.attributes,a=0,u=o.length;u>a;a++)n=o[a].name,qo.test(n)&&(n=n.replace(qo,""),r=o[a].value,Vt(r)&&(r+=".apply(this, $arguments)"),i=(t._scope||t._context).$eval(r,!0),i._fromParent=!0,t.$on(n.replace(qo),i))}function n(t,e,n){if(n){var i,o,a,u;for(o in n)if(i=n[o],Mn(i))for(a=0,u=i.length;u>a;a++)r(t,e,o,i[a]);else r(t,e,o,i)}}function r(t,e,n,i,o){var a=typeof i;if("function"===a)t[e](n,i,o);else if("string"===a){var u=t.$options.methods,s=u&&u[i];s&&t[e](n,s,o)}else i&&"object"===a&&r(t,e,n,i.handler,i)}function i(){this._isAttached||(this._isAttached=!0,this.$children.forEach(o))}function o(t){!t._isAttached&&L(t.$el)&&t._callHook("attached")}function a(){this._isAttached&&(this._isAttached=!1,this.$children.forEach(u))}function u(t){t._isAttached&&!L(t.$el)&&t._callHook("detached")}t.prototype._initEvents=function(){var t=this.$options;t._asComponent&&e(this,t.el),n(this,"$on",t.events),n(this,"$watch",t.watch)},t.prototype._initDOMHooks=function(){this.$on("hook:attached",i),this.$on("hook:detached",a)},t.prototype._callHook=function(t){this.$emit("pre-hook:"+t);var e=this.$options[t];if(e)for(var n=0,r=e.length;r>n;n++)e[n].call(this);this.$emit("hook:"+t)}}function dn(){}function yn(t,e,n,r,i,o){this.vm=e,this.el=n,this.descriptor=t,this.name=t.name,this.expression=t.expression,this.arg=t.arg,this.modifiers=t.modifiers,this.filters=t.filters,this.literal=this.modifiers&&this.modifiers.literal,this._locked=!1,this._bound=!1,this._listeners=null,this._host=r,this._scope=i,this._frag=o}function gn(t){t.prototype._updateRef=function(t){var e=this.$options._ref;if(e){var n=(this._scope||this._context).$refs;t?n[e]===this&&(n[e]=null):n[e]=this}},t.prototype._compile=function(t){var e=this.$options,n=t;if(t=un(t,e),this._initElement(t),1!==t.nodeType||null===V(t,"v-pre")){var r=this._context&&this._context.$options,i=Ve(t,e,r);ln(this,e._content);var o,a=this.constructor;e._linkerCachable&&(o=a.linker,o||(o=a.linker=Ne(t,e)));var u=i(this,t,this._scope),s=o?o(this,t):Ne(t,e)(this,t);this._unlinkFn=function(){u(),s(!0)},e.replace&&J(n,t),this._isCompiled=!0,this._callHook("compiled")}},t.prototype._initElement=function(t){ct(t)?(this._isFragment=!0,this.$el=this._fragmentStart=t.firstChild,this._fragmentEnd=t.lastChild,3===this._fragmentStart.nodeType&&(this._fragmentStart.data=this._fragmentEnd.data=""),this._fragment=t):this.$el=t,this.$el.__vue__=this,this._callHook("beforeCompile")},t.prototype._bindDir=function(t,e,n,r,i){this._directives.push(new yn(t,this,e,n,r,i))},t.prototype._destroy=function(t,e){if(this._isBeingDestroyed)return void(e||this._cleanup());var n,r,i=this,o=function(){!n||r||e||i._cleanup()};t&&this.$el&&(r=!0,this.$remove(function(){r=!1,o()})),this._callHook("beforeDestroy"),this._isBeingDestroyed=!0;var a,u=this.$parent;for(u&&!u._isBeingDestroyed&&(u.$children.$remove(this),this._updateRef(!0)),a=this.$children.length;a--;)this.$children[a].$destroy();for(this._propsUnlinkFn&&this._propsUnlinkFn(),this._unlinkFn&&this._unlinkFn(), +a=this._watchers.length;a--;)this._watchers[a].teardown();this.$el&&(this.$el.__vue__=null),n=!0,o()},t.prototype._cleanup=function(){this._isDestroyed||(this._frag&&this._frag.children.$remove(this),this._data&&this._data.__ob__&&this._data.__ob__.removeVm(this),this.$el=this.$parent=this.$root=this.$children=this._watchers=this._context=this._scope=this._directives=null,this._isDestroyed=!0,this._callHook("destroyed"),this.$off())}}function bn(t){t.prototype._applyFilters=function(t,e,n,r){var i,o,a,u,s,c,f,l,h;for(c=0,f=n.length;f>c;c++)if(i=n[r?f-c-1:c],o=_t(this.$options,"filters",i.name,!0),o&&(o=r?o.write:o.read||o,"function"==typeof o)){if(a=r?[t,e]:[t],s=r?2:1,i.args)for(l=0,h=i.args.length;h>l;l++)u=i.args[l],a[l+s]=u.dynamic?this.$get(u.value):u.value;t=o.apply(this,a)}return t},t.prototype._resolveComponent=function(e,n){var r;if(r="function"==typeof e?e:_t(this.$options,"components",e,!0))if(r.options)n(r);else if(r.resolved)n(r.resolved);else if(r.requested)r.pendingCallbacks.push(n);else{r.requested=!0;var i=r.pendingCallbacks=[n];r.call(this,function(e){_(e)&&(e=t.extend(e)),r.resolved=e;for(var n=0,o=i.length;o>n;n++)i[n](e)},function(t){})}}}function _n(t){function e(t){return JSON.parse(JSON.stringify(t))}t.prototype.$get=function(t,e){var n=Lt(t);if(n){if(e){var r=this;return function(){r.$arguments=y(arguments);var t=n.get.call(r,r);return r.$arguments=null,t}}try{return n.get.call(this,this)}catch(i){}}},t.prototype.$set=function(t,e){var n=Lt(t,!0);n&&n.set&&n.set.call(this,this,e)},t.prototype.$delete=function(t){r(this._data,t)},t.prototype.$watch=function(t,e,n){var r,i=this;"string"==typeof t&&(r=k(t),t=r.expression);var o=new qt(i,t,e,{deep:n&&n.deep,sync:n&&n.sync,filters:r&&r.filters,user:!n||n.user!==!1});return n&&n.immediate&&e.call(i,o.value),function(){o.teardown()}},t.prototype.$eval=function(t,e){if(Go.test(t)){var n=k(t),r=this.$get(n.expression,e);return n.filters?this._applyFilters(r,null,n.filters):r}return this.$get(t,e)},t.prototype.$interpolate=function(t){var e=$(t),n=this;return e?1===e.length?n.$eval(e[0].value)+"":e.map(function(t){return t.tag?n.$eval(t.value):t.value}).join(""):t},t.prototype.$log=function(t){var n=t?Pt(this._data,t):this._data;if(n&&(n=e(n)),!t){var r;for(r in this.$options.computed)n[r]=e(this[r]);if(this._props)for(r in this._props)n[r]=e(this[r])}console.log(n)}}function mn(t){function e(t,e,r,i,o,a){e=n(e);var u=!L(e),s=i===!1||u?o:a,c=!u&&!t._isAttached&&!L(t.$el);return t._isFragment?(ut(t._fragmentStart,t._fragmentEnd,function(n){s(n,e,t)}),r&&r()):s(t.$el,e,t,r),c&&t._callHook("attached"),t}function n(t){return"string"==typeof t?document.querySelector(t):t}function r(t,e,n,r){e.appendChild(t),r&&r()}function i(t,e,n,r){W(t,e),r&&r()}function o(t,e,n){q(t),n&&n()}t.prototype.$nextTick=function(t){Yn(t,this)},t.prototype.$appendTo=function(t,n,i){return e(this,t,n,i,r,N)},t.prototype.$prependTo=function(t,e,r){return t=n(t),t.hasChildNodes()?this.$before(t.firstChild,e,r):this.$appendTo(t,e,r),this},t.prototype.$before=function(t,n,r){return e(this,t,n,r,i,M)},t.prototype.$after=function(t,e,r){return t=n(t),t.nextSibling?this.$before(t.nextSibling,e,r):this.$appendTo(t.parentNode,e,r),this},t.prototype.$remove=function(t,e){if(!this.$el.parentNode)return t&&t();var n=this._isAttached&&L(this.$el);n||(e=!1);var r=this,i=function(){n&&r._callHook("detached"),t&&t()};if(this._isFragment)st(this._fragmentStart,this._fragmentEnd,this,this._fragment,i);else{var a=e===!1?o:F;a(this.$el,this,i)}return this}}function wn(t){function e(t,e,r){var i=t.$parent;if(i&&r&&!n.test(e))for(;i;)i._eventsCount[e]=(i._eventsCount[e]||0)+r,i=i.$parent}t.prototype.$on=function(t,n){return(this._events[t]||(this._events[t]=[])).push(n),e(this,t,1),this},t.prototype.$once=function(t,e){function n(){r.$off(t,n),e.apply(this,arguments)}var r=this;return n.fn=e,this.$on(t,n),this},t.prototype.$off=function(t,n){var r;if(!arguments.length){if(this.$parent)for(t in this._events)r=this._events[t],r&&e(this,t,-r.length);return this._events={},this}if(r=this._events[t],!r)return this;if(1===arguments.length)return e(this,t,-r.length),this._events[t]=null,this;for(var i,o=r.length;o--;)if(i=r[o],i===n||i.fn===n){e(this,t,-1),r.splice(o,1);break}return this},t.prototype.$emit=function(t){var e="string"==typeof t;t=e?t:t.name;var n=this._events[t],r=e||!n;if(n){n=n.length>1?y(n):n;var i=e&&n.some(function(t){return t._fromParent});i&&(r=!1);for(var o=y(arguments,1),a=0,u=n.length;u>a;a++){var s=n[a],c=s.apply(this,o);c!==!0||i&&!s._fromParent||(r=!0)}}return r},t.prototype.$broadcast=function(t){var e="string"==typeof t;if(t=e?t:t.name,this._eventsCount[t]){var n=this.$children,r=y(arguments);e&&(r[0]={name:t,source:this});for(var i=0,o=n.length;o>i;i++){var a=n[i],u=a.$emit.apply(a,r);u&&a.$broadcast.apply(a,r)}return this}},t.prototype.$dispatch=function(t){var e=this.$emit.apply(this,arguments);if(e){var n=this.$parent,r=y(arguments);for(r[0]={name:t,source:this};n;)e=n.$emit.apply(n,r),n=e?n.$parent:null;return this}};var n=/^hook:/}function xn(t){function e(){this._isAttached=!0,this._isReady=!0,this._callHook("ready")}t.prototype.$mount=function(t){return this._isCompiled?void 0:(t=z(t),t||(t=document.createElement("div")),this._compile(t),this._initDOMHooks(),L(this.$el)?(this._callHook("attached"),e.call(this)):this.$once("hook:attached",e),this)},t.prototype.$destroy=function(t,e){this._destroy(t,e)},t.prototype.$compile=function(t,e,n,r){return Ne(t,this.$options,!0)(this,t,e,n,r)}}function On(t){this._init(t)}function jn(t,e,n){return n=n?parseInt(n,10):0,e=s(e),"number"==typeof e?t.slice(n,n+e):t}function Cn(t,e,n){if(t=Yo(t),null==e)return t;if("function"==typeof e)return t.filter(e);e=(""+e).toLowerCase();for(var r,i,o,a,u="in"===n?3:2,s=Array.prototype.concat.apply([],y(arguments,u)),c=[],f=0,l=t.length;l>f;f++)if(r=t[f],o=r&&r.$value||r,a=s.length){for(;a--;)if(i=s[a],"$key"===i&&En(r.$key,e)||En(Pt(o,i),e)){c.push(r);break}}else En(r,e)&&c.push(r);return c}function An(t){function e(t,e,n){var i=r[n];return i&&("$key"!==i&&(b(t)&&"$value"in t&&(t=t.$value),b(e)&&"$value"in e&&(e=e.$value)),t=b(t)?Pt(t,i):t,e=b(e)?Pt(e,i):e),t===e?0:t>e?o:-o}var n=null,r=void 0;t=Yo(t);var i=y(arguments,1),o=i[i.length-1];"number"==typeof o?(o=0>o?-1:1,i=i.length>1?i.slice(0,-1):i):o=1;var a=i[0];return a?("function"==typeof a?n=function(t,e){return a(t,e)*o}:(r=Array.prototype.concat.apply([],i),n=function(t,i,o){return o=o||0,o>=r.length-1?e(t,i,o):e(t,i,o)||n(t,i,o+1)}),t.slice().sort(n)):t}function En(t,e){var n;if(_(t)){var r=Object.keys(t);for(n=r.length;n--;)if(En(t[r[n]],e))return!0}else if(Mn(t)){for(n=t.length;n--;)if(En(t[n],e))return!0}else if(null!=t)return t.toString().toLowerCase().indexOf(e)>-1}function kn(t){function e(t){return new Function("return function "+v(t)+" (options) { this._init(options) }")()}t.options={directives:bo,elementDirectives:Zo,filters:Xo,transitions:{},components:{},partials:{},replace:!0},t.util=Fr,t.config=jr,t.set=n,t["delete"]=r,t.nextTick=Yn,t.compiler=Bo,t.FragmentFactory=ae,t.internalDirectives=Mo,t.parsers={path:ti,text:wr,template:Ti,directive:dr,expression:vi},t.cid=0;var i=1;t.extend=function(t){t=t||{};var n=this,r=0===n.cid;if(r&&t._Ctor)return t._Ctor;var o=t.name||n.options.name,a=e(o||"VueComponent");return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=i++,a.options=bt(n.options,t),a["super"]=n,a.extend=n.extend,jr._assetTypes.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),r&&(t._Ctor=a),a},t.use=function(t){if(!t.installed){var e=y(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):t.apply(null,e),t.installed=!0,this}},t.mixin=function(e){t.options=bt(t.options,e)},jr._assetTypes.forEach(function(e){t[e]=function(n,r){return r?("component"===e&&_(r)&&(r.name=n,r=t.extend(r)),this.options[e+"s"][n]=r,r):this.options[e+"s"][n]}}),g(t.transition,Ar)}var Sn=Object.prototype.hasOwnProperty,Tn=/^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/,$n=/-(\w)/g,Pn=/([a-z\d])([A-Z])/g,In=/(?:^|[-_\/])(\w)/g,Rn=Object.prototype.toString,Nn="[object Object]",Mn=Array.isArray,Fn="__proto__"in{},Dn="undefined"!=typeof window&&"[object Object]"!==Object.prototype.toString.call(window),zn=Dn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Ln=Dn&&window.navigator.userAgent.toLowerCase(),Vn=Ln&&Ln.indexOf("msie 9.0")>0,Un=Ln&&Ln.indexOf("android")>0,Hn=Ln&&/(iphone|ipad|ipod|ios)/i.test(Ln),Wn=Ln&&Ln.indexOf("micromessenger")>0,Bn=void 0,qn=void 0,Gn=void 0,Jn=void 0;if(Dn&&!Vn){var Qn=void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend,Zn=void 0===window.onanimationend&&void 0!==window.onwebkitanimationend;Bn=Qn?"WebkitTransition":"transition",qn=Qn?"webkitTransitionEnd":"transitionend",Gn=Zn?"WebkitAnimation":"animation",Jn=Zn?"webkitAnimationEnd":"animationend"}var Yn=function(){function t(){i=!1;var t=r.slice(0);r=[];for(var e=0;ee;e++)t[e].update()};var Ir=Array.prototype,Rr=Object.create(Ir);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=Ir[t];m(Rr,t,function(){for(var n=arguments.length,r=new Array(n);n--;)r[n]=arguments[n];var i,o=e.apply(this,r),a=this.__ob__;switch(t){case"push":i=r;break;case"unshift":i=r;break;case"splice":i=r.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o})}),m(Ir,"$set",function(t,e){return t>=this.length&&(this.length=Number(t)+1),this.splice(t,1,e)[0]}),m(Ir,"$remove",function(t){if(this.length){var e=x(this,t);return e>-1?this.splice(e,1):void 0}});var Nr=Object.getOwnPropertyNames(Rr),Mr=!0;xt.prototype.walk=function(t){for(var e=Object.keys(t),n=0,r=e.length;r>n;n++)this.convert(e[n],t[e[n]])},xt.prototype.observeArray=function(t){for(var e=0,n=t.length;n>e;e++)Ct(t[e])},xt.prototype.convert=function(t,e){At(this.value,t,e)},xt.prototype.addVm=function(t){(this.vms||(this.vms=[])).push(t)},xt.prototype.removeVm=function(t){this.vms.$remove(t)};var Fr=Object.freeze({defineReactive:At,set:n,del:r,hasOwn:i,isLiteral:o,isReserved:a,_toString:u,toNumber:s,toBoolean:c,stripQuotes:f,camelize:l,hyphenate:p,classify:v,bind:d,toArray:y,extend:g,isObject:b,isPlainObject:_,def:m,debounce:w,indexOf:x,cancellable:O,looseEqual:j,isArray:Mn,hasProto:Fn,inBrowser:Dn,devtools:zn,isIE9:Vn,isAndroid:Un,isIos:Hn,isWechat:Wn,get transitionProp(){return Bn},get transitionEndEvent(){return qn},get animationProp(){return Gn},get animationEndEvent(){return Jn},nextTick:Yn,get _Set(){return Kn},query:z,inDoc:L,getAttr:V,getBindAttr:U,hasBindAttr:H,before:W,after:B,remove:q,prepend:G,replace:J,on:Q,off:Z,setClass:K,addClass:X,removeClass:tt,extractContent:et,trimNode:nt,isTemplate:it,createAnchor:ot,findRef:at,mapNodeRange:ut,removeNodeRange:st,isFragment:ct,getOuterHTML:ft,mergeOptions:bt,resolveAsset:_t,checkComponentAttr:lt,commonTagRE:kr,reservedTagRE:Sr,get warn(){return Cr}}),Dr=0,zr=new C(1e3),Lr=0,Vr=1,Ur=2,Hr=3,Wr=0,Br=1,qr=2,Gr=3,Jr=4,Qr=5,Zr=6,Yr=7,Kr=8,Xr=[];Xr[Wr]={ws:[Wr],ident:[Gr,Lr],"[":[Jr],eof:[Yr]},Xr[Br]={ws:[Br],".":[qr],"[":[Jr],eof:[Yr]},Xr[qr]={ws:[qr],ident:[Gr,Lr]},Xr[Gr]={ident:[Gr,Lr],0:[Gr,Lr],number:[Gr,Lr],ws:[Br,Vr],".":[qr,Vr],"[":[Jr,Vr],eof:[Yr,Vr]},Xr[Jr]={"'":[Qr,Lr],'"':[Zr,Lr],"[":[Jr,Ur],"]":[Br,Hr],eof:Kr,"else":[Jr,Lr]},Xr[Qr]={"'":[Jr,Lr],eof:Kr,"else":[Qr,Lr]},Xr[Zr]={'"':[Jr,Lr],eof:Kr,"else":[Zr,Lr]};var ti=Object.freeze({parsePath:$t,getPath:Pt,setPath:It}),ei=new C(1e3),ni="Math,Date,this,true,false,null,undefined,Infinity,NaN,isNaN,isFinite,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,parseInt,parseFloat",ri=new RegExp("^("+ni.replace(/,/g,"\\b|")+"\\b)"),ii="break,case,class,catch,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,let,return,super,switch,throw,try,var,while,with,yield,enum,await,implements,package,protected,static,interface,private,public",oi=new RegExp("^("+ii.replace(/,/g,"\\b|")+"\\b)"),ai=/\s/g,ui=/\n/g,si=/[\{,]\s*[\w\$_]+\s*:|('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`)|new |typeof |void /g,ci=/"(\d+)"/g,fi=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\]|\[\d+\]|\[[A-Za-z_$][\w$]*\])*$/,li=/[^\w$\.](?:[A-Za-z_$][\w$]*)/g,hi=/^(?:true|false)$/,pi=[],vi=Object.freeze({parseExpression:Lt,isSimplePath:Vt}),di=[],yi=[],gi={},bi={},_i=!1,mi=0;qt.prototype.get=function(){this.beforeGet();var t,e=this.scope||this.vm;try{t=this.getter.call(e,e)}catch(n){}return this.deep&&Gt(t),this.preProcess&&(t=this.preProcess(t)),this.filters&&(t=e._applyFilters(t,null,this.filters,!1)),this.postProcess&&(t=this.postProcess(t)),this.afterGet(),t},qt.prototype.set=function(t){var e=this.scope||this.vm;this.filters&&(t=e._applyFilters(t,this.value,this.filters,!0));try{this.setter.call(e,e,t)}catch(n){}var r=e.$forContext;if(r&&r.alias===this.expression){if(r.filters)return;r._withLock(function(){e.$key?r.rawValue[e.$key]=t:r.rawValue.$set(e.$index,t)})}},qt.prototype.beforeGet=function(){mt.target=this},qt.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},qt.prototype.afterGet=function(){mt.target=null;for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},qt.prototype.update=function(t){this.lazy?this.dirty=!0:this.sync||!jr.async?this.run():(this.shallow=this.queued?t?this.shallow:!1:!!t,this.queued=!0,Bt(this))},qt.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||(b(t)||this.deep)&&!this.shallow){var e=this.value;this.value=t;this.prevError;this.cb.call(this.vm,t,e)}this.queued=this.shallow=!1}},qt.prototype.evaluate=function(){var t=mt.target;this.value=this.get(),this.dirty=!1,mt.target=t},qt.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},qt.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||this.vm._vForRemoving||this.vm._watchers.$remove(this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1,this.vm=this.cb=this.value=null}};var wi=new Kn,xi={bind:function(){this.attr=3===this.el.nodeType?"data":"textContent"},update:function(t){this.el[this.attr]=u(t)}},Oi=new C(1e3),ji=new C(1e3),Ci={efault:[0,"",""],legend:[1,"
","
"],tr:[2,"","
"],col:[2,"","
"]};Ci.td=Ci.th=[3,"","
"],Ci.option=Ci.optgroup=[1,'"],Ci.thead=Ci.tbody=Ci.colgroup=Ci.caption=Ci.tfoot=[1,"","
"],Ci.g=Ci.defs=Ci.symbol=Ci.use=Ci.image=Ci.text=Ci.circle=Ci.ellipse=Ci.line=Ci.path=Ci.polygon=Ci.polyline=Ci.rect=[1,'',""];var Ai=/<([\w:-]+)/,Ei=/&#?\w+?;/,ki=function(){if(Dn){var t=document.createElement("div");return t.innerHTML="",!t.cloneNode(!0).firstChild.innerHTML}return!1}(),Si=function(){if(Dn){var t=document.createElement("textarea");return t.placeholder="t","t"===t.cloneNode(!0).value}return!1}(),Ti=Object.freeze({cloneNode:Yt,parseTemplate:Kt}),$i={bind:function(){8===this.el.nodeType&&(this.nodes=[],this.anchor=ot("v-html"),J(this.el,this.anchor))},update:function(t){t=u(t),this.nodes?this.swap(t):this.el.innerHTML=t},swap:function(t){for(var e=this.nodes.length;e--;)q(this.nodes[e]);var n=Kt(t,!0,!0);this.nodes=y(n.childNodes),W(n,this.anchor)}};Xt.prototype.callHook=function(t){var e,n;for(e=0,n=this.childFrags.length;n>e;e++)this.childFrags[e].callHook(t);for(e=0,n=this.children.length;n>e;e++)t(this.children[e])},Xt.prototype.beforeRemove=function(){var t,e;for(t=0,e=this.childFrags.length;e>t;t++)this.childFrags[t].beforeRemove(!1);for(t=0,e=this.children.length;e>t;t++)this.children[t].$destroy(!1,!0);var n=this.unlink.dirs;for(t=0,e=n.length;e>t;t++)n[t]._watcher&&n[t]._watcher.teardown()},Xt.prototype.destroy=function(){this.parentFrag&&this.parentFrag.childFrags.$remove(this),this.node.__v_frag=null,this.unlink()};var Pi=new C(5e3);ae.prototype.create=function(t,e,n){var r=Yt(this.template);return new Xt(this.linker,this.vm,r,t,e,n)};var Ii=700,Ri=800,Ni=850,Mi=1100,Fi=1500,Di=1500,zi=1750,Li=2100,Vi=2200,Ui=2300,Hi=0,Wi={priority:Vi,terminal:!0,params:["track-by","stagger","enter-stagger","leave-stagger"],bind:function(){var t=this.expression.match(/(.*) (?:in|of) (.*)/);if(t){var e=t[1].match(/\((.*),(.*)\)/);e?(this.iterator=e[1].trim(),this.alias=e[2].trim()):this.alias=t[1].trim(),this.expression=t[2]}if(this.alias){this.id="__v-for__"+ ++Hi;var n=this.el.tagName;this.isOption=("OPTION"===n||"OPTGROUP"===n)&&"SELECT"===this.el.parentNode.tagName,this.start=ot("v-for-start"),this.end=ot("v-for-end"),J(this.el,this.end),W(this.start,this.end),this.cache=Object.create(null),this.factory=new ae(this.vm,this.el)}},update:function(t){this.diff(t),this.updateRef(),this.updateModel()},diff:function(t){var e,n,r,o,a,u,s=t[0],c=this.fromObject=b(s)&&i(s,"$key")&&i(s,"$value"),f=this.params.trackBy,l=this.frags,h=this.frags=new Array(t.length),p=this.alias,v=this.iterator,d=this.start,y=this.end,g=L(d),_=!l;for(e=0,n=t.length;n>e;e++)s=t[e],o=c?s.$key:null,a=c?s.$value:s,u=!b(a),r=!_&&this.getCachedFrag(a,e,o),r?(r.reused=!0,r.scope.$index=e,o&&(r.scope.$key=o),v&&(r.scope[v]=null!==o?o:e),(f||c||u)&&wt(function(){r.scope[p]=a})):(r=this.create(a,p,e,o),r.fresh=!_),h[e]=r,_&&r.before(y);if(!_){var m=0,w=l.length-h.length;for(this.vm._vForRemoving=!0,e=0,n=l.length;n>e;e++)r=l[e],r.reused||(this.deleteCachedFrag(r),this.remove(r,m++,w,g));this.vm._vForRemoving=!1,m&&(this.vm._watchers=this.vm._watchers.filter(function(t){return t.active}));var x,O,j,C=0;for(e=0,n=h.length;n>e;e++)r=h[e],x=h[e-1],O=x?x.staggerCb?x.staggerAnchor:x.end||x.node:d,r.reused&&!r.staggerCb?(j=ue(r,d,this.id),j===x||j&&ue(j,d,this.id)===x||this.move(r,O)):this.insert(r,C++,O,g),r.reused=r.fresh=!1}},create:function(t,e,n,r){var i=this._host,o=this._scope||this.vm,a=Object.create(o);a.$refs=Object.create(o.$refs),a.$els=Object.create(o.$els),a.$parent=o,a.$forContext=this,wt(function(){At(a,e,t)}),At(a,"$index",n),r?At(a,"$key",r):a.$key&&m(a,"$key",null),this.iterator&&At(a,this.iterator,null!==r?r:n);var u=this.factory.create(i,a,this._frag);return u.forId=this.id,this.cacheFrag(t,u,n,r),u},updateRef:function(){var t=this.descriptor.ref;if(t){var e,n=(this._scope||this.vm).$refs;this.fromObject?(e={},this.frags.forEach(function(t){e[t.scope.$key]=se(t)})):e=this.frags.map(se),n[t]=e}},updateModel:function(){if(this.isOption){var t=this.start.parentNode,e=t&&t.__v_model;e&&e.forceUpdate()}},insert:function(t,e,n,r){t.staggerCb&&(t.staggerCb.cancel(),t.staggerCb=null);var i=this.getStagger(t,e,null,"enter");if(r&&i){var o=t.staggerAnchor;o||(o=t.staggerAnchor=ot("stagger-anchor"),o.__v_frag=t),B(o,n);var a=t.staggerCb=O(function(){t.staggerCb=null,t.before(o),q(o)});setTimeout(a,i)}else{var u=n.nextSibling;u||(B(this.end,n),u=this.end),t.before(u)}},remove:function(t,e,n,r){if(t.staggerCb)return t.staggerCb.cancel(),void(t.staggerCb=null);var i=this.getStagger(t,e,n,"leave");if(r&&i){var o=t.staggerCb=O(function(){t.staggerCb=null,t.remove()});setTimeout(o,i)}else t.remove()},move:function(t,e){e.nextSibling||this.end.parentNode.appendChild(this.end),t.before(e.nextSibling,!1)},cacheFrag:function(t,e,n,r){var o,a=this.params.trackBy,u=this.cache,s=!b(t);r||a||s?(o=fe(n,r,t,a),u[o]||(u[o]=e)):(o=this.id,i(t,o)?null===t[o]&&(t[o]=e):Object.isExtensible(t)&&m(t,o,e)),e.raw=t},getCachedFrag:function(t,e,n){var r,i=this.params.trackBy,o=!b(t);if(n||i||o){var a=fe(e,n,t,i);r=this.cache[a]}else r=t[this.id];return r&&(r.reused||r.fresh),r},deleteCachedFrag:function(t){var e=t.raw,n=this.params.trackBy,r=t.scope,o=r.$index,a=i(r,"$key")&&r.$key,u=!b(e);if(n||a||u){var s=fe(o,a,e,n);this.cache[s]=null}else e[this.id]=null,t.raw=null},getStagger:function(t,e,n,r){r+="Stagger";var i=t.node.__v_trans,o=i&&i.hooks,a=o&&(o[r]||o.stagger);return a?a.call(t,e,n):e*parseInt(this.params[r]||this.params.stagger,10)},_preProcess:function(t){return this.rawValue=t,t},_postProcess:function(t){if(Mn(t))return t;if(_(t)){for(var e,n=Object.keys(t),r=n.length,i=new Array(r);r--;)e=n[r],i[r]={$key:e,$value:t[e]};return i}return"number"!=typeof t||isNaN(t)||(t=ce(t)),t||[]},unbind:function(){if(this.descriptor.ref&&((this._scope||this.vm).$refs[this.descriptor.ref]=null),this.frags)for(var t,e=this.frags.length;e--;)t=this.frags[e],this.deleteCachedFrag(t),t.destroy()}},Bi={priority:Li,terminal:!0,bind:function(){var t=this.el;if(t.__vue__)this.invalid=!0;else{var e=t.nextElementSibling;e&&null!==V(e,"v-else")&&(q(e),this.elseEl=e),this.anchor=ot("v-if"),J(t,this.anchor)}},update:function(t){this.invalid||(t?this.frag||this.insert():this.remove())},insert:function(){this.elseFrag&&(this.elseFrag.remove(),this.elseFrag=null),this.factory||(this.factory=new ae(this.vm,this.el)),this.frag=this.factory.create(this._host,this._scope,this._frag),this.frag.before(this.anchor)},remove:function(){this.frag&&(this.frag.remove(),this.frag=null),this.elseEl&&!this.elseFrag&&(this.elseFactory||(this.elseFactory=new ae(this.elseEl._context||this.vm,this.elseEl)),this.elseFrag=this.elseFactory.create(this._host,this._scope,this._frag),this.elseFrag.before(this.anchor))},unbind:function(){this.frag&&this.frag.destroy(),this.elseFrag&&this.elseFrag.destroy()}},qi={bind:function(){var t=this.el.nextElementSibling;t&&null!==V(t,"v-else")&&(this.elseEl=t)},update:function(t){this.apply(this.el,t),this.elseEl&&this.apply(this.elseEl,!t)},apply:function(t,e){function n(){t.style.display=e?"":"none"}L(t)?D(t,e?1:-1,n,this.vm):n()}},Gi={bind:function(){var t=this,e=this.el,n="range"===e.type,r=this.params.lazy,i=this.params.number,o=this.params.debounce,a=!1;if(Un||n||(this.on("compositionstart",function(){a=!0}),this.on("compositionend",function(){a=!1,r||t.listener()})),this.focused=!1,n||r||(this.on("focus",function(){t.focused=!0}),this.on("blur",function(){t.focused=!1,t._frag&&!t._frag.inserted||t.rawListener()})),this.listener=this.rawListener=function(){if(!a&&t._bound){var r=i||n?s(e.value):e.value;t.set(r),Yn(function(){t._bound&&!t.focused&&t.update(t._watcher.value)})}},o&&(this.listener=w(this.listener,o)),this.hasjQuery="function"==typeof jQuery,this.hasjQuery){var u=jQuery.fn.on?"on":"bind";jQuery(e)[u]("change",this.rawListener),r||jQuery(e)[u]("input",this.listener)}else this.on("change",this.rawListener),r||this.on("input",this.listener);!r&&Vn&&(this.on("cut",function(){Yn(t.listener)}),this.on("keyup",function(e){46!==e.keyCode&&8!==e.keyCode||t.listener()})),(e.hasAttribute("value")||"TEXTAREA"===e.tagName&&e.value.trim())&&(this.afterBind=this.listener)},update:function(t){this.el.value=u(t)},unbind:function(){var t=this.el;if(this.hasjQuery){var e=jQuery.fn.off?"off":"unbind";jQuery(t)[e]("change",this.listener),jQuery(t)[e]("input",this.listener)}}},Ji={bind:function(){var t=this,e=this.el;this.getValue=function(){if(e.hasOwnProperty("_value"))return e._value;var n=e.value;return t.params.number&&(n=s(n)),n},this.listener=function(){t.set(t.getValue())},this.on("change",this.listener),e.hasAttribute("checked")&&(this.afterBind=this.listener)},update:function(t){this.el.checked=j(t,this.getValue())}},Qi={bind:function(){var t=this,e=this.el;this.forceUpdate=function(){t._watcher&&t.update(t._watcher.get())};var n=this.multiple=e.hasAttribute("multiple");this.listener=function(){var r=le(e,n);r=t.params.number?Mn(r)?r.map(s):s(r):r,t.set(r)},this.on("change",this.listener);var r=le(e,n,!0);(n&&r.length||!n&&null!==r)&&(this.afterBind=this.listener),this.vm.$on("hook:attached",this.forceUpdate)},update:function(t){var e=this.el;e.selectedIndex=-1;for(var n,r,i=this.multiple&&Mn(t),o=e.options,a=o.length;a--;)n=o[a],r=n.hasOwnProperty("_value")?n._value:n.value,n.selected=i?he(t,r)>-1:j(t,r)},unbind:function(){this.vm.$off("hook:attached",this.forceUpdate)}},Zi={bind:function(){function t(){var t=n.checked;return t&&n.hasOwnProperty("_trueValue")?n._trueValue:!t&&n.hasOwnProperty("_falseValue")?n._falseValue:t}var e=this,n=this.el;this.getValue=function(){return n.hasOwnProperty("_value")?n._value:e.params.number?s(n.value):n.value},this.listener=function(){var r=e._watcher.value;if(Mn(r)){var i=e.getValue();n.checked?x(r,i)<0&&r.push(i):r.$remove(i)}else e.set(t())},this.on("change",this.listener),n.hasAttribute("checked")&&(this.afterBind=this.listener)},update:function(t){var e=this.el;Mn(t)?e.checked=x(t,this.getValue())>-1:e.hasOwnProperty("_trueValue")?e.checked=j(t,e._trueValue):e.checked=!!t}},Yi={text:Gi,radio:Ji,select:Qi,checkbox:Zi},Ki={priority:Ri,twoWay:!0,handlers:Yi,params:["lazy","number","debounce"],bind:function(){this.checkFilters(),this.hasRead&&!this.hasWrite;var t,e=this.el,n=e.tagName;if("INPUT"===n)t=Yi[e.type]||Yi.text;else if("SELECT"===n)t=Yi.select;else{if("TEXTAREA"!==n)return;t=Yi.text}e.__v_model=this,t.bind.call(this),this.update=t.update,this._unbind=t.unbind},checkFilters:function(){var t=this.filters;if(t)for(var e=t.length;e--;){var n=_t(this.vm.$options,"filters",t[e].name);("function"==typeof n||n.read)&&(this.hasRead=!0),n.write&&(this.hasWrite=!0)}},unbind:function(){this.el.__v_model=null,this._unbind&&this._unbind()}},Xi={esc:27,tab:9,enter:13,space:32,"delete":[8,46],up:38,left:37,right:39,down:40},to={priority:Ii,acceptStatement:!0,keyCodes:Xi,bind:function(){if("IFRAME"===this.el.tagName&&"load"!==this.arg){var t=this;this.iframeBind=function(){Q(t.el.contentWindow,t.arg,t.handler,t.modifiers.capture)},this.on("load",this.iframeBind)}},update:function(t){if(this.descriptor.raw||(t=function(){}),"function"==typeof t){this.modifiers.stop&&(t=ve(t)),this.modifiers.prevent&&(t=de(t)),this.modifiers.self&&(t=ye(t));var e=Object.keys(this.modifiers).filter(function(t){return"stop"!==t&&"prevent"!==t&&"self"!==t&&"capture"!==t});e.length&&(t=pe(t,e)),this.reset(),this.handler=t,this.iframeBind?this.iframeBind():Q(this.el,this.arg,this.handler,this.modifiers.capture)}},reset:function(){var t=this.iframeBind?this.el.contentWindow:this.el;this.handler&&Z(t,this.arg,this.handler)},unbind:function(){this.reset()}},eo=["-webkit-","-moz-","-ms-"],no=["Webkit","Moz","ms"],ro=/!important;?$/,io=Object.create(null),oo=null,ao={deep:!0,update:function(t){"string"==typeof t?this.el.style.cssText=t:Mn(t)?this.handleObject(t.reduce(g,{})):this.handleObject(t||{})},handleObject:function(t){var e,n,r=this.cache||(this.cache={});for(e in r)e in t||(this.handleSingle(e,null),delete r[e]);for(e in t)n=t[e],n!==r[e]&&(r[e]=n,this.handleSingle(e,n))},handleSingle:function(t,e){if(t=ge(t))if(null!=e&&(e+=""),e){var n=ro.test(e)?"important":"";n?(e=e.replace(ro,"").trim(),this.el.style.setProperty(t.kebab,e,n)):this.el.style[t.camel]=e}else this.el.style[t.camel]=""}},uo="http://www.w3.org/1999/xlink",so=/^xlink:/,co=/^v-|^:|^@|^(?:is|transition|transition-mode|debounce|track-by|stagger|enter-stagger|leave-stagger)$/,fo=/^(?:value|checked|selected|muted)$/,lo=/^(?:draggable|contenteditable|spellcheck)$/,ho={value:"_value","true-value":"_trueValue","false-value":"_falseValue"},po={priority:Ni,bind:function(){var t=this.arg,e=this.el.tagName;t||(this.deep=!0);var n=this.descriptor,r=n.interp;if(r){n.hasOneTime&&(this.expression=P(r,this._scope||this.vm)),(co.test(t)||"name"===t&&("PARTIAL"===e||"SLOT"===e))&&(this.el.removeAttribute(t),this.invalid=!0)}},update:function(t){if(!this.invalid){var e=this.arg;this.arg?this.handleSingle(e,t):this.handleObject(t||{})}},handleObject:ao.handleObject,handleSingle:function(t,e){var n=this.el,r=this.descriptor.interp;if(this.modifiers.camel&&(t=l(t)),!r&&fo.test(t)&&t in n){var i="value"===t&&null==e?"":e;n[t]!==i&&(n[t]=i)}var o=ho[t];if(!r&&o){n[o]=e;var a=n.__v_model;a&&a.listener()}return"value"===t&&"TEXTAREA"===n.tagName?void n.removeAttribute(t):void(lo.test(t)?n.setAttribute(t,e?"true":"false"):null!=e&&e!==!1?"class"===t?(n.__v_trans&&(e+=" "+n.__v_trans.id+"-transition"),K(n,e)):so.test(t)?n.setAttributeNS(uo,t,e===!0?"":e):n.setAttribute(t,e===!0?"":e):n.removeAttribute(t)); +}},vo={priority:Fi,bind:function(){if(this.arg){var t=this.id=l(this.arg),e=(this._scope||this.vm).$els;i(e,t)?e[t]=this.el:At(e,t,this.el)}},unbind:function(){var t=(this._scope||this.vm).$els;t[this.id]===this.el&&(t[this.id]=null)}},yo={bind:function(){}},go={bind:function(){var t=this.el;this.vm.$once("pre-hook:compiled",function(){t.removeAttribute("v-cloak")})}},bo={text:xi,html:$i,"for":Wi,"if":Bi,show:qi,model:Ki,on:to,bind:po,el:vo,ref:yo,cloak:go},_o={deep:!0,update:function(t){t?"string"==typeof t?this.setClass(t.trim().split(/\s+/)):this.setClass(_e(t)):this.cleanup()},setClass:function(t){this.cleanup(t);for(var e=0,n=t.length;n>e;e++){var r=t[e];r&&me(this.el,r,X)}this.prevKeys=t},cleanup:function(t){var e=this.prevKeys;if(e)for(var n=e.length;n--;){var r=e[n];(!t||t.indexOf(r)<0)&&me(this.el,r,tt)}}},mo={priority:Di,params:["keep-alive","transition-mode","inline-template"],bind:function(){this.el.__vue__||(this.keepAlive=this.params.keepAlive,this.keepAlive&&(this.cache={}),this.params.inlineTemplate&&(this.inlineTemplate=et(this.el,!0)),this.pendingComponentCb=this.Component=null,this.pendingRemovals=0,this.pendingRemovalCb=null,this.anchor=ot("v-component"),J(this.el,this.anchor),this.el.removeAttribute("is"),this.el.removeAttribute(":is"),this.descriptor.ref&&this.el.removeAttribute("v-ref:"+p(this.descriptor.ref)),this.literal&&this.setComponent(this.expression))},update:function(t){this.literal||this.setComponent(t)},setComponent:function(t,e){if(this.invalidatePending(),t){var n=this;this.resolveComponent(t,function(){n.mountComponent(e)})}else this.unbuild(!0),this.remove(this.childVM,e),this.childVM=null},resolveComponent:function(t,e){var n=this;this.pendingComponentCb=O(function(r){n.ComponentName=r.options.name||("string"==typeof t?t:null),n.Component=r,e()}),this.vm._resolveComponent(t,this.pendingComponentCb)},mountComponent:function(t){this.unbuild(!0);var e=this,n=this.Component.options.activate,r=this.getCached(),i=this.build();n&&!r?(this.waitingFor=i,we(n,i,function(){e.waitingFor===i&&(e.waitingFor=null,e.transition(i,t))})):(r&&i._updateRef(),this.transition(i,t))},invalidatePending:function(){this.pendingComponentCb&&(this.pendingComponentCb.cancel(),this.pendingComponentCb=null)},build:function(t){var e=this.getCached();if(e)return e;if(this.Component){var n={name:this.ComponentName,el:Yt(this.el),template:this.inlineTemplate,parent:this._host||this.vm,_linkerCachable:!this.inlineTemplate,_ref:this.descriptor.ref,_asComponent:!0,_isRouterView:this._isRouterView,_context:this.vm,_scope:this._scope,_frag:this._frag};t&&g(n,t);var r=new this.Component(n);return this.keepAlive&&(this.cache[this.Component.cid]=r),r}},getCached:function(){return this.keepAlive&&this.cache[this.Component.cid]},unbuild:function(t){this.waitingFor&&(this.keepAlive||this.waitingFor.$destroy(),this.waitingFor=null);var e=this.childVM;return!e||this.keepAlive?void(e&&(e._inactive=!0,e._updateRef(!0))):void e.$destroy(!1,t)},remove:function(t,e){var n=this.keepAlive;if(t){this.pendingRemovals++,this.pendingRemovalCb=e;var r=this;t.$remove(function(){r.pendingRemovals--,n||t._cleanup(),!r.pendingRemovals&&r.pendingRemovalCb&&(r.pendingRemovalCb(),r.pendingRemovalCb=null)})}else e&&e()},transition:function(t,e){var n=this,r=this.childVM;switch(r&&(r._inactive=!0),t._inactive=!1,this.childVM=t,n.params.transitionMode){case"in-out":t.$before(n.anchor,function(){n.remove(r,e)});break;case"out-in":n.remove(r,function(){t.$before(n.anchor,e)});break;default:n.remove(r),t.$before(n.anchor,e)}},unbind:function(){if(this.invalidatePending(),this.unbuild(),this.cache){for(var t in this.cache)this.cache[t].$destroy();this.cache=null}}},wo=jr._propBindingModes,xo={},Oo=/^[$_a-zA-Z]+[\w$]*$/,jo=jr._propBindingModes,Co={bind:function(){var t=this.vm,e=t._context,n=this.descriptor.prop,r=n.path,i=n.parentPath,o=n.mode===jo.TWO_WAY,a=this.parentWatcher=new qt(e,i,function(e){Ae(t,n,e)},{twoWay:o,filters:n.filters,scope:this._scope});if(Ce(t,n,a.value),o){var u=this;t.$once("pre-hook:created",function(){u.childWatcher=new qt(t,r,function(t){a.set(t)},{sync:!0})})}},unbind:function(){this.parentWatcher.teardown(),this.childWatcher&&this.childWatcher.teardown()}},Ao=[],Eo=!1,ko="transition",So="animation",To=Bn+"Duration",$o=Gn+"Duration",Po=Dn&&window.requestAnimationFrame,Io=Po?function(t){Po(function(){Po(t)})}:function(t){setTimeout(t,50)},Ro=Ie.prototype;Ro.enter=function(t,e){this.cancelPending(),this.callHook("beforeEnter"),this.cb=e,X(this.el,this.enterClass),t(),this.entered=!1,this.callHookWithCb("enter"),this.entered||(this.cancel=this.hooks&&this.hooks.enterCancelled,$e(this.enterNextTick))},Ro.enterNextTick=function(){var t=this;this.justEntered=!0,Io(function(){t.justEntered=!1});var e=this.enterDone,n=this.getCssTransitionType(this.enterClass);this.pendingJsCb?n===ko&&tt(this.el,this.enterClass):n===ko?(tt(this.el,this.enterClass),this.setupCssCb(qn,e)):n===So?this.setupCssCb(Jn,e):e()},Ro.enterDone=function(){this.entered=!0,this.cancel=this.pendingJsCb=null,tt(this.el,this.enterClass),this.callHook("afterEnter"),this.cb&&this.cb()},Ro.leave=function(t,e){this.cancelPending(),this.callHook("beforeLeave"),this.op=t,this.cb=e,X(this.el,this.leaveClass),this.left=!1,this.callHookWithCb("leave"),this.left||(this.cancel=this.hooks&&this.hooks.leaveCancelled,this.op&&!this.pendingJsCb&&(this.justEntered?this.leaveDone():$e(this.leaveNextTick)))},Ro.leaveNextTick=function(){var t=this.getCssTransitionType(this.leaveClass);if(t){var e=t===ko?qn:Jn;this.setupCssCb(e,this.leaveDone)}else this.leaveDone()},Ro.leaveDone=function(){this.left=!0,this.cancel=this.pendingJsCb=null,this.op(),tt(this.el,this.leaveClass),this.callHook("afterLeave"),this.cb&&this.cb(),this.op=null},Ro.cancelPending=function(){this.op=this.cb=null;var t=!1;this.pendingCssCb&&(t=!0,Z(this.el,this.pendingCssEvent,this.pendingCssCb),this.pendingCssEvent=this.pendingCssCb=null),this.pendingJsCb&&(t=!0,this.pendingJsCb.cancel(),this.pendingJsCb=null),t&&(tt(this.el,this.enterClass),tt(this.el,this.leaveClass)),this.cancel&&(this.cancel.call(this.vm,this.el),this.cancel=null)},Ro.callHook=function(t){this.hooks&&this.hooks[t]&&this.hooks[t].call(this.vm,this.el)},Ro.callHookWithCb=function(t){var e=this.hooks&&this.hooks[t];e&&(e.length>1&&(this.pendingJsCb=O(this[t+"Done"])),e.call(this.vm,this.el,this.pendingJsCb))},Ro.getCssTransitionType=function(t){if(!(!qn||document.hidden||this.hooks&&this.hooks.css===!1||Re(this.el))){var e=this.type||this.typeCache[t];if(e)return e;var n=this.el.style,r=window.getComputedStyle(this.el),i=n[To]||r[To];if(i&&"0s"!==i)e=ko;else{var o=n[$o]||r[$o];o&&"0s"!==o&&(e=So)}return e&&(this.typeCache[t]=e),e}},Ro.setupCssCb=function(t,e){this.pendingCssEvent=t;var n=this,r=this.el,i=this.pendingCssCb=function(o){o.target===r&&(Z(r,t,i),n.pendingCssEvent=n.pendingCssCb=null,!n.pendingJsCb&&e&&e())};Q(r,t,i)};var No={priority:Mi,update:function(t,e){var n=this.el,r=_t(this.vm.$options,"transitions",t);t=t||"v",n.__v_trans=new Ie(n,t,r,this.vm),e&&tt(n,e+"-transition"),X(n,t+"-transition")}},Mo={style:ao,"class":_o,component:mo,prop:Co,transition:No},Fo=/^v-bind:|^:/,Do=/^v-on:|^@/,zo=/^v-([^:]+)(?:$|:(.*)$)/,Lo=/\.[^\.]+/g,Vo=/^(v-bind:|:)?transition$/,Uo=1e3,Ho=2e3;Xe.terminal=!0;var Wo=/[^\w\-:\.]/,Bo=Object.freeze({compile:Ne,compileAndLinkProps:Le,compileRoot:Ve,transclude:un,resolveSlots:ln}),qo=/^v-on:|^@/;yn.prototype._bind=function(){var t=this.name,e=this.descriptor;if(("cloak"!==t||this.vm._isCompiled)&&this.el&&this.el.removeAttribute){var n=e.attr||"v-"+t;this.el.removeAttribute(n)}var r=e.def;if("function"==typeof r?this.update=r:g(this,r),this._setupParams(),this.bind&&this.bind(),this._bound=!0,this.literal)this.update&&this.update(e.raw);else if((this.expression||this.modifiers)&&(this.update||this.twoWay)&&!this._checkStatement()){var i=this;this.update?this._update=function(t,e){i._locked||i.update(t,e)}:this._update=dn;var o=this._preProcess?d(this._preProcess,this):null,a=this._postProcess?d(this._postProcess,this):null,u=this._watcher=new qt(this.vm,this.expression,this._update,{filters:this.filters,twoWay:this.twoWay,deep:this.deep,preProcess:o,postProcess:a,scope:this._scope});this.afterBind?this.afterBind():this.update&&this.update(u.value)}},yn.prototype._setupParams=function(){if(this.params){var t=this.params;this.params=Object.create(null);for(var e,n,r,i=t.length;i--;)e=p(t[i]),r=l(e),n=U(this.el,e),null!=n?this._setupParamWatcher(r,n):(n=V(this.el,e),null!=n&&(this.params[r]=""===n?!0:n))}},yn.prototype._setupParamWatcher=function(t,e){var n=this,r=!1,i=(this._scope||this.vm).$watch(e,function(e,i){if(n.params[t]=e,r){var o=n.paramWatchers&&n.paramWatchers[t];o&&o.call(n,e,i)}else r=!0},{immediate:!0,user:!1});(this._paramUnwatchFns||(this._paramUnwatchFns=[])).push(i)},yn.prototype._checkStatement=function(){var t=this.expression;if(t&&this.acceptStatement&&!Vt(t)){var e=Lt(t).get,n=this._scope||this.vm,r=function(t){n.$event=t,e.call(n,n),n.$event=null};return this.filters&&(r=n._applyFilters(r,null,this.filters)),this.update(r),!0}},yn.prototype.set=function(t){this.twoWay&&this._withLock(function(){this._watcher.set(t)})},yn.prototype._withLock=function(t){var e=this;e._locked=!0,t.call(e),Yn(function(){e._locked=!1})},yn.prototype.on=function(t,e,n){Q(this.el,t,e,n),(this._listeners||(this._listeners=[])).push([t,e])},yn.prototype._teardown=function(){if(this._bound){this._bound=!1,this.unbind&&this.unbind(),this._watcher&&this._watcher.teardown();var t,e=this._listeners;if(e)for(t=e.length;t--;)Z(this.el,e[t][0],e[t][1]);var n=this._paramUnwatchFns;if(n)for(t=n.length;t--;)n[t]();this.vm=this.el=this._watcher=this._listeners=null}};var Go=/[^|]\|[^|]/;Et(On),pn(On),vn(On),gn(On),bn(On),_n(On),mn(On),wn(On),xn(On);var Jo={priority:Ui,params:["name"],bind:function(){var t=this.params.name||"default",e=this.vm._slotContents&&this.vm._slotContents[t];e&&e.hasChildNodes()?this.compile(e.cloneNode(!0),this.vm._context,this.vm):this.fallback()},compile:function(t,e,n){if(t&&e){if(this.el.hasChildNodes()&&1===t.childNodes.length&&1===t.childNodes[0].nodeType&&t.childNodes[0].hasAttribute("v-if")){var r=document.createElement("template");r.setAttribute("v-else",""),r.innerHTML=this.el.innerHTML,r._context=this.vm,t.appendChild(r)}var i=n?n._scope:this._scope;this.unlink=e.$compile(t,n,i,this._frag)}t?J(this.el,t):q(this.el)},fallback:function(){this.compile(et(this.el,!0),this.vm)},unbind:function(){this.unlink&&this.unlink()}},Qo={priority:zi,params:["name"],paramWatchers:{name:function(t){Bi.remove.call(this),t&&this.insert(t)}},bind:function(){this.anchor=ot("v-partial"),J(this.el,this.anchor),this.insert(this.params.name)},insert:function(t){var e=_t(this.vm.$options,"partials",t,!0);e&&(this.factory=new ae(this.vm,e),Bi.insert.call(this))},unbind:function(){this.frag&&this.frag.destroy()}},Zo={slot:Jo,partial:Qo},Yo=Wi._postProcess,Ko=/(\d{3})(?=\d)/g,Xo={orderBy:An,filterBy:Cn,limitBy:jn,json:{read:function(t,e){return"string"==typeof t?t:JSON.stringify(t,null,Number(e)||2)},write:function(t){try{return JSON.parse(t)}catch(e){return t}}},capitalize:function(t){return t||0===t?(t=t.toString(),t.charAt(0).toUpperCase()+t.slice(1)):""},uppercase:function(t){return t||0===t?t.toString().toUpperCase():""},lowercase:function(t){return t||0===t?t.toString().toLowerCase():""},currency:function(t,e,n){if(t=parseFloat(t),!isFinite(t)||!t&&0!==t)return"";e=null!=e?e:"$",n=null!=n?n:2;var r=Math.abs(t).toFixed(n),i=n?r.slice(0,-1-n):r,o=i.length%3,a=o>0?i.slice(0,o)+(i.length>3?",":""):"",u=n?r.slice(-1-n):"",s=0>t?"-":"";return s+e+a+i.slice(o).replace(Ko,"$1,")+u},pluralize:function(t){var e=y(arguments,1);return e.length>1?e[t%10-1]||e[e.length-1]:e[0]+(1===t?"":"s")},debounce:function(t,e){return t?(e||(e=300),w(t,e)):void 0}};kn(On),On.version="1.0.24",setTimeout(function(){jr.devtools&&zn&&zn.emit("init",On)},0),t.exports=On}).call(e,function(){return this}())},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},,,,,function(t,e,n){t.exports={"default":n(124),__esModule:!0}},function(t,e){"use strict";e.__esModule=!0,e["default"]=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var i=n(48),o=r(i);e["default"]=function(){function t(t,e){for(var n=0;n0?r:n)(t)}},function(t,e,n){var r=n(52),i=n(51);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(51);t.exports=function(t){return Object(r(t))}},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new i;++eh))return!1;var v=f.get(t);if(v&&f.get(e))return v==e;var d=-1,y=!0,g=n&s?new i:void 0;for(f.set(t,e),f.set(e,t);++de;++e)t.push("%"+((16>e?"0":"")+e.toString(16)).toUpperCase());return t}();e.arrayToObject=function(t,e){for(var n=e&&e.plainObjects?Object.create(null):{},r=0;r=48&&57>=o||o>=65&&90>=o||o>=97&&122>=o?n+=e.charAt(i):128>o?n+=r[o]:2048>o?n+=r[192|o>>6]+r[128|63&o]:55296>o||o>=57344?n+=r[224|o>>12]+r[128|o>>6&63]+r[128|63&o]:(i+=1,o=65536+((1023&o)<<10|1023&e.charCodeAt(i)),n+=r[240|o>>18]+r[128|o>>12&63]+r[128|o>>6&63]+r[128|63&o])}return n},e.compact=function(t,n){if("object"!=typeof t||null===t)return t;var r=n||[],i=r.indexOf(t);if(-1!==i)return r[i];if(r.push(t),Array.isArray(t)){for(var o=[],a=0;a1)for(var n=1;nf;)if(u=s[f++],u!=u)return!0}else for(;c>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(126);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(25),i=n(24).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(53),i=n(141);t.exports=n(12)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){t.exports=!n(12)&&!n(13)(function(){return 7!=Object.defineProperty(n(131)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){"use strict";var r=n(54),i=n(137),o=n(139),a=n(57),u=n(52),s=Object.assign;t.exports=!s||n(13)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=s({},t)[n]||Object.keys(s({},e)).join("")!=r})?function(t,e){for(var n=a(t),s=arguments.length,c=1,f=i.f,l=o.f;s>c;)for(var h,p=u(arguments[c++]),v=f?r(p).concat(f(p)):r(p),d=v.length,y=0;d>y;)l.call(p,h=v[y++])&&(n[h]=p[h]);return n}:s},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(133),i=n(56),o=n(128)(!1),a=n(142)("IE_PROTO");t.exports=function(t,e){var n,u=i(t),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);for(;e.length>s;)r(u,n=e[s++])&&(~o(c,n)||c.push(n));return c}},function(t,e){e.f={}.propertyIsEnumerable},,function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(143)("keys"),i=n(147);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(24),i="__core-js_shared__",o=r[i]||(r[i]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e,n){var r=n(55),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),0>t?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(55),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(25);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(23);r(r.S+r.F,"Object",{assign:n(136)})},function(t,e,n){var r=n(23);r(r.S+r.F*!n(12),"Object",{defineProperty:n(53).f})},,function(t,e,n){var r,i;(function(o,a){/*! + * https://github.com/paulmillr/es6-shim + * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) + * and contributors, MIT License + * es6-shim: v0.35.1 + * see https://github.com/paulmillr/es6-shim/blob/0.35.1/LICENSE + * Details and documentation: + * https://github.com/paulmillr/es6-shim/ + */ +!function(o,a){r=a,i="function"==typeof r?r.call(e,n,e,t):r,!(void 0!==i&&(t.exports=i))}(this,function(){"use strict";var t,e=Function.call.bind(Function.apply),n=Function.call.bind(Function.call),r=Array.isArray,i=Object.keys,u=function(t){return function(){return!e(t,this,arguments)}},s=function(t){try{return t(),!1}catch(e){return!0}},c=function(t){try{return t()}catch(e){return!1}},f=u(s),l=function(){return!s(function(){Object.defineProperty({},"x",{get:function(){}})})},h=!!Object.defineProperty&&l(),p="foo"===function(){}.name,v=Function.call.bind(Array.prototype.forEach),d=Function.call.bind(Array.prototype.reduce),y=Function.call.bind(Array.prototype.filter),g=Function.call.bind(Array.prototype.some),b=function(t,e,n,r){!r&&e in t||(h?Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:!0,value:n}):t[e]=n)},_=function(t,e,n){v(i(e),function(r){var i=e[r];b(t,r,i,!!n)})},m=Function.call.bind(Object.prototype.toString),w=function(t){return"function"==typeof t},x={getter:function(t,e,n){if(!h)throw new TypeError("getters require true ES5 support");Object.defineProperty(t,e,{configurable:!0,enumerable:!1,get:n})},proxy:function(t,e,n){if(!h)throw new TypeError("getters require true ES5 support");var r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,{configurable:r.configurable,enumerable:r.enumerable,get:function(){return t[e]},set:function(n){t[e]=n}})},redefine:function(t,e,n){if(h){var r=Object.getOwnPropertyDescriptor(t,e);r.value=n,Object.defineProperty(t,e,r)}else t[e]=n},defineByDescriptor:function(t,e,n){h?Object.defineProperty(t,e,n):"value"in n&&(t[e]=n.value)},preserveToString:function(t,e){e&&w(e.toString)&&b(t,"toString",e.toString.bind(e),!0)}},O=Object.create||function(t,e){var n=function(){};n.prototype=t;var r=new n;return"undefined"!=typeof e&&i(e).forEach(function(t){x.defineByDescriptor(r,t,e[t])}),r},j=function(t,e){return Object.setPrototypeOf?c(function(){var n=function r(e){var n=new t(e);return Object.setPrototypeOf(n,r.prototype),n};return Object.setPrototypeOf(n,t),n.prototype=O(t.prototype,{constructor:{value:n}}),e(n)}):!1},C=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof o)return o;throw new Error("unable to locate global object")},A=C(),E=A.isFinite,k=Function.call.bind(String.prototype.indexOf),S=Function.apply.bind(Array.prototype.indexOf),T=Function.call.bind(Array.prototype.concat),$=Function.call.bind(String.prototype.slice),P=Function.call.bind(Array.prototype.push),I=Function.apply.bind(Array.prototype.push),R=Function.call.bind(Array.prototype.shift),N=Math.max,M=Math.min,F=Math.floor,D=Math.abs,z=Math.exp,L=Math.log,V=Math.sqrt,U=Function.call.bind(Object.prototype.hasOwnProperty),H=function(){},W=A.Map,B=W&&W.prototype["delete"],q=W&&W.prototype.get,G=W&&W.prototype.has,J=W&&W.prototype.set,Q=A.Symbol||{},Z=Q.species||"@@species",Y=Number.isNaN||function(t){return t!==t},K=Number.isFinite||function(t){return"number"==typeof t&&E(t)},X=w(Math.sign)?Math.sign:function(t){var e=Number(t);return 0===e?e:Y(e)?e:0>e?-1:1},tt=function(t){return"[object Arguments]"===m(t)},et=function(t){return null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==m(t)&&"[object Function]"===m(t.callee)},nt=tt(arguments)?tt:et,rt={primitive:function(t){return null===t||"function"!=typeof t&&"object"!=typeof t},string:function(t){return"[object String]"===m(t)},regex:function(t){return"[object RegExp]"===m(t)},symbol:function(t){return"function"==typeof A.Symbol&&"symbol"==typeof t}},it=function(t,e,n){var r=t[e];b(t,e,n,!0),x.preserveToString(t[e],r)},ot="function"==typeof Q&&"function"==typeof Q["for"]&&rt.symbol(Q()),at=rt.symbol(Q.iterator)?Q.iterator:"_es6-shim iterator_";A.Set&&"function"==typeof(new A.Set)["@@iterator"]&&(at="@@iterator"),A.Reflect||b(A,"Reflect",{},!0);var ut=A.Reflect,st=String,ct="undefined"!=typeof document&&document?document.all:null,ft=null==ct?function(t){return null==t}:function(t){return null==t&&t!==ct},lt={Call:function(t,n){var r=arguments.length>2?arguments[2]:[];if(!lt.IsCallable(t))throw new TypeError(t+" is not a function");return e(t,n,r)},RequireObjectCoercible:function(t,e){if(ft(t))throw new TypeError(e||"Cannot call method on "+t);return t},TypeIsObject:function(t){return void 0===t||null===t||t===!0||t===!1?!1:"function"==typeof t||"object"==typeof t||t===ct},ToObject:function(t,e){return Object(lt.RequireObjectCoercible(t,e))},IsCallable:w,IsConstructor:function(t){return lt.IsCallable(t)},ToInt32:function(t){return lt.ToNumber(t)>>0},ToUint32:function(t){return lt.ToNumber(t)>>>0},ToNumber:function(t){if("[object Symbol]"===m(t))throw new TypeError("Cannot convert a Symbol value to a number");return+t},ToInteger:function(t){var e=lt.ToNumber(t);return Y(e)?0:0!==e&&K(e)?(e>0?1:-1)*F(D(e)):e},ToLength:function(t){var e=lt.ToInteger(t);return 0>=e?0:e>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:e},SameValue:function(t,e){return t===e?0===t?1/t===1/e:!0:Y(t)&&Y(e)},SameValueZero:function(t,e){return t===e||Y(t)&&Y(e)},IsIterable:function(t){return lt.TypeIsObject(t)&&("undefined"!=typeof t[at]||nt(t))},GetIterator:function(e){if(nt(e))return new t(e,"value");var n=lt.GetMethod(e,at);if(!lt.IsCallable(n))throw new TypeError("value is not an iterable");var r=lt.Call(n,e);if(!lt.TypeIsObject(r))throw new TypeError("bad iterator");return r},GetMethod:function(t,e){var n=lt.ToObject(t)[e];if(!ft(n)){if(!lt.IsCallable(n))throw new TypeError("Method not callable: "+e);return n}},IteratorComplete:function(t){return!!t.done},IteratorClose:function(t,e){var n=lt.GetMethod(t,"return");if(void 0!==n){var r,i;try{r=lt.Call(n,t)}catch(o){i=o}if(!e){if(i)throw i;if(!lt.TypeIsObject(r))throw new TypeError("Iterator's return method returned a non-object.")}}},IteratorNext:function(t){var e=arguments.length>1?t.next(arguments[1]):t.next();if(!lt.TypeIsObject(e))throw new TypeError("bad iterator");return e},IteratorStep:function(t){var e=lt.IteratorNext(t),n=lt.IteratorComplete(e);return n?!1:e},Construct:function(t,e,n,r){var i="undefined"==typeof n?t:n;if(!r&&ut.construct)return ut.construct(t,e,i);var o=i.prototype;lt.TypeIsObject(o)||(o=Object.prototype);var a=O(o),u=lt.Call(t,a,e);return lt.TypeIsObject(u)?u:a},SpeciesConstructor:function(t,e){var n=t.constructor;if(void 0===n)return e;if(!lt.TypeIsObject(n))throw new TypeError("Bad constructor");var r=n[Z];if(ft(r))return e;if(!lt.IsConstructor(r))throw new TypeError("Bad @@species");return r},CreateHTML:function(t,e,n,r){var i=lt.ToString(t),o="<"+e;if(""!==n){var a=lt.ToString(r),u=a.replace(/"/g,""");o+=" "+n+'="'+u+'"'}var s=o+">",c=s+i;return c+""},IsRegExp:function(t){if(!lt.TypeIsObject(t))return!1;var e=t[Q.match];return"undefined"!=typeof e?!!e:rt.regex(t)},ToString:function(t){return st(t)}};if(h&&ot){var ht=function(t){if(rt.symbol(Q[t]))return Q[t];var e=Q["for"]("Symbol."+t);return Object.defineProperty(Q,t,{configurable:!1,enumerable:!1,writable:!1,value:e}),e};if(!rt.symbol(Q.search)){var pt=ht("search"),vt=String.prototype.search;b(RegExp.prototype,pt,function(t){return lt.Call(vt,t,[this])});var dt=function(t){var e=lt.RequireObjectCoercible(this);if(!ft(t)){var n=lt.GetMethod(t,pt);if("undefined"!=typeof n)return lt.Call(n,t,[e])}return lt.Call(vt,e,[lt.ToString(t)])};it(String.prototype,"search",dt)}if(!rt.symbol(Q.replace)){var yt=ht("replace"),gt=String.prototype.replace;b(RegExp.prototype,yt,function(t,e){return lt.Call(gt,t,[this,e])});var bt=function(t,e){var n=lt.RequireObjectCoercible(this);if(!ft(t)){var r=lt.GetMethod(t,yt);if("undefined"!=typeof r)return lt.Call(r,t,[n,e])}return lt.Call(gt,n,[lt.ToString(t),e])};it(String.prototype,"replace",bt)}if(!rt.symbol(Q.split)){var _t=ht("split"),mt=String.prototype.split;b(RegExp.prototype,_t,function(t,e){return lt.Call(mt,t,[this,e])});var wt=function(t,e){var n=lt.RequireObjectCoercible(this);if(!ft(t)){var r=lt.GetMethod(t,_t);if("undefined"!=typeof r)return lt.Call(r,t,[n,e])}return lt.Call(mt,n,[lt.ToString(t),e])};it(String.prototype,"split",wt)}var xt=rt.symbol(Q.match),Ot=xt&&function(){var t={};return t[Q.match]=function(){return 42},42!=="a".match(t)}();if(!xt||Ot){var jt=ht("match"),Ct=String.prototype.match;b(RegExp.prototype,jt,function(t){return lt.Call(Ct,t,[this])});var At=function(t){var e=lt.RequireObjectCoercible(this);if(!ft(t)){var n=lt.GetMethod(t,jt);if("undefined"!=typeof n)return lt.Call(n,t,[e])}return lt.Call(Ct,e,[lt.ToString(t)])};it(String.prototype,"match",At)}}var Et=function(t,e,n){x.preserveToString(e,t),Object.setPrototypeOf&&Object.setPrototypeOf(t,e),h?v(Object.getOwnPropertyNames(t),function(r){r in H||n[r]||x.proxy(t,r,e)}):v(Object.keys(t),function(r){r in H||n[r]||(e[r]=t[r])}),e.prototype=t.prototype,x.redefine(t.prototype,"constructor",e)},kt=function(){return this},St=function(t){h&&!U(t,Z)&&x.getter(t,Z,kt)},Tt=function(t,e){var n=e||function(){return this};b(t,at,n),!t[at]&&rt.symbol(at)&&(t[at]=n)},$t=function(t,e,n){h?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:n}):t[e]=n},Pt=function(t,e,n){if($t(t,e,n),!lt.SameValue(t[e],n))throw new TypeError("property is nonconfigurable")},It=function(t,e,n,r){if(!lt.TypeIsObject(t))throw new TypeError("Constructor requires `new`: "+e.name);var i=e.prototype;lt.TypeIsObject(i)||(i=n);var o=O(i);for(var a in r)if(U(r,a)){var u=r[a];b(o,a,u,!0)}return o};if(String.fromCodePoint&&1!==String.fromCodePoint.length){var Rt=String.fromCodePoint;it(String,"fromCodePoint",function(t){return lt.Call(Rt,this,arguments)})}var Nt={fromCodePoint:function(t){for(var e,n=[],r=0,i=arguments.length;i>r;r++){if(e=Number(arguments[r]),!lt.SameValue(e,lt.ToInteger(e))||0>e||e>1114111)throw new RangeError("Invalid code point "+e);65536>e?P(n,String.fromCharCode(e)):(e-=65536,P(n,String.fromCharCode((e>>10)+55296)),P(n,String.fromCharCode(e%1024+56320)))}return n.join("")},raw:function(t){var e=lt.ToObject(t,"bad callSite"),n=lt.ToObject(e.raw,"bad raw value"),r=n.length,i=lt.ToLength(r);if(0>=i)return"";for(var o,a,u,s,c=[],f=0;i>f&&(o=lt.ToString(f),u=lt.ToString(n[o]),P(c,u),!(f+1>=i));)a=f+1e)return"";if(e%2)return zr(t,e-1)+t;var n=zr(t,e/2);return n+n},Ft=1/0,Dt={repeat:function(t){var e=lt.ToString(lt.RequireObjectCoercible(this)),n=lt.ToInteger(t);if(0>n||n>=Ft)throw new RangeError("repeat count must be less than infinity and not overflow maximum string size");return Mt(e,n)},startsWith:function(t){var e=lt.ToString(lt.RequireObjectCoercible(this));if(lt.IsRegExp(t))throw new TypeError('Cannot call method "startsWith" with a regex');var n,r=lt.ToString(t);arguments.length>1&&(n=arguments[1]);var i=N(lt.ToInteger(n),0);return $(e,i,i+r.length)===r},endsWith:function(t){var e=lt.ToString(lt.RequireObjectCoercible(this));if(lt.IsRegExp(t))throw new TypeError('Cannot call method "endsWith" with a regex');var n,r=lt.ToString(t),i=e.length;arguments.length>1&&(n=arguments[1]);var o="undefined"==typeof n?i:lt.ToInteger(n),a=M(N(o,0),i);return $(e,a-r.length,a)===r},includes:function(t){if(lt.IsRegExp(t))throw new TypeError('"includes" does not accept a RegExp');var e,n=lt.ToString(t);return arguments.length>1&&(e=arguments[1]),-1!==k(this,n,e)},codePointAt:function(t){var e=lt.ToString(lt.RequireObjectCoercible(this)),n=lt.ToInteger(t),r=e.length;if(n>=0&&r>n){var i=e.charCodeAt(n),o=n+1===r;if(55296>i||i>56319||o)return i;var a=e.charCodeAt(n+1);return 56320>a||a>57343?i:1024*(i-55296)+(a-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",1/0)!==!1&&it(String.prototype,"includes",Dt.includes),String.prototype.startsWith&&String.prototype.endsWith){var zt=s(function(){"/a/".startsWith(/a/)}),Lt=c(function(){return"abc".startsWith("a",1/0)===!1});zt&&Lt||(it(String.prototype,"startsWith",Dt.startsWith),it(String.prototype,"endsWith",Dt.endsWith))}if(ot){var Vt=c(function(){var t=/a/;return t[Q.match]=!1,"/a/".startsWith(t)});Vt||it(String.prototype,"startsWith",Dt.startsWith);var Ut=c(function(){var t=/a/;return t[Q.match]=!1,"/a/".endsWith(t)});Ut||it(String.prototype,"endsWith",Dt.endsWith);var Ht=c(function(){var t=/a/;return t[Q.match]=!1,"/a/".includes(t)});Ht||it(String.prototype,"includes",Dt.includes)}_(String.prototype,Dt);var Wt=[" \n\x0B\f\r   ᠎    ","          \u2028","\u2029\ufeff"].join(""),Bt=new RegExp("(^["+Wt+"]+)|(["+Wt+"]+$)","g"),qt=function(){return lt.ToString(lt.RequireObjectCoercible(this)).replace(Bt,"")},Gt=["…","​","￾"].join(""),Jt=new RegExp("["+Gt+"]","g"),Qt=/^[-+]0x[0-9a-f]+$/i,Zt=Gt.trim().length!==Gt.length;b(String.prototype,"trim",qt,Zt);var Yt=function(t){return{value:t,done:0===arguments.length}},Kt=function(t){lt.RequireObjectCoercible(t),this._s=lt.ToString(t),this._i=0};Kt.prototype.next=function(){var t=this._s,e=this._i;if("undefined"==typeof t||e>=t.length)return this._s=void 0,Yt();var n,r,i=t.charCodeAt(e);return 55296>i||i>56319||e+1===t.length?r=1:(n=t.charCodeAt(e+1),r=56320>n||n>57343?1:2),this._i=e+r,Yt(t.substr(e,r))},Tt(Kt.prototype),Tt(String.prototype,function(){return new Kt(this)});var Xt={from:function(t){var e,r=this;arguments.length>1&&(e=arguments[1]);var i,o;if("undefined"==typeof e)i=!1;else{if(!lt.IsCallable(e))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(o=arguments[2]),i=!0}var a,u,s,c="undefined"!=typeof(nt(t)||lt.GetMethod(t,at));if(c){u=lt.IsConstructor(r)?Object(new r):[];var f,l,h=lt.GetIterator(t);for(s=0;;){if(f=lt.IteratorStep(h),f===!1)break;l=f.value;try{i&&(l="undefined"==typeof o?e(l,s):n(e,o,l,s)),u[s]=l}catch(p){throw lt.IteratorClose(h,!0),p}s+=1}a=s}else{var v=lt.ToObject(t);a=lt.ToLength(v.length),u=lt.IsConstructor(r)?Object(new r(a)):new Array(a);var d;for(s=0;a>s;++s)d=v[s],i&&(d="undefined"==typeof o?e(d,s):n(e,o,d,s)),Pt(u,s,d)}return u.length=a,u},of:function(){for(var t=arguments.length,e=this,n=r(e)||!lt.IsCallable(e)?new Array(t):lt.Construct(e,[t]),i=0;t>i;++i)Pt(n,i,arguments[i]);return n.length=t,n}};_(Array,Xt),St(Array),t=function(t,e){this.i=0,this.array=t,this.kind=e},_(t.prototype,{next:function(){var e=this.i,n=this.array;if(!(this instanceof t))throw new TypeError("Not an ArrayIterator");if("undefined"!=typeof n)for(var r=lt.ToLength(n.length);r>e;e++){var i,o=this.kind;return"key"===o?i=e:"value"===o?i=n[e]:"entry"===o&&(i=[e,n[e]]),this.i=e+1,Yt(i)}return this.array=void 0,Yt()}}),Tt(t.prototype);var te=Array.of===Xt.of||function(){var t=function(t){this.length=t};t.prototype=[];var e=Array.of.apply(t,[1,2]);return e instanceof t&&2===e.length}();te||it(Array,"of",Xt.of);var ee={copyWithin:function(t,e){var n,r=lt.ToObject(this),i=lt.ToLength(r.length),o=lt.ToInteger(t),a=lt.ToInteger(e),u=0>o?N(i+o,0):M(o,i),s=0>a?N(i+a,0):M(a,i);arguments.length>2&&(n=arguments[2]);var c="undefined"==typeof n?i:lt.ToInteger(n),f=0>c?N(i+c,0):M(c,i),l=M(f-s,i-u),h=1;for(u>s&&s+l>u&&(h=-1,s+=l-1,u+=l-1);l>0;)s in r?r[u]=r[s]:delete r[u],s+=h,u+=h,l-=1;return r},fill:function(t){var e;arguments.length>1&&(e=arguments[1]);var n;arguments.length>2&&(n=arguments[2]);var r=lt.ToObject(this),i=lt.ToLength(r.length);e=lt.ToInteger("undefined"==typeof e?0:e),n=lt.ToInteger("undefined"==typeof n?i:n);for(var o=0>e?N(i+e,0):M(e,i),a=0>n?i+n:n,u=o;i>u&&a>u;++u)r[u]=t;return r},find:function(t){var e=lt.ToObject(this),r=lt.ToLength(e.length);if(!lt.IsCallable(t))throw new TypeError("Array#find: predicate must be a function");for(var i,o=arguments.length>1?arguments[1]:null,a=0;r>a;a++)if(i=e[a],o){if(n(t,o,i,a,e))return i}else if(t(i,a,e))return i},findIndex:function(t){var e=lt.ToObject(this),r=lt.ToLength(e.length);if(!lt.IsCallable(t))throw new TypeError("Array#findIndex: predicate must be a function");for(var i=arguments.length>1?arguments[1]:null,o=0;r>o;o++)if(i){if(n(t,i,e[o],o,e))return o}else if(t(e[o],o,e))return o;return-1},keys:function(){return new t(this,"key")},values:function(){return new t(this,"value")},entries:function(){return new t(this,"entry")}};if(Array.prototype.keys&&!lt.IsCallable([1].keys().next)&&delete Array.prototype.keys,Array.prototype.entries&&!lt.IsCallable([1].entries().next)&&delete Array.prototype.entries,Array.prototype.keys&&Array.prototype.entries&&!Array.prototype.values&&Array.prototype[at]&&(_(Array.prototype,{values:Array.prototype[at]}),rt.symbol(Q.unscopables)&&(Array.prototype[Q.unscopables].values=!0)),p&&Array.prototype.values&&"values"!==Array.prototype.values.name){var ne=Array.prototype.values;it(Array.prototype,"values",function(){return lt.Call(ne,this,arguments)}),b(Array.prototype,at,Array.prototype.values,!0)}_(Array.prototype,ee),1/[!0].indexOf(!0,-0)<0&&b(Array.prototype,"indexOf",function(t){var e=S(this,arguments);return 0===e&&0>1/e?0:e},!0),Tt(Array.prototype,function(){return this.values()}),Object.getPrototypeOf&&Tt(Object.getPrototypeOf([].values()));var re=function(){return c(function(){return 0===Array.from({length:-1}).length})}(),ie=function(){var t=Array.from([0].entries());return 1===t.length&&r(t[0])&&0===t[0][0]&&0===t[0][1]}();re&&ie||it(Array,"from",Xt.from);var oe=function(){return c(function(){return Array.from([0],void 0)})}();if(!oe){var ae=Array.from;it(Array,"from",function(t){return arguments.length>1&&"undefined"!=typeof arguments[1]?lt.Call(ae,this,arguments):n(ae,this,t)})}var ue=-(Math.pow(2,32)-1),se=function(t,e){var r={length:ue};return r[e?(r.length>>>0)-1:0]=!0,c(function(){return n(t,r,function(){throw new RangeError("should not reach here")},[]),!0})};if(!se(Array.prototype.forEach)){var ce=Array.prototype.forEach;it(Array.prototype,"forEach",function(t){return lt.Call(ce,this.length>=0?this:[],arguments)},!0)}if(!se(Array.prototype.map)){var fe=Array.prototype.map;it(Array.prototype,"map",function(t){return lt.Call(fe,this.length>=0?this:[],arguments)},!0)}if(!se(Array.prototype.filter)){var le=Array.prototype.filter;it(Array.prototype,"filter",function(t){return lt.Call(le,this.length>=0?this:[],arguments)},!0)}if(!se(Array.prototype.some)){var he=Array.prototype.some;it(Array.prototype,"some",function(t){return lt.Call(he,this.length>=0?this:[],arguments)},!0)}if(!se(Array.prototype.every)){var pe=Array.prototype.every;it(Array.prototype,"every",function(t){return lt.Call(pe,this.length>=0?this:[],arguments)},!0)}if(!se(Array.prototype.reduce)){var ve=Array.prototype.reduce;it(Array.prototype,"reduce",function(t){return lt.Call(ve,this.length>=0?this:[],arguments)},!0)}if(!se(Array.prototype.reduceRight,!0)){var de=Array.prototype.reduceRight;it(Array.prototype,"reduceRight",function(t){return lt.Call(de,this.length>=0?this:[],arguments)},!0)}var ye=8!==Number("0o10"),ge=2!==Number("0b10"),be=g(Gt,function(t){return 0===Number(t+0+t)});if(ye||ge||be){var _e=Number,me=/^0b[01]+$/i,we=/^0o[0-7]+$/i,xe=me.test.bind(me),Oe=we.test.bind(we),je=function(t){var e;if("function"==typeof t.valueOf&&(e=t.valueOf(),rt.primitive(e)))return e;if("function"==typeof t.toString&&(e=t.toString(),rt.primitive(e)))return e;throw new TypeError("No default value")},Ce=Jt.test.bind(Jt),Ae=Qt.test.bind(Qt),Ee=function(){var t=function(e){var n;n=arguments.length>0?rt.primitive(e)?e:je(e,"number"):0,"string"==typeof n&&(n=lt.Call(qt,n),xe(n)?n=parseInt($(n,2),2):Oe(n)?n=parseInt($(n,2),8):(Ce(n)||Ae(n))&&(n=NaN));var r=this,i=c(function(){return _e.prototype.valueOf.call(r),!0});return r instanceof t&&!i?new _e(n):_e(n)};return t}();Et(_e,Ee,{}),_(Ee,{NaN:_e.NaN,MAX_VALUE:_e.MAX_VALUE,MIN_VALUE:_e.MIN_VALUE,NEGATIVE_INFINITY:_e.NEGATIVE_INFINITY,POSITIVE_INFINITY:_e.POSITIVE_INFINITY}),Number=Ee,x.redefine(A,"Number",Ee)}var ke=Math.pow(2,53)-1;_(Number,{MAX_SAFE_INTEGER:ke,MIN_SAFE_INTEGER:-ke,EPSILON:2.220446049250313e-16,parseInt:A.parseInt,parseFloat:A.parseFloat,isFinite:K,isInteger:function(t){return K(t)&<.ToInteger(t)===t},isSafeInteger:function(t){return Number.isInteger(t)&&D(t)<=Number.MAX_SAFE_INTEGER},isNaN:Y}),b(Number,"parseInt",A.parseInt,Number.parseInt!==A.parseInt),[,1].find(function(t,e){return 0===e})||it(Array.prototype,"find",ee.find),0!==[,1].findIndex(function(t,e){return 0===e})&&it(Array.prototype,"findIndex",ee.findIndex);var Se=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable),Te=function(t,e){h&&Se(t,e)&&Object.defineProperty(t,e,{enumerable:!1})},$e=function(){for(var t=Number(this),e=arguments.length,n=e-t,r=new Array(0>n?0:n),i=t;e>i;++i)r[i-t]=arguments[i];return r},Pe=function(t){return function(e,n){return e[n]=t[n],e}},Ie=function(t,e){var n,r=i(Object(e));return lt.IsCallable(Object.getOwnPropertySymbols)&&(n=y(Object.getOwnPropertySymbols(Object(e)),Se(e))),d(T(r,n||[]),Pe(e),t)},Re={assign:function(t,e){var n=lt.ToObject(t,"Cannot convert undefined or null to object");return d(lt.Call($e,1,arguments),Ie,n)},is:function(t,e){return lt.SameValue(t,e)}},Ne=Object.assign&&Object.preventExtensions&&function(){var t=Object.preventExtensions({1:2});try{Object.assign(t,"xy")}catch(e){return"y"===t[1]}}();if(Ne&&it(Object,"assign",Re.assign),_(Object,Re),h){var Me={setPrototypeOf:function(t,e){var r,i=function(t,e){if(!lt.TypeIsObject(t))throw new TypeError("cannot set prototype on a non-object");if(null!==e&&!lt.TypeIsObject(e))throw new TypeError("can only set prototype to an object or null"+e)},o=function(t,e){return i(t,e),n(r,t,e),t};try{r=t.getOwnPropertyDescriptor(t.prototype,e).set,n(r,{},null)}catch(a){if(t.prototype!=={}[e])return;r=function(t){this[e]=t},o.polyfill=o(o({},null),t.prototype)instanceof t}return o}(Object,"__proto__")};_(Object,Me)}Object.setPrototypeOf&&Object.getPrototypeOf&&null!==Object.getPrototypeOf(Object.setPrototypeOf({},null))&&null===Object.getPrototypeOf(Object.create(null))&&!function(){var t=Object.create(null),e=Object.getPrototypeOf,n=Object.setPrototypeOf;Object.getPrototypeOf=function(n){var r=e(n);return r===t?null:r},Object.setPrototypeOf=function(e,r){var i=null===r?t:r;return n(e,i)},Object.setPrototypeOf.polyfill=!1}();var Fe=!s(function(){Object.keys("foo")});if(!Fe){var De=Object.keys;it(Object,"keys",function(t){return De(lt.ToObject(t))}),i=Object.keys}var ze=s(function(){Object.keys(/a/g)});if(ze){var Le=Object.keys;it(Object,"keys",function(t){if(rt.regex(t)){var e=[];for(var n in t)U(t,n)&&P(e,n);return e}return Le(t)}),i=Object.keys}if(Object.getOwnPropertyNames){var Ve=!s(function(){Object.getOwnPropertyNames("foo")});if(!Ve){var Ue="object"==typeof window?Object.getOwnPropertyNames(window):[],He=Object.getOwnPropertyNames;it(Object,"getOwnPropertyNames",function(t){var e=lt.ToObject(t);if("[object Window]"===m(e))try{return He(e)}catch(n){return T([],Ue)}return He(e)})}}if(Object.getOwnPropertyDescriptor){var We=!s(function(){Object.getOwnPropertyDescriptor("foo","bar")});if(!We){var Be=Object.getOwnPropertyDescriptor;it(Object,"getOwnPropertyDescriptor",function(t,e){return Be(lt.ToObject(t),e)})}}if(Object.seal){var qe=!s(function(){Object.seal("foo")});if(!qe){var Ge=Object.seal;it(Object,"seal",function(t){return lt.TypeIsObject(t)?Ge(t):t})}}if(Object.isSealed){var Je=!s(function(){Object.isSealed("foo")});if(!Je){var Qe=Object.isSealed;it(Object,"isSealed",function(t){return lt.TypeIsObject(t)?Qe(t):!0})}}if(Object.freeze){var Ze=!s(function(){Object.freeze("foo")});if(!Ze){var Ye=Object.freeze;it(Object,"freeze",function(t){return lt.TypeIsObject(t)?Ye(t):t})}}if(Object.isFrozen){var Ke=!s(function(){Object.isFrozen("foo")});if(!Ke){var Xe=Object.isFrozen;it(Object,"isFrozen",function(t){return lt.TypeIsObject(t)?Xe(t):!0})}}if(Object.preventExtensions){var tn=!s(function(){Object.preventExtensions("foo")});if(!tn){var en=Object.preventExtensions;it(Object,"preventExtensions",function(t){return lt.TypeIsObject(t)?en(t):t})}}if(Object.isExtensible){var nn=!s(function(){Object.isExtensible("foo")});if(!nn){var rn=Object.isExtensible;it(Object,"isExtensible",function(t){return lt.TypeIsObject(t)?rn(t):!1})}}if(Object.getPrototypeOf){var on=!s(function(){Object.getPrototypeOf("foo")});if(!on){var an=Object.getPrototypeOf;it(Object,"getPrototypeOf",function(t){return an(lt.ToObject(t))})}}var un=h&&function(){var t=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags");return t&<.IsCallable(t.get)}();if(h&&!un){var sn=function(){if(!lt.TypeIsObject(this))throw new TypeError("Method called on incompatible type: must be an object.");var t="";return this.global&&(t+="g"),this.ignoreCase&&(t+="i"),this.multiline&&(t+="m"),this.unicode&&(t+="u"),this.sticky&&(t+="y"),t};x.getter(RegExp.prototype,"flags",sn)}var cn=h&&c(function(){return"/a/i"===String(new RegExp(/a/g,"i"))}),fn=ot&&h&&function(){var t=/./;return t[Q.match]=!1,RegExp(t)===t}(),ln=c(function(){return"/abc/"===RegExp.prototype.toString.call({source:"abc"})}),hn=ln&&c(function(){return"/a/b"===RegExp.prototype.toString.call({source:"a",flags:"b"})});if(!ln||!hn){var pn=RegExp.prototype.toString;b(RegExp.prototype,"toString",function(){var t=lt.RequireObjectCoercible(this);if(rt.regex(t))return n(pn,t);var e=st(t.source),r=st(t.flags);return"/"+e+"/"+r},!0),x.preserveToString(RegExp.prototype.toString,pn)}if(h&&(!cn||fn)){var vn=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags").get,dn=Object.getOwnPropertyDescriptor(RegExp.prototype,"source")||{},yn=function(){return this.source},gn=lt.IsCallable(dn.get)?dn.get:yn,bn=RegExp,_n=function(){return function t(e,n){var r=lt.IsRegExp(e),i=this instanceof t;if(!i&&r&&"undefined"==typeof n&&e.constructor===t)return e;var o=e,a=n;return rt.regex(e)?(o=lt.Call(gn,e),a="undefined"==typeof n?lt.Call(vn,e):n,new t(o,a)):(r&&(o=e.source,a="undefined"==typeof n?e.flags:n),new bn(e,n))}}();Et(bn,_n,{$input:!0}),RegExp=_n,x.redefine(A,"RegExp",_n)}if(h){var mn={input:"$_",lastMatch:"$&",lastParen:"$+",leftContext:"$`",rightContext:"$'"};v(i(mn),function(t){t in RegExp&&!(mn[t]in RegExp)&&x.getter(RegExp,mn[t],function(){return RegExp[t]})})}St(RegExp);var wn=1/Number.EPSILON,xn=function(t){return t+wn-wn},On=Math.pow(2,-23),jn=Math.pow(2,127)*(2-On),Cn=Math.pow(2,-126),An=Math.E,En=Math.LOG2E,kn=Math.LOG10E,Sn=Number.prototype.clz;delete Number.prototype.clz;var Tn={acosh:function(t){var e=Number(t);return Y(e)||1>t?NaN:1===e?0:e===1/0?e:L(e/An+V(e+1)*V(e-1)/An)+1},asinh:function Lr(t){var e=Number(t);return 0!==e&&E(e)?0>e?-Lr(-e):L(e+V(e*e+1)):e},atanh:function(t){var e=Number(t);return Y(e)||-1>e||e>1?NaN:-1===e?-(1/0):1===e?1/0:0===e?e:.5*L((1+e)/(1-e))},cbrt:function(t){var e=Number(t);if(0===e)return e;var n,r=0>e;return r&&(e=-e),e===1/0?n=1/0:(n=z(L(e)/3),n=(e/(n*n)+2*n)/3),r?-n:n},clz32:function(t){var e=Number(t),n=lt.ToUint32(e);return 0===n?32:Sn?lt.Call(Sn,n):31-F(L(n+.5)*En)},cosh:function(t){var e=Number(t);return 0===e?1:Y(e)?NaN:E(e)?(0>e&&(e=-e),e>21?z(e)/2:(z(e)+z(-e))/2):1/0},expm1:function(t){var e=Number(t);if(e===-(1/0))return-1;if(!E(e)||0===e)return e;if(D(e)>.5)return z(e)-1;for(var n=e,r=0,i=1;r+n!==r;)r+=n,i+=1,n*=e/i;return r},hypot:function(t,e){for(var n=0,r=0,i=0;ir?(n*=r/o*(r/o),n+=1,r=o):n+=o>0?o/r*(o/r):o}return r===1/0?1/0:r*V(n)},log2:function(t){return L(t)*En},log10:function(t){return L(t)*kn},log1p:function(t){var e=Number(t);return-1>e||Y(e)?NaN:0===e||e===1/0?e:-1===e?-(1/0):1+e-1===0?e:e*(L(1+e)/(1+e-1))},sign:X,sinh:function(t){var e=Number(t);return E(e)&&0!==e?D(e)<1?(Math.expm1(e)-Math.expm1(-e))/2:(z(e-1)-z(-e-1))*An/2:e},tanh:function(t){var e=Number(t);return Y(e)||0===e?e:e>=20?1:-20>=e?-1:(Math.expm1(e)-Math.expm1(-e))/(z(e)+z(-e))},trunc:function(t){var e=Number(t);return 0>e?-F(-e):F(e)},imul:function(t,e){var n=lt.ToUint32(t),r=lt.ToUint32(e),i=n>>>16&65535,o=65535&n,a=r>>>16&65535,u=65535&r;return o*u+(i*u+o*a<<16>>>0)|0},fround:function(t){var e=Number(t);if(0===e||e===1/0||e===-(1/0)||Y(e))return e;var n=X(e),r=D(e);if(Cn>r)return n*xn(r/Cn/On)*Cn*On;var i=(1+On/Number.EPSILON)*r,o=i-(i-r);return o>jn||Y(o)?n*(1/0):n*o}};_(Math,Tn),b(Math,"log1p",Tn.log1p,-1e-17!==Math.log1p(-1e-17)),b(Math,"asinh",Tn.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)),b(Math,"tanh",Tn.tanh,-2e-17!==Math.tanh(-2e-17)),b(Math,"acosh",Tn.acosh,Math.acosh(Number.MAX_VALUE)===1/0),b(Math,"cbrt",Tn.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8),b(Math,"sinh",Tn.sinh,-2e-17!==Math.sinh(-2e-17));var $n=Math.expm1(10);b(Math,"expm1",Tn.expm1,$n>22025.465794806718||22025.465794806718>$n);var Pn=Math.round,In=0===Math.round(.5-Number.EPSILON/4)&&1===Math.round(-.5+Number.EPSILON/3.99),Rn=wn+1,Nn=2*wn-1,Mn=[Rn,Nn].every(function(t){return Math.round(t)===t});b(Math,"round",function(t){var e=F(t),n=-1===e?-0:e+1;return.5>t-e?e:n},!In||!Mn),x.preserveToString(Math.round,Pn);var Fn=Math.imul;-5!==Math.imul(4294967295,5)&&(Math.imul=Tn.imul,x.preserveToString(Math.imul,Fn)),2!==Math.imul.length&&it(Math,"imul",function(t,e){return lt.Call(Fn,Math,arguments)});var Dn=function(){var t=A.setTimeout;if("function"==typeof t||"object"==typeof t){lt.IsPromise=function(t){return lt.TypeIsObject(t)?"undefined"!=typeof t._promise:!1};var e,r=function(t){if(!lt.IsConstructor(t))throw new TypeError("Bad promise constructor");var e=this,n=function(t,n){if(void 0!==e.resolve||void 0!==e.reject)throw new TypeError("Bad Promise implementation!");e.resolve=t,e.reject=n};if(e.resolve=void 0,e.reject=void 0,e.promise=new t(n),!lt.IsCallable(e.resolve)||!lt.IsCallable(e.reject))throw new TypeError("Bad promise constructor")};"undefined"!=typeof window&<.IsCallable(window.postMessage)&&(e=function(){var t=[],e="zero-timeout-message",n=function(n){P(t,n),window.postMessage(e,"*")},r=function(n){if(n.source===window&&n.data===e){if(n.stopPropagation(),0===t.length)return;var r=R(t);r()}};return window.addEventListener("message",r,!0),n});var i,o,u=function(){var t=A.Promise,e=t&&t.resolve&&t.resolve();return e&&function(t){return e.then(t)}},s=lt.IsCallable(A.setImmediate)?A.setImmediate:"object"==typeof a&&a.nextTick?a.nextTick:u()||(lt.IsCallable(e)?e():function(e){t(e,0)}),c=function(t){return t},f=function(t){throw t},l=0,h=1,p=2,v=0,d=1,y=2,g={},b=function(t,e,n){s(function(){m(t,e,n)})},m=function(t,e,n){var r,i;if(e===g)return t(n);try{r=t(n),i=e.resolve}catch(o){r=o,i=e.reject}i(r)},w=function(t,e){var n=t._promise,r=n.reactionLength;if(r>0&&(b(n.fulfillReactionHandler0,n.reactionCapability0,e),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var i=1,o=0;r>i;i++,o+=3)b(n[o+v],n[o+y],e),t[o+v]=void 0,t[o+d]=void 0,t[o+y]=void 0;n.result=e,n.state=h,n.reactionLength=0},x=function(t,e){var n=t._promise,r=n.reactionLength;if(r>0&&(b(n.rejectReactionHandler0,n.reactionCapability0,e),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var i=1,o=0;r>i;i++,o+=3)b(n[o+d],n[o+y],e),t[o+v]=void 0,t[o+d]=void 0,t[o+y]=void 0;n.result=e,n.state=p,n.reactionLength=0},O=function(t){var e=!1,n=function(n){var r;if(!e){if(e=!0,n===t)return x(t,new TypeError("Self resolution"));if(!lt.TypeIsObject(n))return w(t,n);try{r=n.then}catch(i){return x(t,i)}return lt.IsCallable(r)?void s(function(){C(t,n,r)}):w(t,n)}},r=function(n){return e?void 0:(e=!0,x(t,n))};return{resolve:n,reject:r}},j=function(t,e,r,i){t===o?n(t,e,r,i,g):n(t,e,r,i)},C=function(t,e,n){var r=O(t),i=r.resolve,o=r.reject;try{j(n,e,i,o)}catch(a){o(a)}},E=function(){var t=function(e){if(!(this instanceof t))throw new TypeError('Constructor Promise requires "new"');if(this&&this._promise)throw new TypeError("Bad construction");if(!lt.IsCallable(e))throw new TypeError("not a valid resolver");var n=It(this,t,i,{_promise:{result:void 0,state:l,reactionLength:0,fulfillReactionHandler0:void 0,rejectReactionHandler0:void 0,reactionCapability0:void 0}}),r=O(n),o=r.reject;try{e(r.resolve,o)}catch(a){o(a)}return n};return t}(); +i=E.prototype;var k=function(t,e,n,r){var i=!1;return function(o){if(!i&&(i=!0,e[t]=o,0===--r.count)){var a=n.resolve;a(e)}}},S=function(t,e,n){for(var r,i,o=t.iterator,a=[],u={count:1},s=0;;){try{if(r=lt.IteratorStep(o),r===!1){t.done=!0;break}i=r.value}catch(c){throw t.done=!0,c}a[s]=void 0;var f=e.resolve(i),l=k(s,a,n,u);u.count+=1,j(f.then,f,l,n.reject),s+=1}if(0===--u.count){var h=n.resolve;h(a)}return n.promise},T=function(t,e,n){for(var r,i,o,a=t.iterator;;){try{if(r=lt.IteratorStep(a),r===!1){t.done=!0;break}i=r.value}catch(u){throw t.done=!0,u}o=e.resolve(i),j(o.then,o,n.resolve,n.reject)}return n.promise};return _(E,{all:function(t){var e=this;if(!lt.TypeIsObject(e))throw new TypeError("Promise is not object");var n,i,o=new r(e);try{return n=lt.GetIterator(t),i={iterator:n,done:!1},S(i,e,o)}catch(a){var u=a;if(i&&!i.done)try{lt.IteratorClose(n,!0)}catch(s){u=s}var c=o.reject;return c(u),o.promise}},race:function(t){var e=this;if(!lt.TypeIsObject(e))throw new TypeError("Promise is not object");var n,i,o=new r(e);try{return n=lt.GetIterator(t),i={iterator:n,done:!1},T(i,e,o)}catch(a){var u=a;if(i&&!i.done)try{lt.IteratorClose(n,!0)}catch(s){u=s}var c=o.reject;return c(u),o.promise}},reject:function(t){var e=this;if(!lt.TypeIsObject(e))throw new TypeError("Bad promise constructor");var n=new r(e),i=n.reject;return i(t),n.promise},resolve:function(t){var e=this;if(!lt.TypeIsObject(e))throw new TypeError("Bad promise constructor");if(lt.IsPromise(t)){var n=t.constructor;if(n===e)return t}var i=new r(e),o=i.resolve;return o(t),i.promise}}),_(i,{"catch":function(t){return this.then(null,t)},then:function(t,e){var n=this;if(!lt.IsPromise(n))throw new TypeError("not a promise");var i,o=lt.SpeciesConstructor(n,E),a=arguments.length>2&&arguments[2]===g;i=a&&o===E?g:new r(o);var u,s=lt.IsCallable(t)?t:c,_=lt.IsCallable(e)?e:f,m=n._promise;if(m.state===l){if(0===m.reactionLength)m.fulfillReactionHandler0=s,m.rejectReactionHandler0=_,m.reactionCapability0=i;else{var w=3*(m.reactionLength-1);m[w+v]=s,m[w+d]=_,m[w+y]=i}m.reactionLength+=1}else if(m.state===h)u=m.result,b(s,i,u);else{if(m.state!==p)throw new TypeError("unexpected Promise state");u=m.result,b(_,i,u)}return i.promise}}),g=new r(E),o=i.then,E}}();if(A.Promise&&(delete A.Promise.accept,delete A.Promise.defer,delete A.Promise.prototype.chain),"function"==typeof Dn){_(A,{Promise:Dn});var zn=j(A.Promise,function(t){return t.resolve(42).then(function(){})instanceof t}),Ln=!s(function(){A.Promise.reject(42).then(null,5).then(null,H)}),Vn=s(function(){A.Promise.call(3,H)}),Un=function(t){var e=t.resolve(5);e.constructor={};var n=t.resolve(e);try{n.then(null,H).then(null,H)}catch(r){return!0}return e===n}(A.Promise),Hn=h&&function(){var t=0,e=Object.defineProperty({},"then",{get:function(){t+=1}});return Promise.resolve(e),1===t}(),Wn=function Vr(t){var e=new Promise(t);t(3,function(){}),this.then=e.then,this.constructor=Vr};Wn.prototype=Promise.prototype,Wn.all=Promise.all;var Bn=c(function(){return!!Wn.all([1,2])});if(zn&&Ln&&Vn&&!Un&&Hn&&!Bn||(Promise=Dn,it(A,"Promise",Dn)),1!==Promise.all.length){var qn=Promise.all;it(Promise,"all",function(t){return lt.Call(qn,this,arguments)})}if(1!==Promise.race.length){var Gn=Promise.race;it(Promise,"race",function(t){return lt.Call(Gn,this,arguments)})}if(1!==Promise.resolve.length){var Jn=Promise.resolve;it(Promise,"resolve",function(t){return lt.Call(Jn,this,arguments)})}if(1!==Promise.reject.length){var Qn=Promise.reject;it(Promise,"reject",function(t){return lt.Call(Qn,this,arguments)})}Te(Promise,"all"),Te(Promise,"race"),Te(Promise,"resolve"),Te(Promise,"reject"),St(Promise)}var Zn=function(t){var e=i(d(t,function(t,e){return t[e]=!0,t},{}));return t.join(":")===e.join(":")},Yn=Zn(["z","a","bb"]),Kn=Zn(["z",1,"a","3",2]);if(h){var Xn=function(t,e){return e||Yn?ft(t)?"^"+lt.ToString(t):"string"==typeof t?"$"+t:"number"==typeof t?Kn?t:"n"+t:"boolean"==typeof t?"b"+t:null:null},tr=function(){return Object.create?Object.create(null):{}},er=function(t,e,i){if(r(i)||rt.string(i))v(i,function(t){if(!lt.TypeIsObject(t))throw new TypeError("Iterator value "+t+" is not an entry object");e.set(t[0],t[1])});else if(i instanceof t)n(t.prototype.forEach,i,function(t,n){e.set(n,t)});else{var o,a;if(!ft(i)){if(a=e.set,!lt.IsCallable(a))throw new TypeError("bad map");o=lt.GetIterator(i)}if("undefined"!=typeof o)for(;;){var u=lt.IteratorStep(o);if(u===!1)break;var s=u.value;try{if(!lt.TypeIsObject(s))throw new TypeError("Iterator value "+s+" is not an entry object");n(a,e,s[0],s[1])}catch(c){throw lt.IteratorClose(o,!0),c}}}},nr=function(t,e,i){if(r(i)||rt.string(i))v(i,function(t){e.add(t)});else if(i instanceof t)n(t.prototype.forEach,i,function(t){e.add(t)});else{var o,a;if(!ft(i)){if(a=e.add,!lt.IsCallable(a))throw new TypeError("bad set");o=lt.GetIterator(i)}if("undefined"!=typeof o)for(;;){var u=lt.IteratorStep(o);if(u===!1)break;var s=u.value;try{n(a,e,s)}catch(c){throw lt.IteratorClose(o,!0),c}}}},rr={Map:function(){var t={},e=function(t,e){this.key=t,this.value=e,this.next=null,this.prev=null};e.prototype.isRemoved=function(){return this.key===t};var r=function(t){return!!t._es6map},i=function(t,e){if(!lt.TypeIsObject(t)||!r(t))throw new TypeError("Method Map.prototype."+e+" called on incompatible receiver "+lt.ToString(t))},o=function(t,e){i(t,"[[MapIterator]]"),this.head=t._head,this.i=this.head,this.kind=e};o.prototype={next:function(){var t=this.i,e=this.kind,n=this.head;if("undefined"==typeof this.i)return Yt();for(;t.isRemoved()&&t!==n;)t=t.prev;for(var r;t.next!==n;)if(t=t.next,!t.isRemoved())return r="key"===e?t.key:"value"===e?t.value:[t.key,t.value],this.i=t,Yt(r);return this.i=void 0,Yt()}},Tt(o.prototype);var a,u=function s(){if(!(this instanceof s))throw new TypeError('Constructor Map requires "new"');if(this&&this._es6map)throw new TypeError("Bad construction");var t=It(this,s,a,{_es6map:!0,_head:null,_map:W?new W:null,_size:0,_storage:tr()}),n=new e(null,null);return n.next=n.prev=n,t._head=n,arguments.length>0&&er(s,t,arguments[0]),t};return a=u.prototype,x.getter(a,"size",function(){if("undefined"==typeof this._size)throw new TypeError("size method called on incompatible Map");return this._size}),_(a,{get:function(t){i(this,"get");var e,n=Xn(t,!0);if(null!==n)return e=this._storage[n],e?e.value:void 0;if(this._map)return e=q.call(this._map,t),e?e.value:void 0;for(var r=this._head,o=r;(o=o.next)!==r;)if(lt.SameValueZero(o.key,t))return o.value},has:function(t){i(this,"has");var e=Xn(t,!0);if(null!==e)return"undefined"!=typeof this._storage[e];if(this._map)return G.call(this._map,t);for(var n=this._head,r=n;(r=r.next)!==n;)if(lt.SameValueZero(r.key,t))return!0;return!1},set:function(t,n){i(this,"set");var r,o=this._head,a=o,u=Xn(t,!0);if(null!==u){if("undefined"!=typeof this._storage[u])return this._storage[u].value=n,this;r=this._storage[u]=new e(t,n),a=o.prev}else this._map&&(G.call(this._map,t)?q.call(this._map,t).value=n:(r=new e(t,n),J.call(this._map,t,r),a=o.prev));for(;(a=a.next)!==o;)if(lt.SameValueZero(a.key,t))return a.value=n,this;return r=r||new e(t,n),lt.SameValue(-0,t)&&(r.key=0),r.next=this._head,r.prev=this._head.prev,r.prev.next=r,r.next.prev=r,this._size+=1,this},"delete":function(e){i(this,"delete");var n=this._head,r=n,o=Xn(e,!0);if(null!==o){if("undefined"==typeof this._storage[o])return!1;r=this._storage[o].prev,delete this._storage[o]}else if(this._map){if(!G.call(this._map,e))return!1;r=q.call(this._map,e).prev,B.call(this._map,e)}for(;(r=r.next)!==n;)if(lt.SameValueZero(r.key,e))return r.key=r.value=t,r.prev.next=r.next,r.next.prev=r.prev,this._size-=1,!0;return!1},clear:function(){i(this,"clear"),this._map=W?new W:null,this._size=0,this._storage=tr();for(var e=this._head,n=e,r=n.next;(n=r)!==e;)n.key=n.value=t,r=n.next,n.next=n.prev=e;e.next=e.prev=e},keys:function(){return i(this,"keys"),new o(this,"key")},values:function(){return i(this,"values"),new o(this,"value")},entries:function(){return i(this,"entries"),new o(this,"key+value")},forEach:function(t){i(this,"forEach");for(var e=arguments.length>1?arguments[1]:null,r=this.entries(),o=r.next();!o.done;o=r.next())e?n(t,e,o.value[1],o.value[0],this):t(o.value[1],o.value[0],this)}}),Tt(a,a.entries),u}(),Set:function(){var t,e=function(t){return t._es6set&&"undefined"!=typeof t._storage},r=function(t,n){if(!lt.TypeIsObject(t)||!e(t))throw new TypeError("Set.prototype."+n+" called on incompatible receiver "+lt.ToString(t))},o=function s(){if(!(this instanceof s))throw new TypeError('Constructor Set requires "new"');if(this&&this._es6set)throw new TypeError("Bad construction");var e=It(this,s,t,{_es6set:!0,"[[SetData]]":null,_storage:tr()});if(!e._es6set)throw new TypeError("bad set");return arguments.length>0&&nr(s,e,arguments[0]),e};t=o.prototype;var a=function(t){var e=t;if("^null"===e)return null;if("^undefined"!==e){var n=e.charAt(0);return"$"===n?$(e,1):"n"===n?+$(e,1):"b"===n?"btrue"===e:+e}},u=function(t){if(!t["[[SetData]]"]){var e=t["[[SetData]]"]=new rr.Map;v(i(t._storage),function(t){var n=a(t);e.set(n,n)}),t["[[SetData]]"]=e}t._storage=null};return x.getter(o.prototype,"size",function(){return r(this,"size"),this._storage?i(this._storage).length:(u(this),this["[[SetData]]"].size)}),_(o.prototype,{has:function(t){r(this,"has");var e;return this._storage&&null!==(e=Xn(t))?!!this._storage[e]:(u(this),this["[[SetData]]"].has(t))},add:function(t){r(this,"add");var e;return this._storage&&null!==(e=Xn(t))?(this._storage[e]=!0,this):(u(this),this["[[SetData]]"].set(t,t),this)},"delete":function(t){r(this,"delete");var e;if(this._storage&&null!==(e=Xn(t))){var n=U(this._storage,e);return delete this._storage[e]&&n}return u(this),this["[[SetData]]"]["delete"](t)},clear:function(){r(this,"clear"),this._storage&&(this._storage=tr()),this["[[SetData]]"]&&this["[[SetData]]"].clear()},values:function(){return r(this,"values"),u(this),this["[[SetData]]"].values()},entries:function(){return r(this,"entries"),u(this),this["[[SetData]]"].entries()},forEach:function(t){r(this,"forEach");var e=arguments.length>1?arguments[1]:null,i=this;u(i),this["[[SetData]]"].forEach(function(r,o){e?n(t,e,o,o,i):t(o,o,i)})}}),b(o.prototype,"keys",o.prototype.values,!0),Tt(o.prototype,o.prototype.values),o}()};if(A.Map||A.Set){var ir=c(function(){return 2===new Map([[1,2]]).get(1)});ir||(A.Map=function Ur(){if(!(this instanceof Ur))throw new TypeError('Constructor Map requires "new"');var t=new W;return arguments.length>0&&er(Ur,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,A.Map.prototype),t},A.Map.prototype=O(W.prototype),b(A.Map.prototype,"constructor",A.Map,!0),x.preserveToString(A.Map,W));var or=new Map,ar=function(){var t=new Map([[1,0],[2,0],[3,0],[4,0]]);return t.set(-0,t),t.get(0)===t&&t.get(-0)===t&&t.has(0)&&t.has(-0)}(),ur=or.set(1,2)===or;ar&&ur||it(Map.prototype,"set",function(t,e){return n(J,this,0===t?0:t,e),this}),ar||(_(Map.prototype,{get:function(t){return n(q,this,0===t?0:t)},has:function(t){return n(G,this,0===t?0:t)}},!0),x.preserveToString(Map.prototype.get,q),x.preserveToString(Map.prototype.has,G));var sr=new Set,cr=function(t){return t["delete"](0),t.add(-0),!t.has(0)}(sr),fr=sr.add(1)===sr;if(!cr||!fr){var lr=Set.prototype.add;Set.prototype.add=function(t){return n(lr,this,0===t?0:t),this},x.preserveToString(Set.prototype.add,lr)}if(!cr){var hr=Set.prototype.has;Set.prototype.has=function(t){return n(hr,this,0===t?0:t)},x.preserveToString(Set.prototype.has,hr);var pr=Set.prototype["delete"];Set.prototype["delete"]=function(t){return n(pr,this,0===t?0:t)},x.preserveToString(Set.prototype["delete"],pr)}var vr=j(A.Map,function(t){var e=new t([]);return e.set(42,42),e instanceof t}),dr=Object.setPrototypeOf&&!vr,yr=function(){try{return!(A.Map()instanceof A.Map)}catch(t){return t instanceof TypeError}}();0===A.Map.length&&!dr&&yr||(A.Map=function Hr(){if(!(this instanceof Hr))throw new TypeError('Constructor Map requires "new"');var t=new W;return arguments.length>0&&er(Hr,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,Hr.prototype),t},A.Map.prototype=W.prototype,b(A.Map.prototype,"constructor",A.Map,!0),x.preserveToString(A.Map,W));var gr=j(A.Set,function(t){var e=new t([]);return e.add(42,42),e instanceof t}),br=Object.setPrototypeOf&&!gr,_r=function(){try{return!(A.Set()instanceof A.Set)}catch(t){return t instanceof TypeError}}();if(0!==A.Set.length||br||!_r){var mr=A.Set;A.Set=function Wr(){if(!(this instanceof Wr))throw new TypeError('Constructor Set requires "new"');var t=new mr;return arguments.length>0&&nr(Wr,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,Wr.prototype),t},A.Set.prototype=mr.prototype,b(A.Set.prototype,"constructor",A.Set,!0),x.preserveToString(A.Set,mr)}var wr=new A.Map,xr=!c(function(){return wr.keys().next().done});if(("function"!=typeof A.Map.prototype.clear||0!==(new A.Set).size||0!==wr.size||"function"!=typeof A.Map.prototype.keys||"function"!=typeof A.Set.prototype.keys||"function"!=typeof A.Map.prototype.forEach||"function"!=typeof A.Set.prototype.forEach||f(A.Map)||f(A.Set)||"function"!=typeof wr.keys().next||xr||!vr)&&_(A,{Map:rr.Map,Set:rr.Set},!0),A.Set.prototype.keys!==A.Set.prototype.values&&b(A.Set.prototype,"keys",A.Set.prototype.values,!0),Tt(Object.getPrototypeOf((new A.Map).keys())),Tt(Object.getPrototypeOf((new A.Set).keys())),p&&"has"!==A.Set.prototype.has.name){var Or=A.Set.prototype.has;it(A.Set.prototype,"has",function(t){return n(Or,this,t)})}}_(A,rr),St(A.Map),St(A.Set)}var jr=function(t){if(!lt.TypeIsObject(t))throw new TypeError("target must be an object")},Cr={apply:function(){return lt.Call(lt.Call,null,arguments)},construct:function(t,e){if(!lt.IsConstructor(t))throw new TypeError("First argument must be a constructor.");var n=arguments.length>2?arguments[2]:t;if(!lt.IsConstructor(n))throw new TypeError("new.target must be a constructor.");return lt.Construct(t,e,n,"internal")},deleteProperty:function(t,e){if(jr(t),h){var n=Object.getOwnPropertyDescriptor(t,e);if(n&&!n.configurable)return!1}return delete t[e]},has:function(t,e){return jr(t),e in t}};Object.getOwnPropertyNames&&Object.assign(Cr,{ownKeys:function(t){jr(t);var e=Object.getOwnPropertyNames(t);return lt.IsCallable(Object.getOwnPropertySymbols)&&I(e,Object.getOwnPropertySymbols(t)),e}});var Ar=function(t){return!s(t)};if(Object.preventExtensions&&Object.assign(Cr,{isExtensible:function(t){return jr(t),Object.isExtensible(t)},preventExtensions:function(t){return jr(t),Ar(function(){Object.preventExtensions(t)})}}),h){var Er=function(t,e,n){var r=Object.getOwnPropertyDescriptor(t,e);if(!r){var i=Object.getPrototypeOf(t);if(null===i)return;return Er(i,e,n)}return"value"in r?r.value:r.get?lt.Call(r.get,n):void 0},kr=function(t,e,r,i){var o=Object.getOwnPropertyDescriptor(t,e);if(!o){var a=Object.getPrototypeOf(t);if(null!==a)return kr(a,e,r,i);o={value:void 0,writable:!0,enumerable:!0,configurable:!0}}if("value"in o){if(!o.writable)return!1;if(!lt.TypeIsObject(i))return!1;var u=Object.getOwnPropertyDescriptor(i,e);return u?ut.defineProperty(i,e,{value:r}):ut.defineProperty(i,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}return o.set?(n(o.set,i,r),!0):!1};Object.assign(Cr,{defineProperty:function(t,e,n){return jr(t),Ar(function(){Object.defineProperty(t,e,n)})},getOwnPropertyDescriptor:function(t,e){return jr(t),Object.getOwnPropertyDescriptor(t,e)},get:function(t,e){jr(t);var n=arguments.length>2?arguments[2]:t;return Er(t,e,n)},set:function(t,e,n){jr(t);var r=arguments.length>3?arguments[3]:t;return kr(t,e,n,r)}})}if(Object.getPrototypeOf){var Sr=Object.getPrototypeOf;Cr.getPrototypeOf=function(t){return jr(t),Sr(t)}}if(Object.setPrototypeOf&&Cr.getPrototypeOf){var Tr=function(t,e){for(var n=e;n;){if(t===n)return!0;n=Cr.getPrototypeOf(n)}return!1};Object.assign(Cr,{setPrototypeOf:function(t,e){if(jr(t),null!==e&&!lt.TypeIsObject(e))throw new TypeError("proto must be an object or null");return e===ut.getPrototypeOf(t)?!0:ut.isExtensible&&!ut.isExtensible(t)?!1:Tr(t,e)?!1:(Object.setPrototypeOf(t,e),!0)}})}var $r=function(t,e){if(lt.IsCallable(A.Reflect[t])){var n=c(function(){return A.Reflect[t](1),A.Reflect[t](NaN),A.Reflect[t](!0),!0});n&&it(A.Reflect,t,e)}else b(A.Reflect,t,e)};Object.keys(Cr).forEach(function(t){$r(t,Cr[t])});var Pr=A.Reflect.getPrototypeOf;if(p&&Pr&&"getPrototypeOf"!==Pr.name&&it(A.Reflect,"getPrototypeOf",function(t){return n(Pr,A.Reflect,t)}),A.Reflect.setPrototypeOf&&c(function(){return A.Reflect.setPrototypeOf(1,{}),!0})&&it(A.Reflect,"setPrototypeOf",Cr.setPrototypeOf),A.Reflect.defineProperty&&(c(function(){var t=!A.Reflect.defineProperty(1,"test",{value:1}),e="function"!=typeof Object.preventExtensions||!A.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return t&&e})||it(A.Reflect,"defineProperty",Cr.defineProperty)),A.Reflect.construct&&(c(function(){var t=function(){};return A.Reflect.construct(function(){},[],t)instanceof t})||it(A.Reflect,"construct",Cr.construct)),"Invalid Date"!==String(new Date(NaN))){var Ir=Date.prototype.toString,Rr=function(){var t=+this;return t!==t?"Invalid Date":lt.Call(Ir,this)};it(Date.prototype,"toString",Rr)}var Nr={anchor:function(t){return lt.CreateHTML(this,"a","name",t)},big:function(){return lt.CreateHTML(this,"big","","")},blink:function(){return lt.CreateHTML(this,"blink","","")},bold:function(){return lt.CreateHTML(this,"b","","")},fixed:function(){return lt.CreateHTML(this,"tt","","")},fontcolor:function(t){return lt.CreateHTML(this,"font","color",t)},fontsize:function(t){return lt.CreateHTML(this,"font","size",t)},italics:function(){return lt.CreateHTML(this,"i","","")},link:function(t){return lt.CreateHTML(this,"a","href",t)},small:function(){return lt.CreateHTML(this,"small","","")},strike:function(){return lt.CreateHTML(this,"strike","","")},sub:function(){return lt.CreateHTML(this,"sub","","")},sup:function(){return lt.CreateHTML(this,"sup","","")}};v(Object.keys(Nr),function(t){var e=String.prototype[t],r=!1;if(lt.IsCallable(e)){var i=n(e,"",' " '),o=T([],i.match(/"/g)).length;r=i!==i.toLowerCase()||o>2}else r=!0;r&&it(String.prototype,t,Nr[t])});var Mr=function(){if(!ot)return!1;var t="object"==typeof JSON&&"function"==typeof JSON.stringify?JSON.stringify:null;if(!t)return!1;if("undefined"!=typeof t(Q()))return!0;if("[null]"!==t([Q()]))return!0;var e={a:Q()};return e[Q()]=!0,"{}"!==t(e)}(),Fr=c(function(){return ot?"{}"===JSON.stringify(Object(Q()))&&"[{}]"===JSON.stringify([Object(Q())]):!0});if(Mr||!Fr){var Dr=JSON.stringify;it(JSON,"stringify",function(t){if("symbol"!=typeof t){var e;arguments.length>1&&(e=arguments[1]);var i=[t];if(r(e))i.push(e);else{var o=lt.IsCallable(e)?e:null,a=function(t,e){var r=o?n(o,this,t,e):e;return"symbol"!=typeof r?rt.symbol(r)?Pe({})(r):r:void 0};i.push(a)}return arguments.length>2&&i.push(arguments[2]),Dr.apply(this,i)}})}return A})}).call(e,function(){return this}(),n(82))},,,,,,,,,,,,function(t,e,n){var r=n(3),i=n(1),o=r(i,"DataView");t.exports=o},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++en)return!1;var r=e.length-1;return n==r?e.pop():a.call(e,n,1),--this.size,!0}var i=n(15),o=Array.prototype,a=o.splice;t.exports=r},function(t,e,n){function r(t){var e=this.__data__,n=i(e,t);return 0>n?void 0:e[n][1]}var i=n(15);t.exports=r},function(t,e,n){function r(t){return i(this.__data__,t)>-1}var i=n(15);t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__,r=i(n,t);return 0>r?(++this.size,n.push([t,e])):n[r][1]=e,this}var i=n(15);t.exports=r},function(t,e,n){function r(){this.size=0,this.__data__={hash:new i,map:new(a||o),string:new i}}var i=n(164),o=n(14),a=n(26);t.exports=r},function(t,e,n){function r(t){var e=i(this,t)["delete"](t);return this.size-=e?1:0,e}var i=n(17);t.exports=r},function(t,e,n){function r(t){return i(this,t).get(t)}var i=n(17);t.exports=r},function(t,e,n){function r(t){return i(this,t).has(t)}var i=n(17);t.exports=r},function(t,e,n){function r(t,e){var n=i(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}var i=n(17);t.exports=r},function(t,e){function n(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}t.exports=n},function(t,e,n){function r(t){var e=i(t,function(t){return n.size===o&&n.clear(),t}),n=e.cache;return e}var i=n(256),o=500;t.exports=r},function(t,e,n){var r=n(33),i=r(Object.keys,Object);t.exports=i},function(t,e){function n(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}t.exports=n},function(t,e,n){(function(t){var r=n(66),i="object"==typeof e&&e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===i,u=a&&r.process,s=function(){try{return u&&u.binding&&u.binding("util")}catch(t){}}();t.exports=s}).call(e,n(43)(t))},function(t,e){function n(t){return i.call(t)}var r=Object.prototype,i=r.toString;t.exports=n},,function(t,e){function n(t){return this.__data__.set(t,r),this}var r="__lodash_hash_undefined__";t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e){function n(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}t.exports=n},,,function(t,e,n){function r(){this.__data__=new i,this.size=0}var i=n(14);t.exports=r},function(t,e){function n(t){var e=this.__data__,n=e["delete"](t);return this.size=e.size,n}t.exports=n},function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e,n){function r(t,e){var n=this.__data__;if(n instanceof i){var r=n.__data__;if(!o||r.length-1}function v(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function z(t,e){for(var n=t.length;n--&&j(e,t[n],0)>-1;);return n}function L(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&++r;return r}function V(t){return"\\"+nr[t]}function U(t,e){return null==t?it:t[e]}function H(t){return Gn.test(t)}function W(t){return Jn.test(t)}function B(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function q(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function G(t,e){return function(n){return t(e(n))}}function J(t,e){for(var n=-1,r=t.length,i=0,o=[];++n>>1,Vt=[["ary",jt],["bind",gt],["bindKey",bt],["curry",mt],["curryRight",wt],["flip",At],["partial",xt],["partialRight",Ot],["rearg",Ct]],Ut="[object Arguments]",Ht="[object Array]",Wt="[object AsyncFunction]",Bt="[object Boolean]",qt="[object Date]",Gt="[object DOMException]",Jt="[object Error]",Qt="[object Function]",Zt="[object GeneratorFunction]",Yt="[object Map]",Kt="[object Number]",Xt="[object Null]",te="[object Object]",ee="[object Promise]",ne="[object Proxy]",re="[object RegExp]",ie="[object Set]",oe="[object String]",ae="[object Symbol]",ue="[object Undefined]",se="[object WeakMap]",ce="[object WeakSet]",fe="[object ArrayBuffer]",le="[object DataView]",he="[object Float32Array]",pe="[object Float64Array]",ve="[object Int8Array]",de="[object Int16Array]",ye="[object Int32Array]",ge="[object Uint8Array]",be="[object Uint8ClampedArray]",_e="[object Uint16Array]",me="[object Uint32Array]",we=/\b__p \+= '';/g,xe=/\b(__p \+=) '' \+/g,Oe=/(__e\(.*?\)|\b__t\)) \+\n'';/g,je=/&(?:amp|lt|gt|quot|#39);/g,Ce=/[&<>"']/g,Ae=RegExp(je.source),Ee=RegExp(Ce.source),ke=/<%-([\s\S]+?)%>/g,Se=/<%([\s\S]+?)%>/g,Te=/<%=([\s\S]+?)%>/g,$e=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Pe=/^\w*$/,Ie=/^\./,Re=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ne=/[\\^$.*+?()[\]{}|]/g,Me=RegExp(Ne.source),Fe=/^\s+|\s+$/g,De=/^\s+/,ze=/\s+$/,Le=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ve=/\{\n\/\* \[wrapped with (.+)\] \*/,Ue=/,? & /,He=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,We=/\\(\\)?/g,Be=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,qe=/\w*$/,Ge=/^[-+]0x[0-9a-f]+$/i,Je=/^0b[01]+$/i,Qe=/^\[object .+?Constructor\]$/,Ze=/^0o[0-7]+$/i,Ye=/^(?:0|[1-9]\d*)$/,Ke=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Xe=/($^)/,tn=/['\n\r\u2028\u2029\\]/g,en="\\ud800-\\udfff",nn="\\u0300-\\u036f",rn="\\ufe20-\\ufe2f",on="\\u20d0-\\u20ff",an=nn+rn+on,un="\\u2700-\\u27bf",sn="a-z\\xdf-\\xf6\\xf8-\\xff",cn="\\xac\\xb1\\xd7\\xf7",fn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",ln="\\u2000-\\u206f",hn=" \\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",pn="A-Z\\xc0-\\xd6\\xd8-\\xde",vn="\\ufe0e\\ufe0f",dn=cn+fn+ln+hn,yn="['’]",gn="["+en+"]",bn="["+dn+"]",_n="["+an+"]",mn="\\d+",wn="["+un+"]",xn="["+sn+"]",On="[^"+en+dn+mn+un+sn+pn+"]",jn="\\ud83c[\\udffb-\\udfff]",Cn="(?:"+_n+"|"+jn+")",An="[^"+en+"]",En="(?:\\ud83c[\\udde6-\\uddff]){2}",kn="[\\ud800-\\udbff][\\udc00-\\udfff]",Sn="["+pn+"]",Tn="\\u200d",$n="(?:"+xn+"|"+On+")",Pn="(?:"+Sn+"|"+On+")",In="(?:"+yn+"(?:d|ll|m|re|s|t|ve))?",Rn="(?:"+yn+"(?:D|LL|M|RE|S|T|VE))?",Nn=Cn+"?",Mn="["+vn+"]?",Fn="(?:"+Tn+"(?:"+[An,En,kn].join("|")+")"+Mn+Nn+")*",Dn="\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)",zn="\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)",Ln=Mn+Nn+Fn,Vn="(?:"+[wn,En,kn].join("|")+")"+Ln,Un="(?:"+[An+_n+"?",_n,En,kn,gn].join("|")+")",Hn=RegExp(yn,"g"),Wn=RegExp(_n,"g"),Bn=RegExp(jn+"(?="+jn+")|"+Un+Ln,"g"),qn=RegExp([Sn+"?"+xn+"+"+In+"(?="+[bn,Sn,"$"].join("|")+")",Pn+"+"+Rn+"(?="+[bn,Sn+$n,"$"].join("|")+")",Sn+"?"+$n+"+"+In,Sn+"+"+Rn,zn,Dn,mn,Vn].join("|"),"g"),Gn=RegExp("["+Tn+en+an+vn+"]"),Jn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Qn=["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"],Zn=-1,Yn={};Yn[he]=Yn[pe]=Yn[ve]=Yn[de]=Yn[ye]=Yn[ge]=Yn[be]=Yn[_e]=Yn[me]=!0,Yn[Ut]=Yn[Ht]=Yn[fe]=Yn[Bt]=Yn[le]=Yn[qt]=Yn[Jt]=Yn[Qt]=Yn[Yt]=Yn[Kt]=Yn[te]=Yn[re]=Yn[ie]=Yn[oe]=Yn[se]=!1;var Kn={};Kn[Ut]=Kn[Ht]=Kn[fe]=Kn[le]=Kn[Bt]=Kn[qt]=Kn[he]=Kn[pe]=Kn[ve]=Kn[de]=Kn[ye]=Kn[Yt]=Kn[Kt]=Kn[te]=Kn[re]=Kn[ie]=Kn[oe]=Kn[ae]=Kn[ge]=Kn[be]=Kn[_e]=Kn[me]=!0,Kn[Jt]=Kn[Qt]=Kn[se]=!1;var Xn={"À":"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"},tr={"&":"&","<":"<",">":">",'"':""","'":"'"},er={"&":"&","<":"<",">":">",""":'"',"'":"'"},nr={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},rr=parseFloat,ir=parseInt,or="object"==typeof t&&t&&t.Object===Object&&t,ar="object"==typeof self&&self&&self.Object===Object&&self,ur=or||ar||Function("return this")(),sr="object"==typeof e&&e&&!e.nodeType&&e,cr=sr&&"object"==typeof i&&i&&!i.nodeType&&i,fr=cr&&cr.exports===sr,lr=fr&&or.process,hr=function(){try{return lr&&lr.binding&&lr.binding("util")}catch(t){}}(),pr=hr&&hr.isArrayBuffer,vr=hr&&hr.isDate,dr=hr&&hr.isMap,yr=hr&&hr.isRegExp,gr=hr&&hr.isSet,br=hr&&hr.isTypedArray,_r=k("length"),mr=S(Xn),wr=S(tr),xr=S(er),Or=function Cr(t){function e(t){if(ss(t)&&!mh(t)&&!(t instanceof i)){if(t instanceof r)return t;if(mf.call(t,"__wrapped__"))return oa(t)}return new r(t)}function n(){}function r(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=it}function i(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Dt,this.__views__=[]}function m(){var t=new i(this.__wrapped__);return t.__actions__=Vi(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Vi(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Vi(this.__views__),t}function S(){if(this.__filtered__){var t=new i(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Y(){var t=this.__wrapped__.value(),e=this.__dir__,n=mh(t),r=0>e,i=n?t.length:0,o=ko(0,i,this.__views__),a=o.start,u=o.end,s=u-a,c=r?u:a-1,f=this.__iteratees__,l=f.length,h=0,p=Zf(s,this.__takeCount__);if(!n||at>i||i==s&&p==s)return xi(t,this.__actions__);var v=[];t:for(;s--&&p>h;){c+=e;for(var d=-1,y=t[c];++dn)return!1;var r=e.length-1;return n==r?e.pop():Rf.call(e,n,1),--this.size,!0}function sn(t){var e=this.__data__,n=In(e,t);return 0>n?it:e[n][1]}function cn(t){return In(this.__data__,t)>-1}function fn(t,e){var n=this.__data__,r=In(n,t);return 0>r?(++this.size,n.push([t,e])):n[r][1]=e,this}function ln(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=t?t:n),e!==it&&(t=t>=e?t:e)),t}function Ln(t,e,n,r,i,o){var a,u=e&ht,s=e&pt,f=e&vt;if(n&&(a=i?n(t,r,i,o):n(t)),a!==it)return a;if(!us(t))return t;var l=mh(t);if(l){if(a=$o(t),!u)return Vi(t,a)}else{var h=Tl(t),p=h==Qt||h==Zt;if(xh(t))return Si(t,u);if(h==te||h==Ut||p&&!i){if(a=s||p?{}:Po(t),!u)return s?Wi(t,Mn(a,t)):Hi(t,Nn(a,t))}else{if(!Kn[h])return i?t:{};a=Io(t,h,Ln,u)}}o||(o=new mn);var v=o.get(t);if(v)return v;o.set(t,a);var d=f?s?mo:_o:s?Ws:Hs,y=l?it:d(t);return c(y||t,function(r,i){y&&(i=r,r=t[i]),Pn(a,i,Ln(r,e,n,i,t,o))}),a}function Vn(t){var e=Hs(t);return function(n){return Un(n,t,e)}}function Un(t,e,n){var r=n.length;if(null==t)return!r;for(t=lf(t);r--;){var i=n[r],o=e[i],a=t[i];if(a===it&&!(i in t)||!o(a))return!1}return!0}function Bn(t,e,n){if("function"!=typeof t)throw new vf(st);return Il(function(){t.apply(it,n)},e)}function qn(t,e,n,r){var i=-1,o=p,a=!0,u=t.length,s=[],c=e.length;if(!u)return s;n&&(e=d(e,N(n))),r?(o=v,a=!1):e.length>=at&&(o=F,a=!1,e=new gn(e));t:for(;++in&&(n=-n>i?0:i+n),r=r===it||r>i?i:Cs(r),0>r&&(r+=i),r=n>r?0:As(r);r>n;)t[n++]=e;return t}function tr(t,e){var n=[];return bl(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function er(t,e,n,r,i){var o=-1,a=t.length;for(n||(n=No),i||(i=[]);++o0&&n(u)?e>1?er(u,e-1,n,r,i):y(i,u):r||(i[i.length]=u)}return i}function nr(t,e){return t&&ml(t,e,Hs)}function or(t,e){return t&&wl(t,e,Hs)}function ar(t,e){return h(e,function(e){return is(t[e])})}function sr(t,e){e=Ei(e,t);for(var n=0,r=e.length;null!=t&&r>n;)t=t[na(e[n++])];return n&&n==r?t:it}function cr(t,e,n){var r=e(t);return mh(t)?r:y(r,n(t))}function lr(t){return null==t?t===it?ue:Xt:(t=lf(t),Ff&&Ff in t?Eo(t):Qo(t))}function hr(t,e){return t>e}function _r(t,e){return null!=t&&mf.call(t,e)}function Or(t,e){return null!=t&&e in lf(t)}function Ar(t,e,n){return t>=Zf(e,n)&&t=120&&f.length>=120)?new gn(a&&f):it}f=t[0];var l=-1,h=u[0];t:for(;++lt}function Br(t,e){var n=-1,r=Qu(t)?af(t.length):[];return bl(t,function(t,i,o){r[++n]=e(t,i,o)}),r}function qr(t){var e=Co(t);return 1==e.length&&e[0][2]?Wo(e[0][0],e[0][1]):function(n){return n===t||Mr(n,t,e)}}function Gr(t,e){return Do(t)&&Ho(e)?Wo(na(t),e):function(n){var r=Ls(n,t);return r===it&&r===e?Us(n,t):Ir(e,r,dt|yt)}}function Jr(t,e,n,r,i){t!==e&&ml(e,function(o,a){if(us(o))i||(i=new mn),Qr(t,e,a,n,Jr,r,i);else{var u=r?r(t[a],o,a+"",t,e,i):it;u===it&&(u=o),$n(t,a,u)}},Ws)}function Qr(t,e,n,r,i,o,a){var u=t[n],s=e[n],c=a.get(s);if(c)return void $n(t,n,c);var f=o?o(u,s,n+"",t,e,a):it,l=f===it;if(l){var h=mh(s),p=!h&&xh(s),v=!h&&!p&&Eh(s);f=s,h||p||v?mh(u)?f=u:Zu(u)?f=Vi(u):p?(l=!1,f=Si(s,!0)):v?(l=!1,f=Mi(s,!0)):f=[]:ys(s)||_h(s)?(f=u,_h(u)?f=ks(u):(!us(u)||r&&is(u))&&(f=Po(s))):l=!1}l&&(a.set(s,f),i(f,s,r,o,a),a["delete"](s)),$n(t,n,f)}function Zr(t,e){var n=t.length;if(n)return e+=0>e?n:0,Mo(e,n)?t[e]:it}function Yr(t,e,n){var r=-1;e=d(e.length?e:[Ic],N(Oo()));var i=Br(t,function(t,n,i){var o=d(e,function(e){return e(t)});return{criteria:o,index:++r,value:t}});return $(i,function(t,e){return Di(t,e,n)})}function Kr(t,e){return t=lf(t),Xr(t,e,function(e,n){return Us(t,n)})}function Xr(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)u!==t&&Rf.call(u,s,1),Rf.call(t,s,1);return t}function ni(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;Mo(i)?Rf.call(t,i,1):_i(t,i)}}return t}function ri(t,e){return t+Hf(Xf()*(e-t+1))}function ii(t,e,n,r){for(var i=-1,o=Qf(Uf((e-t)/(n||1)),0),a=af(o);o--;)a[r?o:++i]=t,t+=n;return a}function oi(t,e){var n="";if(!t||1>e||e>Nt)return n;do e%2&&(n+=t),e=Hf(e/2),e&&(t+=t);while(e);return n}function ai(t,e){return Rl(Zo(t,e,Ic),t+"")}function ui(t){return En(nc(t))}function si(t,e){var n=nc(t);return ea(n,zn(e,0,n.length))}function ci(t,e,n,r){if(!us(t))return t;e=Ei(e,t);for(var i=-1,o=e.length,a=o-1,u=t;null!=u&&++ie&&(e=-e>i?0:i+e),n=n>i?i:n,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=af(i);++r=i){for(;i>r;){var o=r+i>>>1,a=t[o];null!==a&&!_s(a)&&(n?e>=a:e>a)?r=o+1:i=o}return i}return vi(t,e,Ic,n)}function vi(t,e,n,r){e=n(e);for(var i=0,o=null==t?0:t.length,a=e!==e,u=null===e,s=_s(e),c=e===it;o>i;){var f=Hf((i+o)/2),l=n(t[f]),h=l!==it,p=null===l,v=l===l,d=_s(l);if(a)var y=r||v;else y=c?v&&(r||h):u?v&&h&&(r||!p):s?v&&h&&!p&&(r||!d):p||d?!1:r?e>=l:e>l;y?i=f+1:o=f}return Zf(o,zt)}function di(t,e){for(var n=-1,r=t.length,i=0,o=[];++n=at){var c=e?null:Al(t);if(c)return Q(c);a=!1,i=F,s=new gn}else s=e?[]:u;t:for(;++rr)return r?bi(t[0]):[];for(var i=-1,o=af(r);++ir?e[r]:it;n(a,t[r],u)}return a}function Ci(t){return Zu(t)?t:[]}function Ai(t){return"function"==typeof t?t:Ic}function Ei(t,e){return mh(t)?t:Do(t,e)?[t]:Nl(Ts(t))}function ki(t,e,n){var r=t.length;return n=n===it?r:n,!e&&n>=r?t:li(t,e,n)}function Si(t,e){if(e)return t.slice();var n=t.length,r=Tf?Tf(n):new t.constructor(n);return t.copy(r),r}function Ti(t){var e=new t.constructor(t.byteLength);return new Sf(e).set(new Sf(t)),e}function $i(t,e){var n=e?Ti(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Pi(t,e,n){var r=e?n(q(t),ht):q(t);return g(r,o,new t.constructor)}function Ii(t){var e=new t.constructor(t.source,qe.exec(t));return e.lastIndex=t.lastIndex,e}function Ri(t,e,n){var r=e?n(Q(t),ht):Q(t);return g(r,a,new t.constructor)}function Ni(t){return dl?lf(dl.call(t)):{}}function Mi(t,e){var n=e?Ti(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Fi(t,e){if(t!==e){var n=t!==it,r=null===t,i=t===t,o=_s(t),a=e!==it,u=null===e,s=e===e,c=_s(e);if(!u&&!c&&!o&&t>e||o&&a&&s&&!u&&!c||r&&a&&s||!n&&s||!i)return 1;if(!r&&!o&&!c&&e>t||c&&n&&i&&!r&&!o||u&&n&&i||!a&&i||!s)return-1}return 0}function Di(t,e,n){for(var r=-1,i=t.criteria,o=e.criteria,a=i.length,u=n.length;++r=u)return s;var c=n[r];return s*("desc"==c?-1:1)}}return t.index-e.index}function zi(t,e,n,r){for(var i=-1,o=t.length,a=n.length,u=-1,s=e.length,c=Qf(o-a,0),f=af(s+c),l=!r;++ui)&&(f[n[i]]=t[i]);for(;c--;)f[u++]=t[i++];return f}function Li(t,e,n,r){for(var i=-1,o=t.length,a=-1,u=n.length,s=-1,c=e.length,f=Qf(o-u,0),l=af(f+c),h=!r;++ii)&&(l[p+n[a]]=t[i++]);return l}function Vi(t,e){var n=-1,r=t.length;for(e||(e=af(r));++n1?n[i-1]:it,a=i>2?n[2]:it;for(o=t.length>3&&"function"==typeof o?(i--,o):it,a&&Fo(n[0],n[1],a)&&(o=3>i?it:o,i=1),e=lf(e);++ro&&a[0]!==c&&a[o-1]!==c?[]:J(a,c);if(o-=f.length,n>o)return fo(t,e,no,r.placeholder,it,a,f,it,it,n-o);var l=this&&this!==ur&&this instanceof r?i:t;return u(l,this,a)}var i=Ki(t);return r}function to(t){return function(e,n,r){var i=lf(e);if(!Qu(e)){var o=Oo(n,3);e=Hs(e),n=function(t){return o(i[t],t,i)}}var a=t(e,n,r);return a>-1?i[o?e[a]:a]:it}}function eo(t){return bo(function(e){var n=e.length,i=n,o=r.prototype.thru;for(t&&e.reverse();i--;){var a=e[i];if("function"!=typeof a)throw new vf(st);if(o&&!u&&"wrapper"==wo(a))var u=new r([],!0)}for(i=u?i:n;++i=at)return u.plant(r).value();for(var i=0,o=n?e[i].apply(this,t):r;++ig){var x=J(b,m);return fo(t,e,no,f.placeholder,n,b,x,u,s,c-g)}var O=h?n:this,j=p?O[t]:t;return g=b.length,u?b=Ko(b,u):d&&g>1&&b.reverse(),l&&g>s&&(b.length=s),this&&this!==ur&&this instanceof f&&(j=y||Ki(j)),j.apply(O,b)}var l=e&jt,h=e>,p=e&bt,v=e&(mt|wt),d=e&At,y=p?it:Ki(t);return f}function ro(t,e){return function(n,r){return kr(n,t,e(r),{})}}function io(t,e){return function(n,r){var i;if(n===it&&r===it)return e;if(n!==it&&(i=n),r!==it){if(i===it)return r;"string"==typeof n||"string"==typeof r?(n=gi(n),r=gi(r)):(n=yi(n),r=yi(r)),i=t(n,r)}return i}}function oo(t){return bo(function(e){return e=d(e,N(Oo())),ai(function(n){var r=this;return t(e,function(t){return u(t,r,n)})})})}function ao(t,e){e=e===it?" ":gi(e);var n=e.length;if(2>n)return n?oi(e,t):e;var r=oi(e,Uf(t/X(e)));return H(e)?ki(tt(r),0,t).join(""):r.slice(0,t)}function uo(t,e,n,r){function i(){for(var e=-1,s=arguments.length,c=-1,f=r.length,l=af(f+s),h=this&&this!==ur&&this instanceof i?a:t;++ce?1:-1:js(r),ii(e,n,r,t)}}function co(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=Es(e),n=Es(n)),t(e,n)}}function fo(t,e,n,r,i,o,a,u,s,c){var f=e&mt,l=f?a:it,h=f?it:a,p=f?o:it,v=f?it:o;e|=f?xt:Ot,e&=~(f?Ot:xt),e&_t||(e&=~(gt|bt));var d=[t,e,i,p,l,v,h,u,s,c],y=n.apply(it,d);return Lo(t)&&Pl(y,d),y.placeholder=r,Xo(y,t,e)}function lo(t){var e=ff[t];return function(t,n){if(t=Es(t),n=Zf(Cs(n),292)){var r=(Ts(t)+"e").split("e"),i=e(r[0]+"e"+(+r[1]+n));return r=(Ts(i)+"e").split("e"),+(r[0]+"e"+(+r[1]-n))}return e(t)}}function ho(t){return function(e){var n=Tl(e);return n==Yt?q(e):n==ie?Z(e):R(e,t(e))}}function po(t,e,n,r,i,o,a,u){var s=e&bt;if(!s&&"function"!=typeof t)throw new vf(st);var c=r?r.length:0;if(c||(e&=~(xt|Ot),r=i=it),a=a===it?a:Qf(Cs(a),0),u=u===it?u:Cs(u),c-=i?i.length:0,e&Ot){var f=r,l=i;r=i=it}var h=s?it:El(t),p=[t,e,n,r,i,f,l,o,a,u];if(h&&qo(p,h),t=p[0],e=p[1],n=p[2],r=p[3],i=p[4],u=p[9]=null==p[9]?s?0:t.length:Qf(p[9]-c,0),!u&&e&(mt|wt)&&(e&=~(mt|wt)),e&&e!=gt)v=e==mt||e==wt?Xi(t,e,u):e!=xt&&e!=(gt|xt)||i.length?no.apply(it,p):uo(t,e,n,r);else var v=Qi(t,e,n);var d=h?xl:Pl;return Xo(d(v,p),t,e)}function vo(t,e,n,r,i,o){var a=n&dt,u=t.length,s=e.length;if(u!=s&&!(a&&s>u))return!1;var c=o.get(t);if(c&&o.get(e))return c==e;var f=-1,l=!0,h=n&yt?new gn:it;for(o.set(t,e),o.set(e,t);++f1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Le,"{\n/* [wrapped with "+e+"] */\n")}function No(t){return mh(t)||_h(t)||!!(Nf&&t&&t[Nf])}function Mo(t,e){return e=null==e?Nt:e,!!e&&("number"==typeof t||Ye.test(t))&&t>-1&&t%1==0&&e>t}function Fo(t,e,n){if(!us(n))return!1;var r=typeof e;return("number"==r?Qu(n)&&Mo(e,n.length):"string"==r&&e in n)?Ju(n[e],t):!1}function Do(t,e){if(mh(t))return!1;var n=typeof t;return"number"==n||"symbol"==n||"boolean"==n||null==t||_s(t)?!0:Pe.test(t)||!$e.test(t)||null!=e&&t in lf(e)}function zo(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function Lo(t){var n=wo(t),r=e[n];if("function"!=typeof r||!(n in i.prototype))return!1;if(t===r)return!0;var o=El(r);return!!o&&t===o[0]}function Vo(t){return!!xf&&xf in t}function Uo(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||gf;return t===n}function Ho(t){return t===t&&!us(t)}function Wo(t,e){return function(n){return null==n?!1:n[t]===e&&(e!==it||t in lf(n))}}function Bo(t){var e=Ru(t,function(t){return n.size===ft&&n.clear(),t}),n=e.cache;return e}function qo(t,e){var n=t[1],r=e[1],i=n|r,o=(gt|bt|jt)>i,a=r==jt&&n==mt||r==jt&&n==Ct&&t[7].length<=e[8]||r==(jt|Ct)&&e[7].length<=e[8]&&n==mt;if(!o&&!a)return t;r>&&(t[2]=e[2],i|=n>?0:_t);var u=e[3];if(u){var s=t[3];t[3]=s?zi(s,u,e[4]):u,t[4]=s?J(t[3],lt):e[4]}return u=e[5],u&&(s=t[5],t[5]=s?Li(s,u,e[6]):u,t[6]=s?J(t[5],lt):e[6]),u=e[7],u&&(t[7]=u),r&jt&&(t[8]=null==t[8]?e[8]:Zf(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function Go(t,e,n,r,i,o){return us(t)&&us(e)&&(o.set(e,t),Jr(t,e,it,Go,o),o["delete"](e)),t}function Jo(t){var e=[];if(null!=t)for(var n in lf(t))e.push(n);return e}function Qo(t){return Of.call(t)}function Zo(t,e,n){return e=Qf(e===it?t.length-1:e,0),function(){for(var r=arguments,i=-1,o=Qf(r.length-e,0),a=af(o);++i0){if(++e>=St)return arguments[0]}else e=0;return t.apply(it,arguments)}}function ea(t,e){var n=-1,r=t.length,i=r-1;for(e=e===it?r:e;++ne)return[];for(var i=0,o=0,a=af(Uf(r/e));r>i;)a[o++]=li(t,i,i+=e);return a}function ua(t){for(var e=-1,n=null==t?0:t.length,r=0,i=[];++ee?0:e,r)):[]}function fa(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:Cs(e),e=r-e,li(t,0,0>e?0:e)):[]}function la(t,e){return t&&t.length?wi(t,Oo(e,3),!0,!0):[]}function ha(t,e){return t&&t.length?wi(t,Oo(e,3),!0):[]}function pa(t,e,n,r){var i=null==t?0:t.length;return i?(n&&"number"!=typeof n&&Fo(t,e,n)&&(n=0,r=i),Xn(t,e,n,r)):[]}function va(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Cs(n);return 0>i&&(i=Qf(r+i,0)),O(t,Oo(e,3),i)}function da(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r-1;return n!==it&&(i=Cs(n),i=0>n?Qf(r+i,0):Zf(i,r-1)),O(t,Oo(e,3),i,!0)}function ya(t){var e=null==t?0:t.length;return e?er(t,1):[]}function ga(t){var e=null==t?0:t.length;return e?er(t,Rt):[]}function ba(t,e){var n=null==t?0:t.length;return n?(e=e===it?1:Cs(e),er(t,e)):[]}function _a(t){for(var e=-1,n=null==t?0:t.length,r={};++ei&&(i=Qf(r+i,0)),j(t,e,i)}function xa(t){var e=null==t?0:t.length;return e?li(t,0,-1):[]}function Oa(t,e){return null==t?"":Gf.call(t,e)}function ja(t){var e=null==t?0:t.length;return e?t[e-1]:it}function Ca(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r;return n!==it&&(i=Cs(n),i=0>i?Qf(r+i,0):Zf(i,r-1)),e===e?K(t,e,i):O(t,A,i,!0)}function Aa(t,e){return t&&t.length?Zr(t,Cs(e)):it}function Ea(t,e){return t&&t.length&&e&&e.length?ei(t,e):t}function ka(t,e,n){return t&&t.length&&e&&e.length?ei(t,e,Oo(n,2)):t}function Sa(t,e,n){return t&&t.length&&e&&e.length?ei(t,e,it,n):t}function Ta(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],o=t.length;for(e=Oo(e,3);++rr&&Ju(t[r],e))return r}return-1}function Ma(t,e){return pi(t,e,!0)}function Fa(t,e,n){return vi(t,e,Oo(n,2),!0)}function Da(t,e){var n=null==t?0:t.length;if(n){var r=pi(t,e,!0)-1;if(Ju(t[r],e))return r}return-1}function za(t){return t&&t.length?di(t):[]}function La(t,e){return t&&t.length?di(t,Oo(e,2)):[]}function Va(t){var e=null==t?0:t.length;return e?li(t,1,e):[]}function Ua(t,e,n){return t&&t.length?(e=n||e===it?1:Cs(e),li(t,0,0>e?0:e)):[]}function Ha(t,e,n){var r=null==t?0:t.length;return r?(e=n||e===it?1:Cs(e),e=r-e,li(t,0>e?0:e,r)):[]}function Wa(t,e){return t&&t.length?wi(t,Oo(e,3),!1,!0):[]}function Ba(t,e){return t&&t.length?wi(t,Oo(e,3)):[]}function qa(t){return t&&t.length?bi(t):[]}function Ga(t,e){return t&&t.length?bi(t,Oo(e,2)):[]}function Ja(t,e){return e="function"==typeof e?e:it,t&&t.length?bi(t,it,e):[]}function Qa(t){if(!t||!t.length)return[];var e=0;return t=h(t,function(t){return Zu(t)?(e=Qf(t.length,e),!0):void 0}),I(e,function(e){return d(t,k(e))})}function Za(t,e){if(!t||!t.length)return[];var n=Qa(t);return null==e?n:d(n,function(t){return u(e,it,t)})}function Ya(t,e){return ji(t||[],e||[],Pn)}function Ka(t,e){return ji(t||[],e||[],ci)}function Xa(t){var n=e(t);return n.__chain__=!0,n}function tu(t,e){return e(t),t}function eu(t,e){return e(t)}function nu(){return Xa(this)}function ru(){return new r(this.value(),this.__chain__)}function iu(){this.__values__===it&&(this.__values__=Os(this.value()));var t=this.__index__>=this.__values__.length,e=t?it:this.__values__[this.__index__++];return{done:t,value:e}}function ou(){return this}function au(t){for(var e,r=this;r instanceof n;){var i=oa(r);i.__index__=0,i.__values__=it,e?o.__wrapped__=i:e=i;var o=i;r=r.__wrapped__}return o.__wrapped__=t,e}function uu(){var t=this.__wrapped__;if(t instanceof i){var e=t;return this.__actions__.length&&(e=new i(this)),e=e.reverse(),e.__actions__.push({func:eu,args:[$a],thisArg:it}),new r(e,this.__chain__)}return this.thru($a)}function su(){return xi(this.__wrapped__,this.__actions__)}function cu(t,e,n){var r=mh(t)?l:Gn;return n&&Fo(t,e,n)&&(e=it),r(t,Oo(e,3))}function fu(t,e){var n=mh(t)?h:tr;return n(t,Oo(e,3))}function lu(t,e){return er(gu(t,e),1)}function hu(t,e){return er(gu(t,e),Rt)}function pu(t,e,n){return n=n===it?1:Cs(n),er(gu(t,e),n)}function vu(t,e){var n=mh(t)?c:bl;return n(t,Oo(e,3))}function du(t,e){var n=mh(t)?f:_l;return n(t,Oo(e,3))}function yu(t,e,n,r){t=Qu(t)?t:nc(t),n=n&&!r?Cs(n):0;var i=t.length;return 0>n&&(n=Qf(i+n,0)),bs(t)?i>=n&&t.indexOf(e,n)>-1:!!i&&j(t,e,n)>-1}function gu(t,e){var n=mh(t)?d:Br;return n(t,Oo(e,3))}function bu(t,e,n,r){return null==t?[]:(mh(e)||(e=null==e?[]:[e]),n=r?it:n,mh(n)||(n=null==n?[]:[n]),Yr(t,e,n))}function _u(t,e,n){var r=mh(t)?g:T,i=arguments.length<3;return r(t,Oo(e,4),n,i,bl)}function mu(t,e,n){var r=mh(t)?b:T,i=arguments.length<3;return r(t,Oo(e,4),n,i,_l)}function wu(t,e){var n=mh(t)?h:tr;return n(t,Nu(Oo(e,3)))}function xu(t){var e=mh(t)?En:ui;return e(t)}function Ou(t,e,n){e=(n?Fo(t,e,n):e===it)?1:Cs(e);var r=mh(t)?kn:si;return r(t,e)}function ju(t){var e=mh(t)?Sn:fi;return e(t)}function Cu(t){if(null==t)return 0;if(Qu(t))return bs(t)?X(t):t.length;var e=Tl(t);return e==Yt||e==ie?t.size:Ur(t).length}function Au(t,e,n){var r=mh(t)?_:hi;return n&&Fo(t,e,n)&&(e=it),r(t,Oo(e,3))}function Eu(t,e){if("function"!=typeof e)throw new vf(st);return t=Cs(t),function(){return--t<1?e.apply(this,arguments):void 0}}function ku(t,e,n){return e=n?it:e,e=t&&null==e?t.length:e,po(t,jt,it,it,it,it,e)}function Su(t,e){var n;if("function"!=typeof e)throw new vf(st);return t=Cs(t),function(){return--t>0&&(n=e.apply(this,arguments)),1>=t&&(e=it),n}}function Tu(t,e,n){e=n?it:e;var r=po(t,mt,it,it,it,it,it,e);return r.placeholder=Tu.placeholder,r}function $u(t,e,n){e=n?it:e;var r=po(t,wt,it,it,it,it,it,e);return r.placeholder=$u.placeholder,r}function Pu(t,e,n){function r(e){var n=h,r=p;return h=p=it,b=e,d=t.apply(r,n)}function i(t){return b=t,y=Il(u,e),_?r(t):d}function o(t){var n=t-g,r=t-b,i=e-n;return m?Zf(i,v-r):i}function a(t){var n=t-g,r=t-b;return g===it||n>=e||0>n||m&&r>=v}function u(){var t=sh();return a(t)?s(t):void(y=Il(u,o(t)))}function s(t){return y=it,w&&h?r(t):(h=p=it,d)}function c(){y!==it&&Cl(y),b=0,h=g=p=y=it}function f(){return y===it?d:s(sh())}function l(){var t=sh(),n=a(t);if(h=arguments,p=this,g=t,n){if(y===it)return i(g);if(m)return y=Il(u,e),r(g)}return y===it&&(y=Il(u,e)),d}var h,p,v,d,y,g,b=0,_=!1,m=!1,w=!0;if("function"!=typeof t)throw new vf(st);return e=Es(e)||0,us(n)&&(_=!!n.leading,m="maxWait"in n,v=m?Qf(Es(n.maxWait)||0,e):v,w="trailing"in n?!!n.trailing:w),l.cancel=c,l.flush=f,l}function Iu(t){return po(t,At)}function Ru(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new vf(st);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Ru.Cache||ln),n}function Nu(t){if("function"!=typeof t)throw new vf(st);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Mu(t){return Su(2,t)}function Fu(t,e){if("function"!=typeof t)throw new vf(st);return e=e===it?e:Cs(e),ai(t,e)}function Du(t,e){if("function"!=typeof t)throw new vf(st);return e=e===it?0:Qf(Cs(e),0),ai(function(n){var r=n[e],i=ki(n,0,e);return r&&y(i,r),u(t,this,i)})}function zu(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new vf(st);return us(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Pu(t,e,{leading:r,maxWait:e,trailing:i})}function Lu(t){return ku(t,1)}function Vu(t,e){return vh(Ai(e),t)}function Uu(){if(!arguments.length)return[];var t=arguments[0];return mh(t)?t:[t]}function Hu(t){return Ln(t,vt)}function Wu(t,e){return e="function"==typeof e?e:it,Ln(t,vt,e)}function Bu(t){return Ln(t,ht|vt)}function qu(t,e){return e="function"==typeof e?e:it,Ln(t,ht|vt,e)}function Gu(t,e){return null==e||Un(t,e,Hs(e))}function Ju(t,e){return t===e||t!==t&&e!==e}function Qu(t){return null!=t&&as(t.length)&&!is(t)}function Zu(t){return ss(t)&&Qu(t)}function Yu(t){return t===!0||t===!1||ss(t)&&lr(t)==Bt}function Ku(t){return ss(t)&&1===t.nodeType&&!ys(t)}function Xu(t){if(null==t)return!0;if(Qu(t)&&(mh(t)||"string"==typeof t||"function"==typeof t.splice||xh(t)||Eh(t)||_h(t)))return!t.length;var e=Tl(t);if(e==Yt||e==ie)return!t.size;if(Uo(t))return!Ur(t).length;for(var n in t)if(mf.call(t,n))return!1;return!0}function ts(t,e){return Ir(t,e)}function es(t,e,n){n="function"==typeof n?n:it;var r=n?n(t,e):it;return r===it?Ir(t,e,it,n):!!r}function ns(t){if(!ss(t))return!1;var e=lr(t);return e==Jt||e==Gt||"string"==typeof t.message&&"string"==typeof t.name&&!ys(t)}function rs(t){return"number"==typeof t&&qf(t)}function is(t){if(!us(t))return!1;var e=lr(t);return e==Qt||e==Zt||e==Wt||e==ne}function os(t){return"number"==typeof t&&t==Cs(t)}function as(t){return"number"==typeof t&&t>-1&&t%1==0&&Nt>=t}function us(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function ss(t){return null!=t&&"object"==typeof t}function cs(t,e){return t===e||Mr(t,e,Co(e))}function fs(t,e,n){return n="function"==typeof n?n:it,Mr(t,e,Co(e),n)}function ls(t){return ds(t)&&t!=+t}function hs(t){if($l(t))throw new sf(ut);return Fr(t)}function ps(t){return null===t}function vs(t){return null==t}function ds(t){return"number"==typeof t||ss(t)&&lr(t)==Kt}function ys(t){if(!ss(t)||lr(t)!=te)return!1;var e=$f(t);if(null===e)return!0;var n=mf.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&_f.call(n)==jf}function gs(t){return os(t)&&t>=-Nt&&Nt>=t}function bs(t){return"string"==typeof t||!mh(t)&&ss(t)&&lr(t)==oe}function _s(t){return"symbol"==typeof t||ss(t)&&lr(t)==ae}function ms(t){return t===it}function ws(t){return ss(t)&&Tl(t)==se}function xs(t){return ss(t)&&lr(t)==ce}function Os(t){if(!t)return[];if(Qu(t))return bs(t)?tt(t):Vi(t);if(Mf&&t[Mf])return B(t[Mf]());var e=Tl(t),n=e==Yt?q:e==ie?Q:nc;return n(t)}function js(t){if(!t)return 0===t?t:0;if(t=Es(t),t===Rt||t===-Rt){var e=0>t?-1:1;return e*Mt}return t===t?t:0}function Cs(t){var e=js(t),n=e%1;return e===e?n?e-n:e:0}function As(t){return t?zn(Cs(t),0,Dt):0}function Es(t){if("number"==typeof t)return t;if(_s(t))return Ft;if(us(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=us(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Fe,"");var n=Je.test(t);return n||Ze.test(t)?ir(t.slice(2),n?2:8):Ge.test(t)?Ft:+t}function ks(t){return Ui(t,Ws(t))}function Ss(t){return zn(Cs(t),-Nt,Nt)}function Ts(t){return null==t?"":gi(t)}function $s(t,e){var n=gl(t);return null==e?n:Nn(n,e)}function Ps(t,e){return x(t,Oo(e,3),nr)}function Is(t,e){return x(t,Oo(e,3),or)}function Rs(t,e){return null==t?t:ml(t,Oo(e,3),Ws)}function Ns(t,e){return null==t?t:wl(t,Oo(e,3),Ws)}function Ms(t,e){return t&&nr(t,Oo(e,3))}function Fs(t,e){return t&&or(t,Oo(e,3))}function Ds(t){return null==t?[]:ar(t,Hs(t))}function zs(t){return null==t?[]:ar(t,Ws(t))}function Ls(t,e,n){var r=null==t?it:sr(t,e);return r===it?n:r}function Vs(t,e){return null!=t&&To(t,e,_r)}function Us(t,e){return null!=t&&To(t,e,Or)}function Hs(t){return Qu(t)?An(t):Ur(t)}function Ws(t){return Qu(t)?An(t,!0):Hr(t)}function Bs(t,e){var n={};return e=Oo(e,3),nr(t,function(t,r,i){Fn(n,e(t,r,i),t)}),n}function qs(t,e){var n={};return e=Oo(e,3),nr(t,function(t,r,i){Fn(n,r,e(t,r,i))}),n}function Gs(t,e){return Js(t,Nu(Oo(e)))}function Js(t,e){if(null==t)return{};var n=d(mo(t),function(t){return[t]});return e=Oo(e),Xr(t,n,function(t,n){return e(t,n[0])})}function Qs(t,e,n){e=Ei(e,t);var r=-1,i=e.length;for(i||(i=1,t=it);++re){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Xf();return Zf(t+i*(e-t+rr("1e-"+((i+"").length-1))),e)}return ri(t,e)}function uc(t){return Xh(Ts(t).toLowerCase())}function sc(t){return t=Ts(t),t&&t.replace(Ke,mr).replace(Wn,"")}function cc(t,e,n){t=Ts(t),e=gi(e);var r=t.length;n=n===it?r:zn(Cs(n),0,r);var i=n;return n-=e.length,n>=0&&t.slice(n,i)==e}function fc(t){return t=Ts(t),t&&Ee.test(t)?t.replace(Ce,wr):t}function lc(t){return t=Ts(t),t&&Me.test(t)?t.replace(Ne,"\\$&"):t}function hc(t,e,n){t=Ts(t),e=Cs(e);var r=e?X(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return ao(Hf(i),n)+t+ao(Uf(i),n)}function pc(t,e,n){t=Ts(t),e=Cs(e);var r=e?X(t):0;return e&&e>r?t+ao(e-r,n):t}function vc(t,e,n){t=Ts(t),e=Cs(e);var r=e?X(t):0;return e&&e>r?ao(e-r,n)+t:t}function dc(t,e,n){return n||null==e?e=0:e&&(e=+e),Kf(Ts(t).replace(De,""),e||0)}function yc(t,e,n){return e=(n?Fo(t,e,n):e===it)?1:Cs(e),oi(Ts(t),e)}function gc(){var t=arguments,e=Ts(t[0]);return t.length<3?e:e.replace(t[1],t[2])}function bc(t,e,n){return n&&"number"!=typeof n&&Fo(t,e,n)&&(e=n=it),(n=n===it?Dt:n>>>0)?(t=Ts(t),t&&("string"==typeof e||null!=e&&!Ch(e))&&(e=gi(e),!e&&H(t))?ki(tt(t),0,n):t.split(e,n)):[]}function _c(t,e,n){return t=Ts(t),n=zn(Cs(n),0,t.length),e=gi(e),t.slice(n,n+e.length)==e}function mc(t,n,r){var i=e.templateSettings;r&&Fo(t,n,r)&&(n=it),t=Ts(t),n=Ph({},n,i,Tn);var o,a,u=Ph({},n.imports,i.imports,Tn),s=Hs(u),c=M(u,s),f=0,l=n.interpolate||Xe,h="__p += '",p=hf((n.escape||Xe).source+"|"+l.source+"|"+(l===Te?Be:Xe).source+"|"+(n.evaluate||Xe).source+"|$","g"),v="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++Zn+"]")+"\n";t.replace(p,function(e,n,r,i,u,s){return r||(r=i),h+=t.slice(f,s).replace(tn,V),n&&(o=!0,h+="' +\n__e("+n+") +\n'"),u&&(a=!0,h+="';\n"+u+";\n__p += '"),r&&(h+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),f=s+e.length,e}),h+="';\n";var d=n.variable;d||(h="with (obj) {\n"+h+"\n}\n"),h=(a?h.replace(we,""):h).replace(xe,"$1").replace(Oe,"$1;"),h="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(o?", __e = _.escape":"")+(a?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var y=tp(function(){return cf(s,v+"return "+h).apply(it,c)});if(y.source=h,ns(y))throw y;return y}function wc(t){return Ts(t).toLowerCase()}function xc(t){return Ts(t).toUpperCase()}function Oc(t,e,n){if(t=Ts(t),t&&(n||e===it))return t.replace(Fe,"");if(!t||!(e=gi(e)))return t;var r=tt(t),i=tt(e),o=D(r,i),a=z(r,i)+1;return ki(r,o,a).join("")}function jc(t,e,n){if(t=Ts(t),t&&(n||e===it))return t.replace(ze,"");if(!t||!(e=gi(e)))return t;var r=tt(t),i=z(r,tt(e))+1;return ki(r,0,i).join("")}function Cc(t,e,n){if(t=Ts(t),t&&(n||e===it))return t.replace(De,"");if(!t||!(e=gi(e)))return t;var r=tt(t),i=D(r,tt(e));return ki(r,i).join("")}function Ac(t,e){var n=Et,r=kt;if(us(e)){var i="separator"in e?e.separator:i;n="length"in e?Cs(e.length):n,r="omission"in e?gi(e.omission):r}t=Ts(t);var o=t.length;if(H(t)){var a=tt(t);o=a.length}if(n>=o)return t;var u=n-X(r);if(1>u)return r;var s=a?ki(a,0,u).join(""):t.slice(0,u);if(i===it)return s+r;if(a&&(u+=s.length-u),Ch(i)){if(t.slice(u).search(i)){var c,f=s;for(i.global||(i=hf(i.source,Ts(qe.exec(i))+"g")),i.lastIndex=0;c=i.exec(f);)var l=c.index;s=s.slice(0,l===it?u:l)}}else if(t.indexOf(gi(i),u)!=u){var h=s.lastIndexOf(i);h>-1&&(s=s.slice(0,h))}return s+r}function Ec(t){return t=Ts(t),t&&Ae.test(t)?t.replace(je,xr):t}function kc(t,e,n){return t=Ts(t),e=n?it:e,e===it?W(t)?rt(t):w(t):t.match(e)||[]}function Sc(t){var e=null==t?0:t.length,n=Oo();return t=e?d(t,function(t){if("function"!=typeof t[1])throw new vf(st);return[n(t[0]),t[1]]}):[],ai(function(n){for(var r=-1;++rt||t>Nt)return[];var n=Dt,r=Zf(t,Dt);e=Oo(e),t-=Dt;for(var i=I(r,e);++n1?t[e-1]:it;return n="function"==typeof n?(t.pop(),n):it,Za(t,n)}),Xl=bo(function(t){var e=t.length,n=e?t[0]:0,o=this.__wrapped__,a=function(e){return Dn(e,t)};return!(e>1||this.__actions__.length)&&o instanceof i&&Mo(n)?(o=o.slice(n,+n+(e?1:0)),o.__actions__.push({func:eu,args:[a],thisArg:it}),new r(o,this.__chain__).thru(function(t){return e&&!t.length&&t.push(it),t})):this.thru(a)}),th=Bi(function(t,e,n){mf.call(t,n)?++t[n]:Fn(t,n,1)}),eh=to(va),nh=to(da),rh=Bi(function(t,e,n){mf.call(t,n)?t[n].push(e):Fn(t,n,[e])}),ih=ai(function(t,e,n){var r=-1,i="function"==typeof e,o=Qu(t)?af(t.length):[];return bl(t,function(t){o[++r]=i?u(e,t,n):Sr(t,e,n)}),o}),oh=Bi(function(t,e,n){Fn(t,n,e)}),ah=Bi(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),uh=ai(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Fo(t,e[0],e[1])?e=[]:n>2&&Fo(e[0],e[1],e[2])&&(e=[e[0]]),Yr(t,er(e,1),[])}),sh=Lf||function(){return ur.Date.now()},ch=ai(function(t,e,n){var r=gt;if(n.length){var i=J(n,xo(ch));r|=xt}return po(t,r,e,n,i)}),fh=ai(function(t,e,n){var r=gt|bt;if(n.length){var i=J(n,xo(fh));r|=xt}return po(e,r,t,n,i)}),lh=ai(function(t,e){return Bn(t,1,e)}),hh=ai(function(t,e,n){return Bn(t,Es(e)||0,n)});Ru.Cache=ln;var ph=jl(function(t,e){e=1==e.length&&mh(e[0])?d(e[0],N(Oo())):d(er(e,1),N(Oo()));var n=e.length;return ai(function(r){for(var i=-1,o=Zf(r.length,n);++i=e}),_h=Tr(function(){return arguments}())?Tr:function(t){return ss(t)&&mf.call(t,"callee")&&!If.call(t,"callee")},mh=af.isArray,wh=pr?N(pr):$r,xh=Bf||Wc,Oh=vr?N(vr):Pr,jh=dr?N(dr):Nr,Ch=yr?N(yr):Dr,Ah=gr?N(gr):zr,Eh=br?N(br):Lr,kh=co(Wr),Sh=co(function(t,e){return e>=t}),Th=qi(function(t,e){if(Uo(e)||Qu(e))return void Ui(e,Hs(e),t);for(var n in e)mf.call(e,n)&&Pn(t,n,e[n])}),$h=qi(function(t,e){Ui(e,Ws(e),t)}),Ph=qi(function(t,e,n,r){Ui(e,Ws(e),t,r)}),Ih=qi(function(t,e,n,r){Ui(e,Hs(e),t,r)}),Rh=bo(Dn),Nh=ai(function(t){return t.push(it,Tn),u(Ph,it,t)}),Mh=ai(function(t){return t.push(it,Go),u(Vh,it,t)}),Fh=ro(function(t,e,n){t[e]=n},$c(Ic)),Dh=ro(function(t,e,n){mf.call(t,e)?t[e].push(n):t[e]=[n]},Oo),zh=ai(Sr),Lh=qi(function(t,e,n){Jr(t,e,n)}),Vh=qi(function(t,e,n,r){Jr(t,e,n,r)}),Uh=bo(function(t,e){var n={};if(null==t)return n;var r=!1;e=d(e,function(e){return e=Ei(e,t),r||(r=e.length>1),e}),Ui(t,mo(t),n),r&&(n=Ln(n,ht|pt|vt));for(var i=e.length;i--;)_i(n,e[i]);return n}),Hh=bo(function(t,e){return null==t?{}:Kr(t,e)}),Wh=ho(Hs),Bh=ho(Ws),qh=Yi(function(t,e,n){return e=e.toLowerCase(),t+(n?uc(e):e)}),Gh=Yi(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),Jh=Yi(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),Qh=Zi("toLowerCase"),Zh=Yi(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Yh=Yi(function(t,e,n){return t+(n?" ":"")+Xh(e)}),Kh=Yi(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Xh=Zi("toUpperCase"),tp=ai(function(t,e){try{return u(t,it,e)}catch(n){return ns(n)?n:new sf(n)}}),ep=bo(function(t,e){return c(e,function(e){e=na(e),Fn(t,e,ch(t[e],t))}),t}),np=eo(),rp=eo(!0),ip=ai(function(t,e){return function(n){return Sr(n,t,e)}}),op=ai(function(t,e){return function(n){return Sr(t,n,e)}}),ap=oo(d),up=oo(l),sp=oo(_),cp=so(),fp=so(!0),lp=io(function(t,e){return t+e},0),hp=lo("ceil"),pp=io(function(t,e){return t/e},1),vp=lo("floor"),dp=io(function(t,e){return t*e},1),yp=lo("round"),gp=io(function(t,e){return t-e},0);return e.after=Eu,e.ary=ku,e.assign=Th,e.assignIn=$h,e.assignInWith=Ph, +e.assignWith=Ih,e.at=Rh,e.before=Su,e.bind=ch,e.bindAll=ep,e.bindKey=fh,e.castArray=Uu,e.chain=Xa,e.chunk=aa,e.compact=ua,e.concat=sa,e.cond=Sc,e.conforms=Tc,e.constant=$c,e.countBy=th,e.create=$s,e.curry=Tu,e.curryRight=$u,e.debounce=Pu,e.defaults=Nh,e.defaultsDeep=Mh,e.defer=lh,e.delay=hh,e.difference=Ml,e.differenceBy=Fl,e.differenceWith=Dl,e.drop=ca,e.dropRight=fa,e.dropRightWhile=la,e.dropWhile=ha,e.fill=pa,e.filter=fu,e.flatMap=lu,e.flatMapDeep=hu,e.flatMapDepth=pu,e.flatten=ya,e.flattenDeep=ga,e.flattenDepth=ba,e.flip=Iu,e.flow=np,e.flowRight=rp,e.fromPairs=_a,e.functions=Ds,e.functionsIn=zs,e.groupBy=rh,e.initial=xa,e.intersection=zl,e.intersectionBy=Ll,e.intersectionWith=Vl,e.invert=Fh,e.invertBy=Dh,e.invokeMap=ih,e.iteratee=Rc,e.keyBy=oh,e.keys=Hs,e.keysIn=Ws,e.map=gu,e.mapKeys=Bs,e.mapValues=qs,e.matches=Nc,e.matchesProperty=Mc,e.memoize=Ru,e.merge=Lh,e.mergeWith=Vh,e.method=ip,e.methodOf=op,e.mixin=Fc,e.negate=Nu,e.nthArg=Lc,e.omit=Uh,e.omitBy=Gs,e.once=Mu,e.orderBy=bu,e.over=ap,e.overArgs=ph,e.overEvery=up,e.overSome=sp,e.partial=vh,e.partialRight=dh,e.partition=ah,e.pick=Hh,e.pickBy=Js,e.property=Vc,e.propertyOf=Uc,e.pull=Ul,e.pullAll=Ea,e.pullAllBy=ka,e.pullAllWith=Sa,e.pullAt=Hl,e.range=cp,e.rangeRight=fp,e.rearg=yh,e.reject=wu,e.remove=Ta,e.rest=Fu,e.reverse=$a,e.sampleSize=Ou,e.set=Zs,e.setWith=Ys,e.shuffle=ju,e.slice=Pa,e.sortBy=uh,e.sortedUniq=za,e.sortedUniqBy=La,e.split=bc,e.spread=Du,e.tail=Va,e.take=Ua,e.takeRight=Ha,e.takeRightWhile=Wa,e.takeWhile=Ba,e.tap=tu,e.throttle=zu,e.thru=eu,e.toArray=Os,e.toPairs=Wh,e.toPairsIn=Bh,e.toPath=Qc,e.toPlainObject=ks,e.transform=Ks,e.unary=Lu,e.union=Wl,e.unionBy=Bl,e.unionWith=ql,e.uniq=qa,e.uniqBy=Ga,e.uniqWith=Ja,e.unset=Xs,e.unzip=Qa,e.unzipWith=Za,e.update=tc,e.updateWith=ec,e.values=nc,e.valuesIn=rc,e.without=Gl,e.words=kc,e.wrap=Vu,e.xor=Jl,e.xorBy=Ql,e.xorWith=Zl,e.zip=Yl,e.zipObject=Ya,e.zipObjectDeep=Ka,e.zipWith=Kl,e.entries=Wh,e.entriesIn=Bh,e.extend=$h,e.extendWith=Ph,Fc(e,e),e.add=lp,e.attempt=tp,e.camelCase=qh,e.capitalize=uc,e.ceil=hp,e.clamp=ic,e.clone=Hu,e.cloneDeep=Bu,e.cloneDeepWith=qu,e.cloneWith=Wu,e.conformsTo=Gu,e.deburr=sc,e.defaultTo=Pc,e.divide=pp,e.endsWith=cc,e.eq=Ju,e.escape=fc,e.escapeRegExp=lc,e.every=cu,e.find=eh,e.findIndex=va,e.findKey=Ps,e.findLast=nh,e.findLastIndex=da,e.findLastKey=Is,e.floor=vp,e.forEach=vu,e.forEachRight=du,e.forIn=Rs,e.forInRight=Ns,e.forOwn=Ms,e.forOwnRight=Fs,e.get=Ls,e.gt=gh,e.gte=bh,e.has=Vs,e.hasIn=Us,e.head=ma,e.identity=Ic,e.includes=yu,e.indexOf=wa,e.inRange=oc,e.invoke=zh,e.isArguments=_h,e.isArray=mh,e.isArrayBuffer=wh,e.isArrayLike=Qu,e.isArrayLikeObject=Zu,e.isBoolean=Yu,e.isBuffer=xh,e.isDate=Oh,e.isElement=Ku,e.isEmpty=Xu,e.isEqual=ts,e.isEqualWith=es,e.isError=ns,e.isFinite=rs,e.isFunction=is,e.isInteger=os,e.isLength=as,e.isMap=jh,e.isMatch=cs,e.isMatchWith=fs,e.isNaN=ls,e.isNative=hs,e.isNil=vs,e.isNull=ps,e.isNumber=ds,e.isObject=us,e.isObjectLike=ss,e.isPlainObject=ys,e.isRegExp=Ch,e.isSafeInteger=gs,e.isSet=Ah,e.isString=bs,e.isSymbol=_s,e.isTypedArray=Eh,e.isUndefined=ms,e.isWeakMap=ws,e.isWeakSet=xs,e.join=Oa,e.kebabCase=Gh,e.last=ja,e.lastIndexOf=Ca,e.lowerCase=Jh,e.lowerFirst=Qh,e.lt=kh,e.lte=Sh,e.max=Yc,e.maxBy=Kc,e.mean=Xc,e.meanBy=tf,e.min=ef,e.minBy=nf,e.stubArray=Hc,e.stubFalse=Wc,e.stubObject=Bc,e.stubString=qc,e.stubTrue=Gc,e.multiply=dp,e.nth=Aa,e.noConflict=Dc,e.noop=zc,e.now=sh,e.pad=hc,e.padEnd=pc,e.padStart=vc,e.parseInt=dc,e.random=ac,e.reduce=_u,e.reduceRight=mu,e.repeat=yc,e.replace=gc,e.result=Qs,e.round=yp,e.runInContext=Cr,e.sample=xu,e.size=Cu,e.snakeCase=Zh,e.some=Au,e.sortedIndex=Ia,e.sortedIndexBy=Ra,e.sortedIndexOf=Na,e.sortedLastIndex=Ma,e.sortedLastIndexBy=Fa,e.sortedLastIndexOf=Da,e.startCase=Yh,e.startsWith=_c,e.subtract=gp,e.sum=rf,e.sumBy=of,e.template=mc,e.times=Jc,e.toFinite=js,e.toInteger=Cs,e.toLength=As,e.toLower=wc,e.toNumber=Es,e.toSafeInteger=Ss,e.toString=Ts,e.toUpper=xc,e.trim=Oc,e.trimEnd=jc,e.trimStart=Cc,e.truncate=Ac,e.unescape=Ec,e.uniqueId=Zc,e.upperCase=Kh,e.upperFirst=Xh,e.each=vu,e.eachRight=du,e.first=ma,Fc(e,function(){var t={};return nr(e,function(n,r){mf.call(e.prototype,r)||(t[r]=n)}),t}(),{chain:!1}),e.VERSION=ot,c(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){e[t].placeholder=e}),c(["drop","take"],function(t,e){i.prototype[t]=function(n){var r=this.__filtered__;if(r&&!e)return new i(this);n=n===it?1:Qf(Cs(n),0);var o=this.clone();return r?o.__takeCount__=Zf(n,o.__takeCount__):o.__views__.push({size:Zf(n,Dt),type:t+(o.__dir__<0?"Right":"")}),o},i.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),c(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==$t||n==It;i.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Oo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),c(["head","last"],function(t,e){var n="take"+(e?"Right":"");i.prototype[t]=function(){return this[n](1).value()[0]}}),c(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");i.prototype[t]=function(){return this.__filtered__?new i(this):this[n](1)}}),i.prototype.compact=function(){return this.filter(Ic)},i.prototype.find=function(t){return this.filter(t).head()},i.prototype.findLast=function(t){return this.reverse().find(t)},i.prototype.invokeMap=ai(function(t,e){return"function"==typeof t?new i(this):this.map(function(n){return Sr(n,t,e)})}),i.prototype.reject=function(t){return this.filter(Nu(Oo(t)))},i.prototype.slice=function(t,e){t=Cs(t);var n=this;return n.__filtered__&&(t>0||0>e)?new i(n):(0>t?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==it&&(e=Cs(e),n=0>e?n.dropRight(-e):n.take(e-t)),n)},i.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},i.prototype.toArray=function(){return this.take(Dt)},nr(i.prototype,function(t,n){var o=/^(?:filter|find|map|reject)|While$/.test(n),a=/^(?:head|last)$/.test(n),u=e[a?"take"+("last"==n?"Right":""):n],s=a||/^find/.test(n);u&&(e.prototype[n]=function(){var n=this.__wrapped__,c=a?[1]:arguments,f=n instanceof i,l=c[0],h=f||mh(n),p=function(t){var n=u.apply(e,y([t],c));return a&&v?n[0]:n};h&&o&&"function"==typeof l&&1!=l.length&&(f=h=!1);var v=this.__chain__,d=!!this.__actions__.length,g=s&&!v,b=f&&!d;if(!s&&h){n=b?n:new i(this);var _=t.apply(n,c);return _.__actions__.push({func:eu,args:[p],thisArg:it}),new r(_,v)}return g&&b?t.apply(this,c):(_=this.thru(p),g?a?_.value()[0]:_.value():_)})}),c(["pop","push","shift","sort","splice","unshift"],function(t){var n=df[t],r=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",i=/^(?:pop|shift)$/.test(t);e.prototype[t]=function(){var t=arguments;if(i&&!this.__chain__){var e=this.value();return n.apply(mh(e)?e:[],t)}return this[r](function(e){return n.apply(mh(e)?e:[],t)})}}),nr(i.prototype,function(t,n){var r=e[n];if(r){var i=r.name+"",o=sl[i]||(sl[i]=[]);o.push({name:n,func:r})}}),sl[no(it,bt).name]=[{name:"wrapper",func:it}],i.prototype.clone=m,i.prototype.reverse=S,i.prototype.value=Y,e.prototype.at=Xl,e.prototype.chain=nu,e.prototype.commit=ru,e.prototype.next=iu,e.prototype.plant=au,e.prototype.reverse=uu,e.prototype.toJSON=e.prototype.valueOf=e.prototype.value=su,e.prototype.first=e.prototype.head,Mf&&(e.prototype[Mf]=ou),e},jr=Or();ur._=jr,r=function(){return jr}.call(e,n,e,i),!(r!==it&&(i.exports=r))}).call(this)}).call(e,function(){return this}(),n(43)(t))},function(t,e,n){function r(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(o);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(r.Cache||i),n}var i=n(27),o="Expected a function";r.Cache=i,t.exports=r},function(t,e,n){function r(t){return a(t)?i(u(t)):o(t)}var i=n(193),o=n(194),a=n(32),u=n(11);t.exports=r},function(t,e){function n(){return!1}t.exports=n},function(t,e,n){function r(t){return null==t?"":i(t)}var i=n(199);t.exports=r},function(t,e,n){"use strict";var r=n(263);t.exports=function(t){function e(){if(h.source&&h.write&&c){var t=JSON.stringify(h.__wrapped__);t!==h._checksum&&(h._checksum=t,h.write(h.source))}}var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=n.format,o=void 0===i?null:i,a=n.storage,u=void 0===a?null:a,s=n.writeOnChange,c=void 0===s?!0:s,f=arguments[2],l=f.runInContext(),h=l.chain({});return t&&(o&&(o.serialize&&(h.serialize=o.serialize),o.deserialize&&(h.deserialize=o.deserialize)),u&&(u.read&&(h.read=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,n=u.read(e,h.deserialize),i=function(t){h.__wrapped__=t,h._checksum=JSON.stringify(h.__wrapped__)};return r(n)?n.then(function(t){return i(t),h}):(i(n),h)}),u.write&&(h.write=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t;return u.write(e,h.__wrapped__,h.serialize)}))),l.prototype.value=l.wrap(l.prototype.value,function(t){var n=t.apply(this);return e(),n}),h.getState=function(){return h.__wrapped__},h.setState=function(t){h.__wrapped__=t,e()},h._=l,h.source=t,h.read?h.read():h}},function(t,e){"use strict";t.exports={read:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:JSON.parse,n=localStorage.getItem(t);return n?e(n):(localStorage.setItem(t,"{}"),{})},write:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:JSON.stringify;return localStorage.setItem(t,n(e))}}},function(t,e,n){"use strict";var r=n(260),i=n(261);t.exports=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{storage:i};return r(t,e,window._)}},function(t,e){function n(t){return!!t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then}t.exports=n},function(t,e,n){function r(t,e){for(var n,r=[],i=0,o=0,a="",u=e&&e.delimiter||"/";null!=(n=b.exec(t));){var f=n[0],l=n[1],h=n.index;if(a+=t.slice(o,h),o=h+f.length,l)a+=l[1];else{var p=t[o],v=n[2],d=n[3],y=n[4],g=n[5],_=n[6],m=n[7];a&&(r.push(a),a="");var w=null!=v&&null!=p&&p!==v,x="+"===_||"*"===_,O="?"===_||"*"===_,j=n[2]||u,C=y||g;r.push({name:d||i++,prefix:v||"",delimiter:j,optional:O,repeat:x,partial:w,asterisk:!!m,pattern:C?c(C):m?".*":"[^"+s(j)+"]+?"})}}return o=0&&n.parseArrays&&a<=n.arrayLimit?(r=[],r[a]=c(t,e,n)):r[o]=c(t,e,n)}return r},s=function(t,e,n){if(t){var r=n.allowDots?t.replace(/\.([^\.\[]+)/g,"[$1]"):t,o=/^([^\[\]]*)/,a=/(\[[^\[\]]*\])/g,s=o.exec(r),c=[];if(s[1]){if(!n.plainObjects&&i.call(Object.prototype,s[1])&&!n.allowPrototypes)return;c.push(s[1])}for(var f=0;null!==(s=a.exec(r))&&fn;n++)e["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(e).map(function(t){return e[t]});if("0123456789"!==r.join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach(function(t){i[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(o){return!1}}var i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;t.exports=r()?Object.assign:function(t,e){for(var r,a,u=n(t),s=1;s1)throw new Error("You can only set ONE error handler");var n=e[0];n.call(n,t,this.req,this.res,this.run.bind(this))},t.exports=n},function(t,e,n){function r(){return this instanceof r?void(this.routes=[]):new r}var i=n(80),o=n(264),a=n(275),u=r.prototype;u.add=function(t){this.routes.push(t)},u.reset=function(t){this.routes=t||[]},u.isEmpty=function(){return!this.routes.length},u.match=function(t){for(var e=0;ei;++i)r[i]=(i+256).toString(16).substr(1);t.exports=n},function(t,e){(function(e){var n,r=e.crypto||e.msCrypto;if(r&&r.getRandomValues){var i=new Uint8Array(16);n=function(){return r.getRandomValues(i),i}}if(!n){var o=new Array(16);n=function(){for(var t,e=0;16>e;e++)0===(3&e)&&(t=4294967296*Math.random()),o[e]=t>>>((3&e)<<3)&255;return o}}t.exports=n}).call(e,function(){return this}())},function(t,e,n){function r(t,e,n){var r=e&&n||0,i=e||[];t=t||{};var a=void 0!==t.clockseq?t.clockseq:s,l=void 0!==t.msecs?t.msecs:(new Date).getTime(),h=void 0!==t.nsecs?t.nsecs:f+1,p=l-c+(h-f)/1e4;if(0>p&&void 0===t.clockseq&&(a=a+1&16383),(0>p||l>c)&&void 0===t.nsecs&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");c=l,f=h,s=a,l+=122192928e5;var v=(1e4*(268435455&l)+h)%4294967296;i[r++]=v>>>24&255,i[r++]=v>>>16&255,i[r++]=v>>>8&255,i[r++]=255&v;var d=l/4294967296*1e4&268435455;i[r++]=d>>>8&255,i[r++]=255&d,i[r++]=d>>>24&15|16,i[r++]=d>>>16&255,i[r++]=a>>>8|128,i[r++]=255&a;for(var y=t.node||u,g=0;6>g;++g)i[r+g]=y[g];return e?e:o(i)}var i=n(281),o=n(280),a=i(),u=[1|a[0],a[1],a[2],a[3],a[4],a[5]],s=16383&(a[6]<<8|a[7]),c=0,f=0;t.exports=r},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){/*! + * vue-router v0.7.13 + * (c) 2016 Evan You + * Released under the MIT License. + */ +!function(e,n){t.exports=n()}(this,function(){"use strict";function t(t,e,n){this.path=t,this.matcher=e,this.delegate=n}function e(t){this.routes={},this.children={},this.target=t}function n(e,r,i){return function(o,a){var u=e+o;return a?void a(n(u,r,i)):new t(e+o,r,i)}}function r(t,e,n){for(var r=0,i=0,o=t.length;o>i;i++)r+=t[i].path.length;e=e.substr(r);var a={path:e,handler:n};t.push(a)}function i(t,e,n,o){var a=e.routes;for(var u in a)if(a.hasOwnProperty(u)){var s=t.slice();r(s,u,a[u]),e.children[u]?i(s,e.children[u],n,o):n.call(o,s)}}function o(t,r){var o=new e;t(n("",o,this.delegate)),i([],o,function(t){r?r(this,t):this.add(t)},this)}function a(t){B||"undefined"==typeof console||console.error("[vue-router] "+t)}function u(t,e){try{return e?decodeURIComponent(t):decodeURI(t)}catch(n){a("malformed URI"+(e?" component: ":": ")+t)}}function s(t){return"[object Array]"===Object.prototype.toString.call(t)}function c(t){this.string=t}function f(t){this.name=t}function l(t){this.name=t}function h(){}function p(t,e,n){"/"===t.charAt(0)&&(t=t.substr(1));var r=t.split("/"),i=[];n.val="";for(var o=0,a=r.length;a>o;o++){var u,s=r[o];(u=s.match(/^:([^\/]+)$/))?(i.push(new f(u[1])),e.push(u[1]),n.val+="3"):(u=s.match(/^\*([^\/]+)$/))?(i.push(new l(u[1])),n.val+="2",e.push(u[1])):""===s?(i.push(new h),n.val+="1"):(i.push(new c(s)),n.val+="4")}return n.val=+n.val,i}function v(t){this.charSpec=t,this.nextStates=[]}function d(t){return t.sort(function(t,e){return e.specificity.val-t.specificity.val})}function y(t,e){for(var n=[],r=0,i=t.length;i>r;r++){var o=t[r];n=n.concat(o.match(e))}return n}function g(t){this.queryParams=t||{}}function b(t,e,n){for(var r=t.handlers,i=t.regex,o=e.match(i),a=1,u=new g(n),s=0,c=r.length;c>s;s++){for(var f=r[s],l=f.names,h={},p=0,v=l.length;v>p;p++)h[l[p]]=o[a++];u.push({handler:f.handler,params:h,isDynamic:!!l.length})}return u}function _(t,e){return e.eachChar(function(e){t=t.put(e)}),t}function m(t){return t=t.replace(/\+/gm,"%20"),u(t,!0)}function w(t){"undefined"!=typeof console&&console.error("[vue-router] "+t)}function x(t,e,n){var r=t.match(/(\?.*)$/);if(r&&(r=r[1],t=t.slice(0,-r.length)),"?"===e.charAt(0))return t+e;var i=t.split("/");n&&i[i.length-1]||i.pop();for(var o=e.replace(/^\//,"").split("/"),a=0;a can only be used inside a router-enabled app.");this._isDynamicLiteral=!0,n.bind.call(this);for(var e=void 0,r=this.vm;r;){if(r._routerView){e=r._routerView;break}r=r.$parent}if(e)this.parentView=e,e.childView=this;else{var i=t.router;i._rootView=this}var o=t.router._currentTransition;if(!e&&o.done||e&&e.activated){var a=e?e.depth+1:0;$(this,o,a)}},unbind:function(){this.parentView&&(this.parentView.childView=null),n.unbind.call(this)}}),t.elementDirective("router-view",r)}function L(t){function e(t){return t.protocol===location.protocol&&t.hostname===location.hostname&&t.port===location.port}function n(t,e,n){if(e=e.trim(),-1===e.indexOf(" "))return void n(t,e);for(var r=e.split(/\s+/),i=0,o=r.length;o>i;i++)n(t,r[i])}var r=t.util,i=r.bind,o=r.isObject,a=r.addClass,u=r.removeClass,s=t.directive("on").priority,c="__vue-router-link-update__",f=0;t.directive("link-active",{priority:9999,bind:function(){for(var t=this,e=String(f++),n=this.el.querySelectorAll("[v-link]"),r=0,i=n.length;i>r;r++){var o=n[r],a=o.getAttribute(c),u=a?a+","+e:e;o.setAttribute(c,u)}this.vm.$on(c,this.cb=function(n,r){n.activeIds.indexOf(e)>-1&&n.updateClasses(r,t.el)})},unbind:function(){this.vm.$off(c,this.cb)}}),t.directive("link",{priority:s-2,bind:function(){var t=this.vm;if(!t.$route)return void w("v-link can only be used inside a router-enabled app.");this.router=t.$route.router,this.unwatch=t.$watch("$route",i(this.onRouteUpdate,this));var e=this.el.getAttribute(c);e&&(this.el.removeAttribute(c),this.activeIds=e.split(",")),"A"===this.el.tagName&&"_blank"===this.el.getAttribute("target")||(this.handler=i(this.onClick,this),this.el.addEventListener("click",this.handler))},update:function(t){this.target=t,o(t)&&(this.append=t.append,this.exact=t.exact,this.prevActiveClass=this.activeClass,this.activeClass=t.activeClass),this.onRouteUpdate(this.vm.$route)},onClick:function(t){if(!(t.metaKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||0!==t.button)){var n=this.target;if(n)t.preventDefault(),this.router.go(n);else{for(var r=t.target;"A"!==r.tagName&&r!==this.el;)r=r.parentNode;if("A"===r.tagName&&e(r)){t.preventDefault();var i=r.pathname;this.router.history.root&&(i=i.replace(this.router.history.rootRE,"")),this.router.go({path:i,replace:n&&n.replace,append:n&&n.append})}}}},onRouteUpdate:function(t){var e=this.router.stringifyPath(this.target);this.path!==e&&(this.path=e,this.updateActiveMatch(),this.updateHref()),this.activeIds?this.vm.$emit(c,this,t.path):this.updateClasses(t.path,this.el)},updateActiveMatch:function(){this.activeRE=this.path&&!this.exact?new RegExp("^"+this.path.replace(/\/$/,"").replace(at,"").replace(ot,"\\$&")+"(\\/|$)"):null},updateHref:function(){if("A"===this.el.tagName){var t=this.path,e=this.router,n="/"===t.charAt(0),r=t&&("hash"===e.mode||n)?e.history.formatPath(t,this.append):t;r?this.el.href=r:this.el.removeAttribute("href")}},updateClasses:function(t,e){var r=this.activeClass||this.router._linkActiveClass;this.prevActiveClass&&this.prevActiveClass!==r&&n(e,this.prevActiveClass,u);var i=this.path.replace(at,"");t=t.replace(at,""),this.exact?i===t||"/"!==i.charAt(i.length-1)&&i===t.replace(it,"")?n(e,r,a):n(e,r,u):this.activeRE&&this.activeRE.test(t)?n(e,r,a):n(e,r,u)},unbind:function(){this.el.removeEventListener("click",this.handler),this.unwatch&&this.unwatch()}})}function V(t,e){var n=e.component;st.util.isPlainObject(n)&&(n=e.component=st.extend(n)),"function"!=typeof n&&(e.component=null,w('invalid component for route "'+t+'".'))}var U={};U.classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.prototype={to:function(t,e){var n=this.delegate;if(n&&n.willAddRoute&&(t=n.willAddRoute(this.matcher.target,t)),this.matcher.add(this.path,t),e){if(0===e.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,t,e,this.delegate)}return this}},e.prototype={add:function(t,e){this.routes[t]=e},addChild:function(t,r,i,o){var a=new e(r);this.children[t]=a;var u=n(t,a,o);o&&o.contextEntered&&o.contextEntered(r,u),i(u)}};var H=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],W=new RegExp("(\\"+H.join("|\\")+")","g"),B=!1;c.prototype={eachChar:function(t){for(var e,n=this.string,r=0,i=n.length;i>r;r++)e=n.charAt(r),t({validChars:e})},regex:function(){return this.string.replace(W,"\\$1")},generate:function(){return this.string}},f.prototype={eachChar:function(t){t({invalidChars:"/",repeat:!0})},regex:function(){return"([^/]+)"},generate:function(t){var e=t[this.name];return null==e?":"+this.name:e}},l.prototype={eachChar:function(t){t({invalidChars:"",repeat:!0})},regex:function(){return"(.+)"},generate:function(t){var e=t[this.name];return null==e?":"+this.name:e}},h.prototype={eachChar:function(){},regex:function(){return""},generate:function(){return""}},v.prototype={get:function(t){for(var e=this.nextStates,n=0,r=e.length;r>n;n++){var i=e[n],o=i.charSpec.validChars===t.validChars;if(o=o&&i.charSpec.invalidChars===t.invalidChars)return i}},put:function(t){var e;return(e=this.get(t))?e:(e=new v(t),this.nextStates.push(e),t.repeat&&e.nextStates.push(e),e)},match:function(t){for(var e,n,r,i=this.nextStates,o=[],a=0,u=i.length;u>a;a++)e=i[a],n=e.charSpec,"undefined"!=typeof(r=n.validChars)?-1!==r.indexOf(t)&&o.push(e):"undefined"!=typeof(r=n.invalidChars)&&-1===r.indexOf(t)&&o.push(e);return o}};var q=Object.create||function(t){function e(){}return e.prototype=t,new e};g.prototype=q({splice:Array.prototype.splice,slice:Array.prototype.slice,push:Array.prototype.push,length:0,queryParams:null});var G=function(){this.rootState=new v,this.names={}};G.prototype={add:function(t,e){for(var n,r=this.rootState,i="^",o={},a=[],u=[],s=!0,c=0,f=t.length;f>c;c++){var l=t[c],v=[],d=p(l.path,v,o);u=u.concat(d);for(var y=0,g=d.length;g>y;y++){var b=d[y];b instanceof h||(s=!1,r=r.put({validChars:"/"}),i+="/",r=_(r,b),i+=b.regex())}var m={handler:l.handler,names:v};a.push(m)}s&&(r=r.put({validChars:"/"}),i+="/"),r.handlers=a,r.regex=new RegExp(i+"$"),r.specificity=o,(n=e&&e.as)&&(this.names[n]={segments:u,handlers:a})},handlersFor:function(t){var e=this.names[t],n=[];if(!e)throw new Error("There is no route named "+t);for(var r=0,i=e.handlers.length;i>r;r++)n.push(e.handlers[r]);return n},hasRoute:function(t){return!!this.names[t]},generate:function(t,e){var n=this.names[t],r="";if(!n)throw new Error("There is no route named "+t);for(var i=n.segments,o=0,a=i.length;a>o;o++){var u=i[o];u instanceof h||(r+="/",r+=u.generate(e))}return"/"!==r.charAt(0)&&(r="/"+r),e&&e.queryParams&&(r+=this.generateQueryString(e.queryParams)),r},generateQueryString:function(t){var e=[],n=[];for(var r in t)t.hasOwnProperty(r)&&n.push(r);n.sort();for(var i=0,o=n.length;o>i;i++){r=n[i];var a=t[r];if(null!=a){var u=encodeURIComponent(r);if(s(a))for(var c=0,f=a.length;f>c;c++){var l=r+"[]="+encodeURIComponent(a[c]);e.push(l)}else u+="="+encodeURIComponent(a),e.push(u)}}return 0===e.length?"":"?"+e.join("&")},parseQueryString:function(t){for(var e=t.split("&"),n={},r=0;r2&&"[]"===a.slice(u-2)&&(s=!0,a=a.slice(0,u-2),n[a]||(n[a]=[])),i=o[1]?m(o[1]):""),s?n[a].push(i):n[a]=i}return n},recognize:function(t,e){B=e;var n,r,i,o,a=[this.rootState],s={},c=!1;if(o=t.indexOf("?"),-1!==o){var f=t.substr(o+1,t.length);t=t.substr(0,o),f&&(s=this.parseQueryString(f))}if(t=u(t)){for("/"!==t.charAt(0)&&(t="/"+t),n=t.length,n>1&&"/"===t.charAt(n-1)&&(t=t.substr(0,n-1),c=!0),r=0,i=t.length;i>r&&(a=y(a,t.charAt(r)),a.length);r++);var l=[];for(r=0,i=a.length;i>r;r++)a[r].handlers&&l.push(a[r]);a=d(l);var h=l[0];return h&&h.handlers?(c&&"(.+)$"===h.regex.source.slice(-5)&&(t+="/"),b(h,t,s)):void 0}}},G.prototype.map=o;var J=G.prototype.generateQueryString,Q={},Z=void 0,Y=/#.*$/,K=function(){function t(e){var n=e.root,r=e.onChange;U.classCallCheck(this,t),n&&"/"!==n?("/"!==n.charAt(0)&&(n="/"+n),this.root=n.replace(/\/$/,""),this.rootRE=new RegExp("^\\"+this.root)):this.root=null,this.onChange=r;var i=document.querySelector("base");this.base=i&&i.getAttribute("href")}return t.prototype.start=function(){var t=this;this.listener=function(e){var n=location.pathname+location.search;t.root&&(n=n.replace(t.rootRE,"")),t.onChange(n,e&&e.state,location.hash)},window.addEventListener("popstate",this.listener),this.listener()},t.prototype.stop=function(){window.removeEventListener("popstate",this.listener)},t.prototype.go=function(t,e,n){var r=this.formatPath(t,n);e?history.replaceState({},"",r):(history.replaceState({pos:{x:window.pageXOffset,y:window.pageYOffset}},"",location.href),history.pushState({},"",r));var i=t.match(Y),o=i&&i[0];t=r.replace(Y,"").replace(this.rootRE,""),this.onChange(t,null,o)},t.prototype.formatPath=function(t,e){return"/"===t.charAt(0)?this.root?this.root+"/"+t.replace(/^\//,""):t:x(this.base||location.pathname,t,e)},t}(),X=function(){function t(e){var n=e.hashbang,r=e.onChange;U.classCallCheck(this,t),this.hashbang=n,this.onChange=r}return t.prototype.start=function(){var t=this;this.listener=function(){var e=location.hash,n=e.replace(/^#!?/,"");"/"!==n.charAt(0)&&(n="/"+n);var r=t.formatPath(n);if(r!==e)return void location.replace(r);var i=location.search&&e.indexOf("?")>-1?"&"+location.search.slice(1):location.search;t.onChange(e.replace(/^#!?/,"")+i)},window.addEventListener("hashchange",this.listener),this.listener()},t.prototype.stop=function(){window.removeEventListener("hashchange",this.listener)},t.prototype.go=function(t,e,n){t=this.formatPath(t,n),e?location.replace(t):location.hash=t},t.prototype.formatPath=function(t,e){var n="/"===t.charAt(0),r="#"+(this.hashbang?"!":"");return n?r+t:r+x(location.hash.replace(/^#!?/,""),t,e)},t}(),tt=function(){function t(e){var n=e.onChange;U.classCallCheck(this,t),this.onChange=n,this.currentPath="/"}return t.prototype.start=function(){this.onChange("/")},t.prototype.stop=function(){},t.prototype.go=function(t,e,n){t=this.currentPath=this.formatPath(t,n),this.onChange(t)},t.prototype.formatPath=function(t,e){return"/"===t.charAt(0)?t:x(this.currentPath,t,e)},t}(),et=function(){function t(e,n,r){U.classCallCheck(this,t),this.router=e,this.to=n,this.from=r,this.next=null,this.aborted=!1,this.done=!1}return t.prototype.abort=function(){if(!this.aborted){this.aborted=!0;var t=!this.from.path&&"/"===this.to.path;t||this.router.replace(this.from.path||"/")}},t.prototype.redirect=function(t){this.aborted||(this.aborted=!0,"string"==typeof t?t=A(t,this.to.params,this.to.query):(t.params=t.params||this.to.params,t.query=t.query||this.to.query),this.router.replace(t))},t.prototype.start=function(t){for(var e=this,n=[],r=this.router._rootView;r;)n.unshift(r),r=r.childView;var i=n.slice().reverse(),o=this.activateQueue=F(this.to.matched).map(function(t){return t.handler}),a=void 0,u=void 0;for(a=0;a0&&(u=i.slice(0,a),n=i.slice(a).reverse(),o=o.slice(a)),e.runQueue(n,k,function(){e.runQueue(o,S,function(){e.runQueue(n,T,function(){if(e.router._onTransitionValidated(e),u&&u.forEach(function(t){return P(t,e)}),n.length){var r=n[n.length-1],i=u?u.length:0;$(r,e,i,t)}else t()})})})},t.prototype.runQueue=function(t,e,n){function r(o){o>=t.length?n():e(t[o],i,function(){r(o+1)})}var i=this;r(0)},t.prototype.callHook=function(t,e,n){var r=arguments.length<=3||void 0===arguments[3]?{}:arguments[3],i=r.expectBoolean,o=void 0===i?!1:i,a=r.postActivate,u=void 0===a?!1:a,s=r.processData,c=r.cleanup,f=this,l=!1,h=function(){c&&c(),f.abort()},p=function(t){if(u?d():h(),t&&!f.router._suppress)throw w("Uncaught error during transition: "),t instanceof Error?t:new Error(t)},v=function(t){try{p(t)}catch(e){setTimeout(function(){throw e},0)}},d=function(){return l?void w("transition.next() should be called only once."):(l=!0,f.aborted?void(c&&c()):void(n&&n()))},y=function(e){"boolean"==typeof e?e?d():h():O(e)?e.then(function(t){t?d():h()},v):t.length||d()},g=function(t){var e=void 0;try{e=s(t)}catch(n){return p(n)}O(e)?e.then(d,v):d()},b={to:f.to,from:f.from,abort:h,next:s?g:d,redirect:function(){f.redirect.apply(f,arguments)}},_=void 0;try{_=t.call(e,b)}catch(m){return p(m)}o?y(_):O(_)?s?_.then(g,v):_.then(d,v):s&&M(_)?g(_):t.length||d()},t.prototype.callHooks=function(t,e,n,r){var i=this;Array.isArray(t)?this.runQueue(t,function(t,n,o){i.aborted||i.callHook(t,e,o,r)},n):this.callHook(t,e,n,r)},t}(),nt=/^(component|subRoutes|fullPath)$/,rt=function ft(t,e){var n=this;U.classCallCheck(this,ft);var r=e._recognizer.recognize(t);r&&([].forEach.call(r,function(t){for(var e in t.handler)nt.test(e)||(n[e]=t.handler[e])}),this.query=r.queryParams,this.params=[].reduce.call(r,function(t,e){if(e.params)for(var n in e.params)t[n]=e.params[n];return t},{})),this.path=t,this.matched=r||e._notFoundHandler,Object.defineProperty(this,"router",{enumerable:!1,value:e}),Object.freeze(this)},it=/\/$/,ot=/[-.*+?^${}()|[\]\/\\]/g,at=/\?.*$/,ut={"abstract":tt,hash:X,html5:K},st=void 0,ct=function(){function t(){var e=this,n=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=n.hashbang,i=void 0===r?!0:r,o=n["abstract"],a=void 0===o?!1:o,u=n.history,s=void 0===u?!1:u,c=n.saveScrollPosition,f=void 0===c?!1:c,l=n.transitionOnLoad,h=void 0===l?!1:l,p=n.suppressTransitionError,v=void 0===p?!1:p,d=n.root,y=void 0===d?null:d,g=n.linkActiveClass,b=void 0===g?"v-link-active":g;if(U.classCallCheck(this,t),!t.installed)throw new Error("Please install the Router with Vue.use() before creating an instance.");this.app=null,this._children=[],this._recognizer=new G,this._guardRecognizer=new G,this._started=!1,this._startCb=null,this._currentRoute={},this._currentTransition=null,this._previousTransition=null,this._notFoundHandler=null,this._notFoundRedirect=null,this._beforeEachHooks=[],this._afterEachHooks=[],this._rendered=!1,this._transitionOnLoad=h,this._root=y,this._abstract=a,this._hashbang=i;var _="undefined"!=typeof window&&window.history&&window.history.pushState;this._history=s&&_,this._historyFallback=s&&!_;var m=st.util.inBrowser;this.mode=!m||this._abstract?"abstract":this._history?"html5":"hash";var w=ut[this.mode];this.history=new w({root:y,hashbang:this._hashbang,onChange:function(t,n,r){e._match(t,n,r)}}),this._saveScrollPosition=f,this._linkActiveClass=b,this._suppress=v}return t.prototype.map=function(t){for(var e in t)this.on(e,t[e]);return this},t.prototype.on=function(t,e){return"*"===t?this._notFound(e):this._addRoute(t,e,[]),this},t.prototype.redirect=function(t){for(var e in t)this._addRedirect(e,t[e]);return this},t.prototype.alias=function(t){for(var e in t)this._addAlias(e,t[e]);return this},t.prototype.beforeEach=function(t){return this._beforeEachHooks.push(t),this},t.prototype.afterEach=function(t){return this._afterEachHooks.push(t),this},t.prototype.go=function(t){var e=!1,n=!1;st.util.isObject(t)&&(e=t.replace,n=t.append),t=this.stringifyPath(t),t&&this.history.go(t,e,n)},t.prototype.replace=function(t){"string"==typeof t&&(t={path:t}),t.replace=!0,this.go(t)},t.prototype.start=function(t,e,n){if(this._started)return void w("already started.");if(this._started=!0,this._startCb=n,!this.app){if(!t||!e)throw new Error("Must start vue-router with a component and a root container.");if(t instanceof st)throw new Error("Must start vue-router with a component, not a Vue instance.");this._appContainer=e;var r=this._appConstructor="function"==typeof t?t:st.extend(t);r.options.name=r.options.name||"RouterApp"}if(this._historyFallback){var i=window.location,o=new K({root:this._root}),a=o.root?i.pathname.replace(o.rootRE,""):i.pathname;if(a&&"/"!==a)return void i.assign((o.root||"")+"/"+this.history.formatPath(a)+i.search)}this.history.start()},t.prototype.stop=function(){this.history.stop(),this._started=!1},t.prototype.stringifyPath=function(t){var e="";if(t&&"object"==typeof t){if(t.name){var n=st.util.extend,r=this._currentTransition&&this._currentTransition.to.params,i=t.params||{},o=r?n(n({},r),i):i;e=encodeURI(this._recognizer.generate(t.name,o))}else t.path&&(e=encodeURI(t.path));if(t.query){var a=this._recognizer.generateQueryString(t.query);e+=e.indexOf("?")>-1?"&"+a.slice(1):a}}else e=encodeURI(t?t+"":"");return e},t.prototype._addRoute=function(t,e,n){if(V(t,e),e.path=t,e.fullPath=(n.reduce(function(t,e){return t+e.path},"")+t).replace("//","/"),n.push({path:t,handler:e}),this._recognizer.add(n,{as:e.name}),e.subRoutes)for(var r in e.subRoutes)this._addRoute(r,e.subRoutes[r],n.slice())},t.prototype._notFound=function(t){V("*",t),this._notFoundHandler=[{handler:t}]},t.prototype._addRedirect=function(t,e){"*"===t?this._notFoundRedirect=e:this._addGuard(t,e,this.replace)},t.prototype._addAlias=function(t,e){this._addGuard(t,e,this._match)},t.prototype._addGuard=function(t,e,n){var r=this;this._guardRecognizer.add([{path:t,handler:function(t,i){var o=A(e,t.params,i);n.call(r,o)}}])},t.prototype._checkGuard=function(t){var e=this._guardRecognizer.recognize(t,!0);return e?(e[0].handler(e[0],e.queryParams),!0):this._notFoundRedirect&&(e=this._recognizer.recognize(t),!e)?(this.replace(this._notFoundRedirect),!0):void 0},t.prototype._match=function(t,e,n){var r=this;if(!this._checkGuard(t)){var i=this._currentRoute,o=this._currentTransition;if(o){if(o.to.path===t)return;if(i.path===t)return o.aborted=!0,void(this._currentTransition=this._prevTransition);o.aborted=!0}var a=new rt(t,this),u=new et(this,a,i);this._prevTransition=o,this._currentTransition=u,this.app||!function(){var t=r;r.app=new r._appConstructor({el:r._appContainer,created:function(){this.$router=t},_meta:{$route:a}})}();var s=this._beforeEachHooks,c=function(){u.start(function(){r._postTransition(a,e,n)})};s.length?u.runQueue(s,function(t,e,n){u===r._currentTransition&&u.callHook(t,null,n,{expectBoolean:!0})},c):c(),!this._rendered&&this._startCb&&this._startCb.call(null),this._rendered=!0}},t.prototype._onTransitionValidated=function(t){var e=this._currentRoute=t.to;this.app.$route!==e&&(this.app.$route=e,this._children.forEach(function(t){t.$route=e})),this._afterEachHooks.length&&this._afterEachHooks.forEach(function(e){return e.call(null,{to:t.to,from:t.from})}),this._currentTransition.done=!0},t.prototype._postTransition=function(t,e,n){var r=e&&e.pos;r&&this._saveScrollPosition?st.nextTick(function(){window.scrollTo(r.x,r.y)}):n&&st.nextTick(function(){var t=document.getElementById(n.slice(1));t&&window.scrollTo(window.scrollX,t.offsetTop)})},t}();return ct.installed=!1,ct.install=function(t){return ct.installed?void w("already installed."):(st=t,D(st),z(st),L(st),Q.Vue=st,void(ct.installed=!0))},"undefined"!=typeof window&&window.Vue&&window.Vue.use(ct),ct})},function(t,e,n){(function(t){function n(t,e){for(var n=0,r=t.length-1;r>=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function r(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!i;o--){var a=o>=0?arguments[o]:t.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,i="/"===a.charAt(0))}return e=n(r(e.split("/"),function(t){return!!t}),!i).join("/"),(i?"/":"")+e||"."},e.normalize=function(t){var i=e.isAbsolute(t),o="/"===a(t,-1);return t=n(r(t.split("/"),function(t){return!!t}),!i).join("/"),t||i||(t="."),t&&o&&(t+="/"),(i?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(r(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split("/")),o=r(n.split("/")),a=Math.min(i.length,o.length),u=a,s=0;a>s;s++)if(i[s]!==o[s]){u=s;break}for(var c=[],s=u;se&&(e=t.length+e),t.substr(e,n)}}).call(e,n(82))}]); \ No newline at end of file diff --git a/dist/static/bundle/plugins-00354ef8eb.js b/dist/static/bundle/plugins-00354ef8eb.js new file mode 100644 index 0000000..07ec696 --- /dev/null +++ b/dist/static/bundle/plugins-00354ef8eb.js @@ -0,0 +1,5 @@ +"function"!=typeof Object.create&&(Object.create=function(e){function t(){}return t.prototype=e,new t}),function(e,t){"use strict";var n={_positionClasses:["bottom-left","bottom-right","top-right","top-left","bottom-center","top-center","mid-center"],_defaultIcons:["success","error","info","warning"],init:function(t){this.prepareOptions(t,e.toast.options),this.process()},prepareOptions:function(t,n){var i={};"string"==typeof t||t instanceof Array?i.text=t:i=t,this.options=e.extend({},n,i)},process:function(){this.setup(),this.addToDom(),this.position(),this.bindToast(),this.animate()},setup:function(){var t="";if(this._toastEl=this._toastEl||e("
",{class:"jq-toast-single"}),t+='',this.options.allowToastClose&&(t+='×'),this.options.text instanceof Array){this.options.heading&&(t+='

'+this.options.heading+"

"),t+='
    ';for(var n=0;n'+this.options.text[n]+"";t+="
"}else this.options.heading&&(t+='

'+this.options.heading+"

"),t+=this.options.text;this._toastEl.html(t),this.options.bgColor!==!1&&this._toastEl.css("background-color",this.options.bgColor),this.options.textColor!==!1&&this._toastEl.css("color",this.options.textColor),this.options.textAlign&&this._toastEl.css("text-align",this.options.textAlign),this.options.icon!==!1&&(this._toastEl.addClass("jq-has-icon"),-1!==e.inArray(this.options.icon,this._defaultIcons)&&this._toastEl.addClass("jq-icon-"+this.options.icon))},position:function(){"string"==typeof this.options.position&&-1!==e.inArray(this.options.position,this._positionClasses)?"bottom-center"===this.options.position?this._container.css({left:e(t).outerWidth()/2-this._container.outerWidth()/2,bottom:20}):"top-center"===this.options.position?this._container.css({left:e(t).outerWidth()/2-this._container.outerWidth()/2,top:20}):"mid-center"===this.options.position?this._container.css({left:e(t).outerWidth()/2-this._container.outerWidth()/2,top:e(t).outerHeight()/2-this._container.outerHeight()/2}):this._container.addClass(this.options.position):"object"==typeof this.options.position?this._container.css({top:this.options.position.top?this.options.position.top:"auto",bottom:this.options.position.bottom?this.options.position.bottom:"auto",left:this.options.position.left?this.options.position.left:"auto",right:this.options.position.right?this.options.position.right:"auto"}):this._container.addClass("bottom-left")},bindToast:function(){var e=this;this._toastEl.on("afterShown",function(){e.processLoader()}),this._toastEl.find(".close-jq-toast-single").on("click",function(t){t.preventDefault(),"fade"===e.options.showHideTransition?(e._toastEl.trigger("beforeHide"),e._toastEl.fadeOut(function(){e._toastEl.trigger("afterHidden")})):"slide"===e.options.showHideTransition?(e._toastEl.trigger("beforeHide"),e._toastEl.slideUp(function(){e._toastEl.trigger("afterHidden")})):(e._toastEl.trigger("beforeHide"),e._toastEl.hide(function(){e._toastEl.trigger("afterHidden")}))}),"function"==typeof this.options.beforeShow&&this._toastEl.on("beforeShow",function(){e.options.beforeShow()}),"function"==typeof this.options.afterShown&&this._toastEl.on("afterShown",function(){e.options.afterShown()}),"function"==typeof this.options.beforeHide&&this._toastEl.on("beforeHide",function(){e.options.beforeHide()}),"function"==typeof this.options.afterHidden&&this._toastEl.on("afterHidden",function(){e.options.afterHidden()})},addToDom:function(){var t=e(".jq-toast-wrap");if(0===t.length?(t=e("
",{class:"jq-toast-wrap"}),e("body").append(t)):(!this.options.stack||isNaN(parseInt(this.options.stack,10)))&&t.empty(),t.find(".jq-toast-single:hidden").remove(),t.append(this._toastEl),this.options.stack&&!isNaN(parseInt(this.options.stack),10)){var n=t.find(".jq-toast-single").length,i=n-this.options.stack;i>0&&e(".jq-toast-wrap").find(".jq-toast-single").slice(0,i).remove()}this._container=t},canAutoHide:function(){return this.options.hideAfter!==!1&&!isNaN(parseInt(this.options.hideAfter,10))},processLoader:function(){if(!this.canAutoHide()||this.options.loader===!1)return!1;var e=this._toastEl.find(".jq-toast-loader"),t=(this.options.hideAfter-400)/1e3+"s",n=this.options.loaderBg,i=e.attr("style")||"";i=i.substring(0,i.indexOf("-webkit-transition")),i+="-webkit-transition: width "+t+" ease-in; -o-transition: width "+t+" ease-in; transition: width "+t+" ease-in; background-color: "+n+";",e.attr("style",i).addClass("jq-toast-loaded")},animate:function(){var e=this;if(this._toastEl.hide(),this._toastEl.trigger("beforeShow"),"fade"===this.options.showHideTransition.toLowerCase()?this._toastEl.fadeIn(function(){e._toastEl.trigger("afterShown")}):"slide"===this.options.showHideTransition.toLowerCase()?this._toastEl.slideDown(function(){e._toastEl.trigger("afterShown")}):this._toastEl.show(function(){e._toastEl.trigger("afterShown")}),this.canAutoHide()){var e=this;t.setTimeout(function(){"fade"===e.options.showHideTransition.toLowerCase()?(e._toastEl.trigger("beforeHide"),e._toastEl.fadeOut(function(){e._toastEl.trigger("afterHidden")})):"slide"===e.options.showHideTransition.toLowerCase()?(e._toastEl.trigger("beforeHide"),e._toastEl.slideUp(function(){e._toastEl.trigger("afterHidden")})):(e._toastEl.trigger("beforeHide"),e._toastEl.hide(function(){e._toastEl.trigger("afterHidden")}))},this.options.hideAfter)}},reset:function(t){"all"===t?e(".jq-toast-wrap").remove():this._toastEl.remove()},update:function(e){this.prepareOptions(e,this.options),this.setup(),this.bindToast()}};e.toast=function(e){var t=Object.create(n);return t.init(e,this),{reset:function(e){t.reset(e)},update:function(e){t.update(e)}}},e.toast.options={text:"",heading:"",showHideTransition:"fade",allowToastClose:!0,hideAfter:3e3,loader:!0,loaderBg:"#9EC600",stack:5,position:"bottom-left",bgColor:!1,textColor:!1,textAlign:"left",icon:!1,beforeShow:function(){},afterShown:function(){},beforeHide:function(){},afterHidden:function(){}}}(jQuery,window,document),function(e){function t(t){var i="display: none;position: fixed;top: 0;bottom: 0;left: 0;right: 0;margin: auto;padding: 8px;text-align: center;vertical-align: middle;",s=["width:"+t.width,"height:"+t.height,"z-index:"+t.zIndex,"background:"+t.background,"border-radius:"+t.radius];i+=s.join(";");var o="margin-bottom:8px;";s=["width:"+t.imgWidth,"height:"+t.imgWidth],o+=s.join(";");var r="margin:0;";s=["font-size:"+t.fontSize,"color:"+t.fontColor],r+=s.join(";");var a='

'+t.tip+"

";e(document).find("body").append(a)}var n="data:image/gif;base64,R0lGODlhLgAuAPMPAAAAABERESIiIjMzM0RERFVVVWZmZnd3d4iIiJmZmaqqqru7u8zMzN3d3e7u7v///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAwAPACwAAAAALgAuAAAE//DJSesDOGttu/dbKGJfWY2oaJZpu62WK7/wNd/kiu+A6RYHBYPhYOw+LYOi4Wg6eaBRIdFgOpsLaGxkWFS/VwevR0EZGF+wMzsui87pajGBOBzGZFuo4I0vDHghEiMJaGkIgSp6GmdDVQx3iYKEQ5WIkjMFlUMKmDcHmwyAnjKFlWykLkKWqTILrwuQrS6wr6OzKLV/uCm6kbwiCrWXwCEIsAoJxSIHC8IKCrfLGAXQ1sTTGAjWyb+tixnV1gkJ0p6DzNDkdOaS6HsJyeQIdQQjAQE4E1Lr9PQHBgoQGDBAgEF8N9y8mfcPYECBBA/mk3FCir86DgMOLCgA38QUHThQFDDQ0KHAjRI/Ktoi0oCdjBAjdmyBpAWBkQZynixIkUUxGMBqgDsn9J27ogoDIQ3ZZqlPF0UjAAAh+QQJAwAPACwAAAAALgAuAAAE//DJSesDOGttu/dbKGJfWY2oaJZpu62WK7/wNd/kiu+A6RYHBYPhcAwVCNmnZVA0nsVosTEDjQqJp1YbfRyqsZFhsS13C7eTmFE2T3eU9bC8SCAOB0RiAZdcF0OBDQsGPCN+IgiBgUmGhzYbBotDX46HIwmTjZY3BZMKnDsHC6SAhaE3e6WgqDcKpQubrS6wC5WzLq+lp7gtCroKvL0ovwu/t8OYv8fJKQjLSM0oTb8JCcLSGQXL1rLZGc/WdtizkBpY4ggIaL2IIQfd6gfs5ebn6vJ4BgT19tr4eA4YMFBgwAABAgIE4BHnSj6BBAkYRKiwzwQUQAIOLCDxYMKFaTXCiCBgQF/Ejh9BurCCguRGjhNTKmGZgoDNjh5VpvCRDYa0Gv5QAb3YaqgaTkY7OErKcyXQCAAh+QQJAwAPACwAAAAALgAuAAAE//DJSesDOGttu/dbKGJfWY2oaJZpu62WK7/wNd/kiu+A6RYHBYPRaAwVh4Lr0zIIi9CGY+poKAwt0KiQGEa/1Gki1UEZFkPiFxp+YMkUMzqtjlapD4UsLjrT0wsJCAcHCF1TNksSW0J/C28hBw0HN4siCAwLcwwIPHB9mqELlJ4oiRsIogudpTsFqmOtOweqkLIzqaGxtzcJCgoLCqy8M7/GtsQtxr/IySjLV84yywnN0iG+Cdqk1yiG2oLdKQbgCAhK4iJc5ubc6RuF7EnipxkF8oQE15aR7QcGBvQ547cBCKF/BgoQGJBswpaDABUOGCAgQIBWfNQBjLiQYsWLnjpOjCCwUaJHiyFjjCzAsqOAjzy0oBhAwCXMHUxcTHxpEeQMH+9gpKtRjxhRh0aPZsSoVGXMpiz2EI0AACH5BAkDAA8ALAAAAAAuAC4AAAT/8MlJ6wM4a22791soYl9Zjaholmm7rZYrv/A13+SK74DpFofEYtFoDBOHguvTMiQYUEZxOlUYWqBRARGNUqkOR0I56qAKiq73Www7GNcyBWVYMOxqKdvtaBxQcyIFQ4RRCwgIBwcIT21uDwyAEloKhIRWIwcLfAlYNiEIlkMILggOkEufGmiifzIICjKqGqGVQ648PGgKvAqdubkGvbxxwDuwvb/GOwnJuMs3CdLSxdAz09Jk1tfTCNrbpYiI1eAp4uPlMouIiukuBuKKBO4pW4kHBuT0GwaK+Abz6M3CAOSfgQID3E0S0S9fgQIEEpZbGIJAvoMEIgoIAG7CCIsPRSMOELCR47JAIgiEHDCyJLQTIwZkZEkygElgZmKybGnTWBYUAnje5MHEhc2hOHzsy6FUYA2nNSi+jArzJNWcRK829VQjAgAh+QQJAwAPACwAAAAALgAuAAAE//DJSesDOGttu/dbKGJfWY2oaJZpu62WK7/wNd/kiu+A6RaHxGLBYAwTh4Lr0yoIi1BGY9pgKAwt0KiAGEah1HBCOeqgCoqh+isNTxnYMgVlSKu9X3fD4WjEVRNbdncLCggIBgYICW1UfH5yNiFOhXdXIwYLjnwMZCESIwcKaaQHLgh7fHwJciJoo7B/LQepDhKeHCMIsKOmNwh8Dws7r6MJCDxSPAAGCc7OsjO4OEHPyMvYi86I2NmHh9HdM9+H0+Iy3wdJ5zuH6uvsN+/q5vF06on19q74BgUD+1wQSOSvAIGAP/IRIAAQYQ8RAwsYHDBAAEJQEA0yrBggIMYQA0UWUuTY0V4gESEpChAQoCS7OSNGrmxpEqaIlSxdnjODYqZObFpQtPy5jIlDGkaP9tBxtIakfU5PvoxqsxtVnjyu+pARNQIAIfkEBQMADwAsAAAAAC4ALgAABP/wyUnrAzhrbbv3WyhiX1mNqGiWabutliu/8DXf5IrvgOkWB8RiwWAME4eC69MqCIfEorSoMLRAI6cCCp0WGw1GQjnqoAqJxZYbnYLBC2uZgjIo7uuul/EGM+QqE1kJeHkKCAcGBghCfH1hgDQ2IWiFdwmRGgYLjw4LZCESIweWCgcuCH0ODglzImgJsYSZKAeqDrQ9o7Kxpzepq6sKN04JCLEIPAvBq6Ati4yMzjMGzA7JMkHRvjwMDhOt2dEIuTIKDWM4jAfs0zw77PEE7/QA8Yrz9Tzsigb5+jj6GSjwD+CMAooKEDSIg4BCggQEMJwxQCEBAgMGTJxxEeMAARJON2aYpGGAR5ACAojsQbJkRpABVIoUJULAx5QyZ9IMgTLmSjojcK5kKWiET50nhgaKoTQUlqY5mECF0bRGS4ZWixrMmlQfVzPvvvqQkTUCACH5BAkDAA8ALAcABwAgAB0AAAS7EMhJgUFKrZWf/2AoetpmLkzKJGP7HFl2bmrqjnE51+rtJTnZiWfzPRLAHOtz+BRvCKRUgfAxGljsCBGVGj3XbCPELVe/Iu3HjDCgQWIPgd18f7KO8evAr9vveg8GfQdufyAOiQqDBo0FFZCREgmJiQyNmASSmxMIlXmYBQUDnJwHnw6iqqSlkqefogSyrK2tsgQDubW1ub0Cu62+AgIBwJwCA8PExcabygHQzZsBy9Kl0dbZ2tvc3d4AEQAh+QQJAwAPACwHAAcAIAAdAAAE1RDISYFBSa2lFDpFJY4F0p3apibGSB4Zqs4LwyChK5VJj6Y0G2PRcpUQmF6sExQOi5UjMpn4HAyGg6nmtEElBO10+qUYFN3GIifJWpHlEULYqCcm4YNez9ZJDjZ1dUVZeyB+IgiCdQoABFiQcYgAC4sNBY+RBJMiBpY4BaGhnCOVggqiBAQDpCIJiwuqqwOsrRQIDnW5s7QCthQHuQ0ODrS9vr9/xMsDAs4CAckSuMsNzwHY0gAJyw4MztjR2goODw8OCuHaUa8IAOLr8fLz9PX29/j2EQAh+QQJAwAPACwHAAcAIAAdAAAE1RDISYFBKSmVkSlVKBZHtp3boiagGJJYZp5qvSCtC8BIL6M2FUNh0PF6MQ0tuGAsiiHCYYpEHgzYA0JhY3ifIcOUijjkKgaud704F7JjqA6AaK4ZickAyzfPKQd3XlAEBYZYZ390gnkDhYaGiiEKDA2WDQWOBJsEA5Jol5YIA6SlnyELoQqlpqcUCaELArO0roChDLQBAgG2EwehDQHDxL4SwKG9AMXGCA6Wz8YiCQ7VDgzSIQzWDgrZgNwOCN8TDeGJ0s4P1d7kFAjrcu4T4/P29/jkEQAh+QQJAwAPACwHAAcAIAAdAAAE2hDISYE5CCWVEjJVKAIFlnWdoqpIMYbElc3oqiys+wLx4c+a1Aq3wOlEPZ+JthkWnyCYYXr5HajTg+rJPU4KYOrVSzEkuEWFlwAOG8iiA5fBQEwGhDy7QNhR5HSBUQOEeAQDfhUIgXQJAAKFhYkhCowMBQKZmQMCkxUGlgcBo5qeIQuMCaOrAaYVCQwNsgsSrK5/srIMFa23Ege5sr4jwMHDccG7x6/BtMsUsbkKzxMHDsF21AAM1w3XcL4IDuPj09Ti5ONRzwkP6Y7aAAfuDpfxEu0N6/c+9zsRACH5BAkDAA8ALAcABwAgAB8AAATbEMhJQTEHaX1M/SBAGNiRbUmaIEX4DRdpnpqq3KwrDUQRlzTbTZFohXg9H6m0QaSGQ89HMKgSkiSf0uAcLhRfI6VKvhIGIe5twQ5TBHAqWSc5rNuISSAQj9MnBm1tUnuFe38UB4ILCRIBjoeIFAltDAtikmlsDJwHmXQKnJyNny4IopalLgeoDKppra8grJwNrrIVrA27t7gTCbu7C74UC8ENCsQSBscNecrGx5iyCM3JxAfNDVK4CA4Ox6SyBQ3f5g4M06oM5+Dcvg/mDZ7KAAvxDO/KyOrE/QARACH5BAUDAA8ALAcABwAgACAAAATXEMhJASnm6G2q/8BwGeSGnOdRgJ4gXlh5oEhiq6zkDm8RmydbQpFYgQQ7HgGW0aCECmLHEwggk8vsaAaNKoyUahXJG4AKtaG3SBUjc5KDN7pAgMTwiYGuWHzzgHILg3WAgAmEg2CGIAaJCweMcH2ECZI5CIkKlywHDAsMn5yNoaWjHwaloacenqqsFQiqC7AUoKWWtQAGDQ0MvpG6C729DIunCMS9ubAHyr1TrMnPzKMHCw7PxqcKDA7fz9Gc2N/Z3wzinAkP5efpp+1/ugDZCu+sBgjHFREAIfkECQMADwAsCgAHAB0AIAAABLPwySkHKcVoXaj/jzCMV2YcKKgCgUheGno8SK1KbOtaWDzXiAQCBMjpSL3Tr5ZIfIrFgHQ38gCbTQo0qrsdhtgnVHqbGMIPxUwLKKsUabd8oqjD52WEvY4v8+99Kk4TQ4GGhw8LiYqIHguPj40UkJGSE5SWH4CNm5kPDAyfngqgoJ6lppahn6meoogGDw2OfShBEg2zE6t4DA6/srnBh7/FuceMgQvFDrgNg4bMzZnLoGpuEQAh+QQJAwAPACwKAAcAHQAgAAAE1RDIKYUYg5DCC/2gFAQWlnGGcRheGI7lWaRHzboffGUbXSOHFk5EwmhmqgNiiRDiRqRd78dsDocEVTVhveIM28TBOwQjEuiEk/wxpBMKBBt3hisU67nEcO+P9SB2d3KAHwd9CgmFhncLd4sUfAuOC5ATBpOZlhIHmZObAAieCqAKnoqWBgyef5AKDKureXMIsLaoiwe2tgaQtbsMhICYDcW2C7MUiUBKCQzF0LxeDA7V1dDYDQy9Xg/W2dgL3FcG3tfgDWpsDdbt0ArjZAWv1A6wCkFDEQAh+QQJAwAPACwKAAcAHQAgAAAE1BDISUEIQoxdu6dXthFFQXyoFGoDWRhm6q1jadynDGIjeR/Agk5FI/gMwODQM3ghgYiDcNkpJBHYA9VjxXqnW4rBi0how5UDNsEGowGFMjtheFPkbIR9cpgrEnsSBgqEf4EAg4UKh4mFhweFC4uBCJILC4CBCZeXensGnJdndgqhC25hlaGebwcLDKF1bwgMtbAMrBUFDKMVoLa2px8PDg4MCVFqmw3AtQuyHQfF0w3V1tXAzyjE1NfXwdAdBtPd3szHqOIK5A7mDArhMlYKtdjvUikRACH5BAkDAA8ALAoABwAdACAAAATYEMhJaQhC1M35zUPYjdUnhAQxkKSJFgXBdh9KFIYhz1Y9pLjcjlc53YIHHZEzCBoOySWHkINCC9JNwYpAHLKbZ7eLBU+244TBTDmMveyJoZvoxiXzhD5xBxj2en1/egp8dwYKiYV9B4qLdwmOCIeOCl9xCQsKmgplZgcLoaGTbaQzoKKangAIDg6mIwipoxQGD64ODGsciAyznRMID7e4Dgt1SV0LDMy+orsSBQ3FDdXW1c3ZodByDLjX4NnMCtwUBQrf4NjZCKu8CurWzWpLWwrM2McH7hURACH5BAkDAA8ALAkABwAeACAAAATVEMhJq70408C1t5wgfCQQDmiZhQKaqhUXiChBDHBMD3ZR5JYWz2f4ASk8AtFAOCKXB4OTUjAYDtjmFEC4Yg/Grfe7lVwR6EMZUEC71203Ai6flw2IhN6+Pej3a3l/fGxABgqICQpSEgwMQAiIkj8MDw4OhB8HkohzDZegaiQGC5wKPwqglw2ZFwcLsKULdgUMoA24C4wWh7GxpxMGnw64xQsJCFZoCwy+sIsVB8PF1I7Wzb7QvAzU3dfYz2EWBQnduN/Ws+IYh97fx+seBZuwjrAJYBoRACH5BAUDAA8ALAcABwAgACAAAATZEMhJq7046827/0AQgJ44kpopCGgmrmxrvcJgy1UA28SAUyvbgED4UXiEQsFnBAyTymITADUYClNqwWrNErgHg9dwKB+85nK2UEa4J4gFQmZwu8sNx8PBkB3sCH8Og4NnJAWACFeEgwsoCAmRCQhYCowOcx8HkpGGBoQNoYYcBgqcCVgSCYOhoZkaBwqys6MABQwOraELYhcGCbOzqBUGDLqhDHKKZAgKC88LwqnExscM19jQz8G9vgvW2Mna0QvDGgUJreHZ2gqUHqXr7M/vh5vP19EJB9MXEQAh+QQJAwAPACwHAAoAIAAdAAAEuBDISau9OOvNu/9UAHpBOW6loJ5XGagra73qMDx4ru/8/tpAmQU4IBCEFZvRiKQUCYXogsFYLISDaNTg6HYNsoFhPG54HQgZgTxmnBOywmF+MCi8vXzPQK/nGmYGeoNzCHM4ZoANg3oHCI8IOoqAjDwGkI+SlJU8CQmYO5MNDJwPnp6ZPKKkgwgKCqeflVQMCoY6Ca+6npy0vlbAuruzvlTAx8KlD8VVxwvCB8qmv87P0j0KwbaCgxEAIfkECQMADwAsBwAKACAAHQAABNAQyEmrvTjrzbv/YCiOZGkCAYAsxykFcKA4j8O0YwwLjOM7CVJMQGz8HDhRgCgYDI5IUtPp/BmToamTYGwYEaQBYTzueRvB0aBAKLgV58aC5K4XEPGGQUQw+P1teXMhf38EAHBxYB8FB46OewAGeTced4+OhxIJcQwMixoGCKOkkRIFCw2eqwqmFXekpAeaEwartwwKCAd+jgm/v7EFF7a4C8fHCsrKwAmjwxgGC7fIyMvMwdAZd6vV1tcJB9obBgneC9fKCOOWBwjKyc4G7BURACH5BAkDAA8ALAcACgAgAB0AAATVEMhJq7046827/1oCeobjIOOmmI9zpFdhzgpsIbP52tQ6M7wKw9FoOETBibF4SkoCxeguFahao8XpyBoQCLANFKzr9S6wyJRgwGYrsAtbu43AMgypAUFP2BfsNSMEBX19AwAJDA0MjGIeBAYFkoQSBoyXDFoaBQadnQWHEomYC44ZBQcHnpEUBQukCwp4MQcIqbcGBBUGr4wLv7GpnrUIxba3uha8DMDACs8KCdLGxgcFGQYKzM2x0NIJ1NYbBQjc0M/f1dcd5M7n0eDiI5wI0ujgrBkRACH5BAUDAA8ALAcACgAgAB0AAATYEMhJq734NMy7NI2zeeRUMI7zjKWXpOnadgacNsfMKWLoIDpMIdQILYIYRLHoyCEtimXj+LQspImqRYrTVrgGL4XrFAMYSwbQDLiiGdlnYE5PMO4MKlJAnx/wd2FBAoSFAieACkgDjIYAdngLay2MlYwfkQsLZR4DBQSgBJcSCHmampwYBAWsn6IUBQqmpwmCFgUGuQatBQMVBqfBCgkHurkHyMW6vRfAwQsK0QnTCNXJygYEHLGa0d7D1NUIydkeBQjf3tMJ4tblJefp6+27SLgI08PuBR0RACH5BAkDAA8ALAcACAAgAB8AAAS/8MkpDb0456Kc/uBjME4ZnpNVlgXqrqZ7Nusif83T0A5ya7vgD5TTFYeZ4hGJszCf0KiEMaFKp4ys9arNXqvew/dBpfqQgLT6omCq15KFHP1OP2xy2zAQqE/yD2IyfIR8f3MVLgKLAoUUehJtJwOUA4wBGJAKCmcZAwQElZQCABhtp5sJCBYFrQUGBq2glQIam7cKCboIvAcHsLEFoKEgCZsSuqq9vsCyAzfJvMvABsQ/u9K+v8JMB9IIzMJ1dREAIfkEBQMADwAsBwAHACAAIAAABNMQyEnLQTTrnY1yzsONXJGAKKlOBoOCT7KSLdi8y8y1TX+DDIVOU1j4eo6FYbhJHHsYpsbwbBykzWcUW2Ecc9zMwetbhikKhpoBPk8Wa8bWDYgzrnSJ3Zy34/NwbHd5EgoLhwtzbgmIC0KEB41KhEWNMoQIiAoKf24FhpubfCoBJJmhCgmdHAGtIyaoCQkIBRwCt62lO7GyCAcGBQTCAwQDA7i5OwmbsrMIvgbAwcbHyK/Lzc8H29EF08a4Kha9z76/3cPgOhbl5tHoxlgFBtv16CoRADs=",i={};e.loading=function(n){var s=e.extend(e.loading.default,n);i=s,t(s);var o="#"+s.id;return e(document).on("ajaxStart",function(){i.ajax&&e(o).show()}),e(document).on("ajaxComplete",function(){setTimeout(function(){e(o).hide()},s.minTime)}),e.loading},e.loading.open=function(t){var n="#"+i.id;e(n).show(),t&&setTimeout(function(){e(n).hide()},parseInt(t))},e.loading.close=function(){var t="#"+i.id;e(t).hide()},e.loading.ajax=function(e){i.ajax=e},e.loading.default={ajax:!0,id:"ajaxLoading",zIndex:"1000",background:"rgba(0, 0, 0, 0.7)",minTime:200,radius:"4px",width:"85px",height:"85px",imgWidth:"45px",imgHeight:"45px",tip:"Loading ...",fontSize:"14px",fontColor:"#fff"}}(window.jQuery||window.Zepto),function(e){function t(e){return"object"==typeof e?e:{top:e,left:e}}var n=e.scrollTo=function(t,n,i){e(window).scrollTo(t,n,i)};n.defaults={axis:"xy",duration:parseFloat(e.fn.jquery)>=1.3?0:1,limit:!0},n.window=function(t){return e(window)._scrollable()},e.fn._scrollable=function(){return this.map(function(){var t=this,n=!t.nodeName||e.inArray(t.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!n)return t;var i=(t.contentWindow||t).document||t.ownerDocument||t;return/webkit/i.test(navigator.userAgent)||"BackCompat"==i.compatMode?i.body:i.documentElement})},e.fn.scrollTo=function(i,s,o){return"object"==typeof s&&(o=s,s=0),"function"==typeof o&&(o={onAfter:o}),"max"==i&&(i=9e9),o=e.extend({},n.defaults,o),s=s||o.duration,o.queue=o.queue&&o.axis.length>1,o.queue&&(s/=2),o.offset=t(o.offset),o.over=t(o.over),this._scrollable().each(function(){function r(e){u.animate(d,s,o.easing,e&&function(){e.call(this,c,o)})}if(null!=i){var a,l=this,u=e(l),c=i,d={},h=u.is("html,body");switch(typeof c){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(c)){c=t(c);break}if(c=e(c,this),!c.length)return;case"object":(c.is||c.style)&&(a=(c=e(c)).offset())}e.each(o.axis.split(""),function(e,t){var i="x"==t?"Left":"Top",s=i.toLowerCase(),f="scroll"+i,p=l[f],m=n.max(l,t);if(a)d[f]=a[s]+(h?0:p-u.offset()[s]),o.margin&&(d[f]-=parseInt(c.css("margin"+i))||0,d[f]-=parseInt(c.css("border"+i+"Width"))||0),d[f]+=o.offset[s]||0,o.over[s]&&(d[f]+=c["x"==t?"width":"height"]()*o.over[s]);else{var g=c[s];d[f]=g.slice&&"%"==g.slice(-1)?parseFloat(g)/100*m:g}o.limit&&/^\d+$/.test(d[f])&&(d[f]=d[f]<=0?0:Math.min(d[f],m)),!e&&o.queue&&(p!=d[f]&&r(o.onAfterFirst),delete d[f])}),r(o.onAfter)}}).end()},n.max=function(t,n){var i="x"==n?"Width":"Height",s="scroll"+i;if(!e(t).is("html,body"))return t[s]-e(t)[i.toLowerCase()]();var o="client"+i,r=t.ownerDocument.documentElement,a=t.ownerDocument.body;return Math.max(r[s],a[s])-Math.min(r[o],a[o])}}(jQuery),!function(e,t,n){"use strict";!function e(t,n,i){function s(r,a){if(!n[r]){if(!t[r]){var l="function"==typeof require&&require;if(!a&&l)return l(r,!0);if(o)return o(r,!0);var u=new Error("Cannot find module '"+r+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[r]={exports:{}};t[r][0].call(c.exports,function(e){var n=t[r][1][e];return s(n?n:e)},c,c.exports,e,t,n,i)}return n[r].exports}for(var o="function"==typeof require&&require,r=0;r=0;)n=n.replace(" "+t+" "," ");e.className=n.replace(/^\s+|\s+$/g,"")}},l=function(e){var n=t.createElement("div");return n.appendChild(t.createTextNode(e)),n.innerHTML},u=function(e){e.style.opacity="",e.style.display="block"},c=function(e){if(e&&!e.length)return u(e);for(var t=0;t0?setTimeout(i,t):e.style.display="none"};i()},y=function(n){if("function"==typeof MouseEvent){var i=new MouseEvent("click",{view:e,bubbles:!1,cancelable:!0});n.dispatchEvent(i)}else if(t.createEvent){var s=t.createEvent("MouseEvents");s.initEvent("click",!1,!1),n.dispatchEvent(s)}else t.createEventObject?n.fireEvent("onclick"):"function"==typeof n.onclick&&n.onclick()},v=function(t){"function"==typeof t.stopPropagation?(t.stopPropagation(),t.preventDefault()):e.event&&e.event.hasOwnProperty("cancelBubble")&&(e.event.cancelBubble=!0)};s.hasClass=o,s.addClass=r,s.removeClass=a,s.escapeHtml=l,s._show=u,s.show=c,s._hide=d,s.hide=h,s.isDescendant=f,s.getTopMargin=p,s.fadeIn=m,s.fadeOut=g,s.fireClick=y,s.stopEventPropagation=v},{}],5:[function(t,i,s){Object.defineProperty(s,"__esModule",{value:!0});var o=t("./handle-dom"),r=t("./handle-swal-dom"),a=function(t,i,s){var a=t||e.event,l=a.keyCode||a.which,u=s.querySelector("button.confirm"),c=s.querySelector("button.cancel"),d=s.querySelectorAll("button[tabindex]");if(-1!==[9,13,32,27].indexOf(l)){for(var h=a.target||a.srcElement,f=-1,p=0;p"),l.innerHTML=e.html?e.text:(0,r.escapeHtml)(e.text||"").split("\n").join("
"),e.text&&(0,r.show)(l),e.customClass)(0,r.addClass)(t,e.customClass),t.setAttribute("data-custom-class",e.customClass);else{var d=t.getAttribute("data-custom-class");(0,r.removeClass)(t,d),t.setAttribute("data-custom-class","")}if((0,r.hide)(t.querySelectorAll(".sa-icon")),e.type&&!(0,s.isIE8)()){var h=function(){for(var i=!1,s=0;si;i++)n=parseInt(e.substr(2*i,2),16),n=Math.round(Math.min(Math.max(0,n+n*t),255)).toString(16),s+=("00"+n).substr(n.length);return s};i.extend=s,i.hexToRgb=o,i.isIE8=r,i.logStr=a,i.colorLuminance=l},{}]},{},[1]),"function"==typeof define&&define.amd?define(function(){return sweetAlert}):"undefined"!=typeof module&&module.exports&&(module.exports=sweetAlert)}(window,document),!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e("object"==typeof exports?require("jquery"):jQuery)}(function(e){var t=function(){if(e&&e.fn&&e.fn.select2&&e.fn.select2.amd)var t=e.fn.select2.amd;var t;return function(){if(!t||!t.requirejs){t?n=t:t={};var e,n,i;!function(t){function s(e,t){return _.call(e,t)}function o(e,t){var n,i,s,o,r,a,l,u,c,d,h,f=t&&t.split("/"),p=v.map,m=p&&p["*"]||{};if(e&&"."===e.charAt(0))if(t){for(e=e.split("/"),r=e.length-1,v.nodeIdCompat&&b.test(e[r])&&(e[r]=e[r].replace(b,"")),e=f.slice(0,f.length-1).concat(e),c=0;c0&&(e.splice(c-1,2),c-=2)}e=e.join("/")}else 0===e.indexOf("./")&&(e=e.substring(2));if((f||m)&&p){for(n=e.split("/"),c=n.length;c>0;c-=1){if(i=n.slice(0,c).join("/"),f)for(d=f.length;d>0;d-=1)if(s=p[f.slice(0,d).join("/")],s&&(s=s[i])){o=s,a=c;break}if(o)break;!l&&m&&m[i]&&(l=m[i],u=c)}!o&&l&&(o=l,a=u),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function r(e,n){return function(){var i=A.call(arguments,0);return"string"!=typeof i[0]&&1===i.length&&i.push(null),f.apply(t,i.concat([e,n]))}}function a(e){return function(t){return o(t,e)}}function l(e){return function(t){g[e]=t}}function u(e){if(s(y,e)){var n=y[e];delete y[e],w[e]=!0,h.apply(t,n)}if(!s(g,e)&&!s(w,e))throw new Error("No "+e);return g[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function d(e){return function(){return v&&v.config&&v.config[e]||{}}}var h,f,p,m,g={},y={},v={},w={},_=Object.prototype.hasOwnProperty,A=[].slice,b=/\.js$/;p=function(e,t){var n,i=c(e),s=i[0];return e=i[1],s&&(s=o(s,t),n=u(s)),s?e=n&&n.normalize?n.normalize(e,a(t)):o(e,t):(e=o(e,t),i=c(e),s=i[0],e=i[1],s&&(n=u(s))),{f:s?s+"!"+e:e,n:e,pr:s,p:n}},m={require:function(e){return r(e)},exports:function(e){var t=g[e];return"undefined"!=typeof t?t:g[e]={}},module:function(e){return{id:e,uri:"",exports:g[e],config:d(e)}}},h=function(e,n,i,o){var a,c,d,h,f,v,_=[],A=typeof i;if(o=o||e,"undefined"===A||"function"===A){for(n=!n.length&&i.length?["require","exports","module"]:n,f=0;f0&&(t.call(arguments,e.prototype.constructor),s=n.prototype.constructor),s.apply(this,arguments)}function s(){this.constructor=i}var o=t(n),r=t(e);n.displayName=e.displayName,i.prototype=new s;for(var a=0;an;n++)e[n].apply(this,t)},n.Observable=i,n.generateChars=function(e){for(var t="",n=0;e>n;n++){var i=Math.floor(36*Math.random());t+=i.toString(36)}return t},n.bind=function(e,t){return function(){e.apply(t,arguments)}},n._convertData=function(e){for(var t in e){var n=t.split("-"),i=e;if(1!==n.length){for(var s=0;s":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},n.appendMany=function(t,n){if("1.7"===e.fn.jquery.substr(0,3)){var i=e();e.map(n,function(e){i=i.add(e)}),n=i}t.append(n)},n}),t.define("select2/results",["jquery","./utils"],function(e,t){function n(e,t,i){this.$element=e,this.data=i,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('
    ');return this.options.get("multiple")&&t.attr("aria-multiselectable","true"),this.$results=t,t},n.prototype.clear=function(){this.$results.empty()},n.prototype.displayMessage=function(t){var n=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var i=e('
  • '),s=this.options.get("translations").get(t.message);i.append(n(s(t.args))),i[0].className+=" select2-results__message",this.$results.append(i)},n.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},n.prototype.append=function(e){this.hideLoading();var t=[];if(null==e.results||0===e.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));e.results=this.sort(e.results);for(var n=0;n0?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},n.prototype.setClasses=function(){var t=this;this.data.current(function(n){var i=e.map(n,function(e){return e.id.toString()}),s=t.$results.find(".select2-results__option[aria-selected]");s.each(function(){var t=e(this),n=e.data(this,"data"),s=""+n.id;null!=n.element&&n.element.selected||null==n.element&&e.inArray(s,i)>-1?t.attr("aria-selected","true"):t.attr("aria-selected","false")})})},n.prototype.showLoading=function(e){this.hideLoading();var t=this.options.get("translations").get("searching"),n={disabled:!0,loading:!0,text:t(e)},i=this.option(n);i.className+=" loading-results",this.$results.prepend(i)},n.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},n.prototype.option=function(t){var n=document.createElement("li");n.className="select2-results__option";var i={role:"treeitem","aria-selected":"false"};t.disabled&&(delete i["aria-selected"],i["aria-disabled"]="true"),null==t.id&&delete i["aria-selected"],null!=t._resultId&&(n.id=t._resultId),t.title&&(n.title=t.title),t.children&&(i.role="group",i["aria-label"]=t.text,delete i["aria-selected"]);for(var s in i){var o=i[s];n.setAttribute(s,o)}if(t.children){var r=e(n),a=document.createElement("strong");a.className="select2-results__group",e(a),this.template(t,a);for(var l=[],u=0;u",{class:"select2-results__options select2-results__options--nested"});h.append(l),r.append(a),r.append(h)}else this.template(t,n);return e.data(n,"data",t),n},n.prototype.bind=function(t,n){var i=this,s=t.id+"-results";this.$results.attr("id",s),t.on("results:all",function(e){i.clear(),i.append(e.data),t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("results:append",function(e){i.append(e.data),t.isOpen()&&i.setClasses()}),t.on("query",function(e){i.hideMessages(),i.showLoading(e)}),t.on("select",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("open",function(){i.$results.attr("aria-expanded","true"),i.$results.attr("aria-hidden","false"),i.setClasses(),i.ensureHighlightVisible()}),t.on("close",function(){i.$results.attr("aria-expanded","false"),i.$results.attr("aria-hidden","true"),i.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=i.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=i.getHighlightedResults();if(0!==e.length){var t=e.data("data");"true"==e.attr("aria-selected")?i.trigger("close",{}):i.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e);if(0!==n){var s=n-1;0===e.length&&(s=0);var o=t.eq(s);o.trigger("mouseenter");var r=i.$results.offset().top,a=o.offset().top,l=i.$results.scrollTop()+(a-r);0===s?i.$results.scrollTop(0):0>a-r&&i.$results.scrollTop(l)}}),t.on("results:next",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e),s=n+1;if(!(s>=t.length)){var o=t.eq(s);o.trigger("mouseenter");var r=i.$results.offset().top+i.$results.outerHeight(!1),a=o.offset().top+o.outerHeight(!1),l=i.$results.scrollTop()+a-r;0===s?i.$results.scrollTop(0):a>r&&i.$results.scrollTop(l)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){i.displayMessage(e)}),e.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=i.$results.scrollTop(),n=i.$results.get(0).scrollHeight-t+e.deltaY,s=e.deltaY>0&&t-e.deltaY<=0,o=e.deltaY<0&&n<=i.$results.height();s?(i.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):o&&(i.$results.scrollTop(i.$results.get(0).scrollHeight-i.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(t){var n=e(this),s=n.data("data");return"true"===n.attr("aria-selected")?void(i.options.get("multiple")?i.trigger("unselect",{originalEvent:t,data:s}):i.trigger("close",{})):void i.trigger("select",{originalEvent:t,data:s})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(t){var n=e(this).data("data");i.getHighlightedResults().removeClass("select2-results__option--highlighted"),i.trigger("results:focus",{data:n,element:e(this)})})},n.prototype.getHighlightedResults=function(){var e=this.$results.find(".select2-results__option--highlighted");return e},n.prototype.destroy=function(){this.$results.remove()},n.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]"),n=t.index(e),i=this.$results.offset().top,s=e.offset().top,o=this.$results.scrollTop()+(s-i),r=s-i;o-=2*e.outerHeight(!1),2>=n?this.$results.scrollTop(0):(r>this.$results.outerHeight()||0>r)&&this.$results.scrollTop(o)}},n.prototype.template=function(t,n){var i=this.options.get("templateResult"),s=this.options.get("escapeMarkup"),o=i(t,n);null==o?n.style.display="none":"string"==typeof o?n.innerHTML=s(o):e(n).append(o)},n}),t.define("select2/keys",[],function(){var e={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return e}),t.define("select2/selection/base",["jquery","../utils","../keys"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,t.Observable),i.prototype.render=function(){var t=e('');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),t.attr("title",this.$element.attr("title")),t.attr("tabindex",this._tabindex),this.$selection=t,t},i.prototype.bind=function(e,t){var i=this,s=(e.id+"-container",e.id+"-results");this.container=e,this.$selection.on("focus",function(e){i.trigger("focus",e)}),this.$selection.on("blur",function(e){i._handleBlur(e)}),this.$selection.on("keydown",function(e){i.trigger("keypress",e),e.which===n.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){i.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){i.update(e.data)}),e.on("open",function(){i.$selection.attr("aria-expanded","true"),i.$selection.attr("aria-owns",s),i._attachCloseHandler(e)}),e.on("close",function(){i.$selection.attr("aria-expanded","false"),i.$selection.removeAttr("aria-activedescendant"),i.$selection.removeAttr("aria-owns"),i.$selection.focus(),i._detachCloseHandler(e)}),e.on("enable",function(){i.$selection.attr("tabindex",i._tabindex)}),e.on("disable",function(){i.$selection.attr("tabindex","-1")})},i.prototype._handleBlur=function(t){var n=this;window.setTimeout(function(){document.activeElement==n.$selection[0]||e.contains(n.$selection[0],document.activeElement)||n.trigger("blur",t)},1)},i.prototype._attachCloseHandler=function(t){e(document.body).on("mousedown.select2."+t.id,function(t){var n=e(t.target),i=n.closest(".select2"),s=e(".select2.select2-container--open");s.each(function(){var t=e(this);if(this!=i[0]){var n=t.data("element");n.select2("close")}})})},i.prototype._detachCloseHandler=function(t){e(document.body).off("mousedown.select2."+t.id)},i.prototype.position=function(e,t){var n=t.find(".selection");n.append(e)},i.prototype.destroy=function(){this._detachCloseHandler(this.container)},i.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},i}),t.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,i){function s(){s.__super__.constructor.apply(this,arguments)}return n.Extend(s,t),s.prototype.render=function(){var e=s.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html(''),e},s.prototype.bind=function(e,t){var n=this;s.__super__.bind.apply(this,arguments);var i=e.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i),this.$selection.attr("aria-labelledby",i),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),e.on("focus",function(t){e.isOpen()||n.$selection.focus()}),e.on("selection:update",function(e){n.update(e.data)})},s.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},s.prototype.display=function(e,t){var n=this.options.get("templateSelection"),i=this.options.get("escapeMarkup");return i(n(e,t))},s.prototype.selectionContainer=function(){return e("")},s.prototype.update=function(e){if(0===e.length)return void this.clear();var t=e[0],n=this.$selection.find(".select2-selection__rendered"),i=this.display(t,n);n.empty().append(i),n.prop("title",t.title||t.text)},s}),t.define("select2/selection/multiple",["jquery","./base","../utils"],function(e,t,n){function i(e,t){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('
      '),e},i.prototype.bind=function(t,n){var s=this;i.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){s.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(t){if(!s.options.get("disabled")){var n=e(this),i=n.parent(),o=i.data("data");s.trigger("unselect",{originalEvent:t,data:o})}})},i.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},i.prototype.display=function(e,t){var n=this.options.get("templateSelection"),i=this.options.get("escapeMarkup");return i(n(e,t))},i.prototype.selectionContainer=function(){var t=e('
    • ×
    • ');return t},i.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],i=0;i1;if(i||n)return e.call(this,t);this.clear();var s=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(s)},t}),t.define("select2/selection/allowClear",["jquery","../keys"],function(e,t){function n(){}return n.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},n.prototype._handleClear=function(e,t){if(!this.options.get("disabled")){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();for(var i=n.data("data"),s=0;s0||0===n.length)){var i=e('×');i.data("data",n),this.$selection.find(".select2-selection__rendered").prepend(i)}},n}),t.define("select2/selection/search",["jquery","../utils","../keys"],function(e,t,n){function i(e,t,n){e.call(this,t,n)}return i.prototype.render=function(t){var n=e('');this.$searchContainer=n,this.$search=n.find("input");var i=t.call(this);return this._transferTabIndex(),i},i.prototype.bind=function(e,t,i){var s=this;e.call(this,t,i),t.on("open",function(){s.$search.trigger("focus")}),t.on("close",function(){s.$search.val(""),s.$search.removeAttr("aria-activedescendant"),s.$search.trigger("focus")}),t.on("enable",function(){s.$search.prop("disabled",!1),s._transferTabIndex()}),t.on("disable",function(){s.$search.prop("disabled",!0)}),t.on("focus",function(e){s.$search.trigger("focus")}),t.on("results:focus",function(e){s.$search.attr("aria-activedescendant",e.id)}),this.$selection.on("focusin",".select2-search--inline",function(e){s.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){s._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){e.stopPropagation(),s.trigger("keypress",e),s._keyUpPrevented=e.isDefaultPrevented();var t=e.which;if(t===n.BACKSPACE&&""===s.$search.val()){var i=s.$searchContainer.prev(".select2-selection__choice");if(i.length>0){var o=i.data("data");s.searchRemoveChoice(o),e.preventDefault()}}});var o=document.documentMode,r=o&&11>=o;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){return r?void s.$selection.off("input.search input.searchcheck"):void s.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(r&&"input"===e.type)return void s.$selection.off("input.search input.searchcheck");var t=e.which;t!=n.SHIFT&&t!=n.CTRL&&t!=n.ALT&&t!=n.TAB&&s.handleSearch(e)})},i.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},i.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},i.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.focus()},i.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},i.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},i.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";if(""!==this.$search.attr("placeholder"))e=this.$selection.find(".select2-selection__rendered").innerWidth();else{var t=this.$search.val().length+1;e=.75*t+"em"}this.$search.css("width",e)},i}),t.define("select2/selection/eventRelay",["jquery"],function(e){function t(){}return t.prototype.bind=function(t,n,i){var s=this,o=["open","opening","close","closing","select","selecting","unselect","unselecting"],r=["opening","closing","selecting","unselecting"];t.call(this,n,i),n.on("*",function(t,n){if(-1!==e.inArray(t,o)){n=n||{};var i=e.Event("select2:"+t,{params:n});s.$element.trigger(i),-1!==e.inArray(t,r)&&(n.prevented=i.isDefaultPrevented())}})},t}),t.define("select2/translation",["jquery","require"],function(e,t){function n(e){this.dict=e||{}}return n.prototype.all=function(){return this.dict},n.prototype.get=function(e){return this.dict[e]},n.prototype.extend=function(t){this.dict=e.extend({},t.all(),this.dict)},n._cache={},n.loadPath=function(e){if(!(e in n._cache)){var i=t(e);n._cache[e]=i}return new n(n._cache[e])},n}),t.define("select2/diacritics",[],function(){var e={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n", +"ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return e}),t.define("select2/data/base",["../utils"],function(e){function t(e,n){t.__super__.constructor.call(this)}return e.Extend(t,e.Observable),t.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},t.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},t.prototype.bind=function(e,t){},t.prototype.destroy=function(){},t.prototype.generateResultId=function(t,n){var i=t.id+"-result-";return i+=e.generateChars(4),i+=null!=n.id?"-"+n.id.toString():"-"+e.generateChars(4)},t}),t.define("select2/data/select",["./base","../utils","jquery"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,e),i.prototype.current=function(e){var t=[],i=this;this.$element.find(":selected").each(function(){var e=n(this),s=i.item(e);t.push(s)}),e(t)},i.prototype.select=function(e){var t=this;if(e.selected=!0,n(e.element).is("option"))return e.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(i){var s=[];e=[e],e.push.apply(e,i);for(var o=0;o=0){var c=o.filter(i(u)),d=this.item(c),h=n.extend(!0,{},u,d),f=this.option(h);c.replaceWith(f)}else{var p=this.option(u);if(u.children){var m=this.convertToOptions(u.children);t.appendMany(p,m)}a.push(p)}}return a},i}),t.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,n){function i(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),i.__super__.constructor.call(this,e,t)}return t.Extend(i,e),i.prototype._applyDefaults=function(e){var t={data:function(e){return n.extend({},e,{q:e.term})},transport:function(e,t,i){var s=n.ajax(e);return s.then(t),s.fail(i),s}};return n.extend({},t,e,!0)},i.prototype.processResults=function(e){return e},i.prototype.query=function(e,t){function i(){var i=o.transport(o,function(i){var o=s.processResults(i,e);s.options.get("debug")&&window.console&&console.error&&(o&&o.results&&n.isArray(o.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),t(o)},function(){i.status&&"0"===i.status||s.trigger("results:message",{message:"errorLoading"})});s._request=i}var s=this;null!=this._request&&(n.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var o=n.extend({type:"GET"},this.ajaxOptions);"function"==typeof o.url&&(o.url=o.url.call(this.$element,e)),"function"==typeof o.data&&(o.data=o.data.call(this.$element,e)),this.ajaxOptions.delay&&null!=e.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(i,this.ajaxOptions.delay)):i()},i}),t.define("select2/data/tags",["jquery"],function(e){function t(t,n,i){var s=i.get("tags"),o=i.get("createTag");void 0!==o&&(this.createTag=o);var r=i.get("insertTag");if(void 0!==r&&(this.insertTag=r),t.call(this,n,i),e.isArray(s))for(var a=0;a0&&t.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):void e.call(this,t,n)},e}),t.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){var i=this;this.current(function(s){var o=null!=s?s.length:0;return i.maximumSelectionLength>0&&o>=i.maximumSelectionLength?void i.trigger("results:message",{message:"maximumSelected",args:{maximum:i.maximumSelectionLength}}):void e.call(i,t,n)})},e}),t.define("select2/dropdown",["jquery","./utils"],function(e,t){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('');return t.attr("dir",this.options.get("dir")),this.$dropdown=t,t},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),t.define("select2/dropdown/search",["jquery","../utils"],function(e,t){function n(){}return n.prototype.render=function(t){var n=t.call(this),i=e('');return this.$searchContainer=i,this.$search=i.find("input"),n.prepend(i),n},n.prototype.bind=function(t,n,i){var s=this;t.call(this,n,i),this.$search.on("keydown",function(e){s.trigger("keypress",e),s._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(t){e(this).off("keyup")}),this.$search.on("keyup input",function(e){s.handleSearch(e)}),n.on("open",function(){s.$search.attr("tabindex",0),s.$search.focus(),window.setTimeout(function(){s.$search.focus()},0)}),n.on("close",function(){s.$search.attr("tabindex",-1),s.$search.val("")}),n.on("focus",function(){n.isOpen()&&s.$search.focus()}),n.on("results:all",function(e){if(null==e.query.term||""===e.query.term){var t=s.showSearch(e);t?s.$searchContainer.removeClass("select2-search--hide"):s.$searchContainer.addClass("select2-search--hide")}})},n.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},n.prototype.showSearch=function(e,t){return!0},n}),t.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;i>=0;i--){var s=t[i];this.placeholder.id===s.id&&n.splice(i,1)}return n},e}),t.define("select2/dropdown/infiniteScroll",["jquery"],function(e){function t(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return t.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&this.$results.append(this.$loadingMore)},t.prototype.bind=function(t,n,i){var s=this;t.call(this,n,i),n.on("query",function(e){s.lastParams=e,s.loading=!0}),n.on("query:append",function(e){s.lastParams=e,s.loading=!0}),this.$results.on("scroll",function(){var t=e.contains(document.documentElement,s.$loadingMore[0]);if(!s.loading&&t){var n=s.$results.offset().top+s.$results.outerHeight(!1),i=s.$loadingMore.offset().top+s.$loadingMore.outerHeight(!1);n+50>=i&&s.loadMore()}})},t.prototype.loadMore=function(){this.loading=!0;var t=e.extend({},{page:1},this.lastParams);t.page++,this.trigger("query:append",t)},t.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},t.prototype.createLoadingMore=function(){var t=e('
    • '),n=this.options.get("translations").get("loadingMore");return t.html(n(this.lastParams)),t},t}),t.define("select2/dropdown/attachBody",["jquery","../utils"],function(e,t){function n(t,n,i){this.$dropdownParent=i.get("dropdownParent")||e(document.body),t.call(this,n,i)}return n.prototype.bind=function(e,t,n){var i=this,s=!1;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),s||(s=!0,t.on("results:all",function(){i._positionDropdown(),i._resizeDropdown()}),t.on("results:append",function(){i._positionDropdown(),i._resizeDropdown()}))}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},n.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},n.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},n.prototype.render=function(t){var n=e(""),i=t.call(this);return n.append(i),this.$dropdownContainer=n,n},n.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},n.prototype._attachPositioningHandler=function(n,i){var s=this,o="scroll.select2."+i.id,r="resize.select2."+i.id,a="orientationchange.select2."+i.id,l=this.$container.parents().filter(t.hasScroll);l.each(function(){e(this).data("select2-scroll-position",{x:e(this).scrollLeft(),y:e(this).scrollTop()})}),l.on(o,function(t){var n=e(this).data("select2-scroll-position");e(this).scrollTop(n.y)}),e(window).on(o+" "+r+" "+a,function(e){s._positionDropdown(),s._resizeDropdown()})},n.prototype._detachPositioningHandler=function(n,i){var s="scroll.select2."+i.id,o="resize.select2."+i.id,r="orientationchange.select2."+i.id,a=this.$container.parents().filter(t.hasScroll);a.off(s),e(window).off(s+" "+o+" "+r)},n.prototype._positionDropdown=function(){var t=e(window),n=this.$dropdown.hasClass("select2-dropdown--above"),i=this.$dropdown.hasClass("select2-dropdown--below"),s=null,o=this.$container.offset();o.bottom=o.top+this.$container.outerHeight(!1);var r={height:this.$container.outerHeight(!1)};r.top=o.top,r.bottom=o.top+r.height;var a={height:this.$dropdown.outerHeight(!1)},l={top:t.scrollTop(),bottom:t.scrollTop()+t.height()},u=l.topo.bottom+a.height,d={left:o.left,top:r.bottom},h=this.$dropdownParent;"static"===h.css("position")&&(h=h.offsetParent());var f=h.offset();d.top-=f.top,d.left-=f.left,n||i||(s="below"),c||!u||n?!u&&c&&n&&(s="below"):s="above",("above"==s||n&&"below"!==s)&&(d.top=r.top-f.top-a.height),null!=s&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+s),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+s)),this.$dropdownContainer.css(d)},n.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},n.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},n}),t.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(t){for(var n=0,i=0;i0&&(d.dataAdapter=u.Decorate(d.dataAdapter,y)),d.maximumInputLength>0&&(d.dataAdapter=u.Decorate(d.dataAdapter,v)),d.maximumSelectionLength>0&&(d.dataAdapter=u.Decorate(d.dataAdapter,w)),d.tags&&(d.dataAdapter=u.Decorate(d.dataAdapter,m)),(null!=d.tokenSeparators||null!=d.tokenizer)&&(d.dataAdapter=u.Decorate(d.dataAdapter,g)),null!=d.query){var k=t(d.amdBase+"compat/query");d.dataAdapter=u.Decorate(d.dataAdapter,k)}if(null!=d.initSelection){var E=t(d.amdBase+"compat/initSelection");d.dataAdapter=u.Decorate(d.dataAdapter,E)}}if(null==d.resultsAdapter&&(d.resultsAdapter=n,null!=d.ajax&&(d.resultsAdapter=u.Decorate(d.resultsAdapter,C)),null!=d.placeholder&&(d.resultsAdapter=u.Decorate(d.resultsAdapter,b)),d.selectOnClose&&(d.resultsAdapter=u.Decorate(d.resultsAdapter,x))),null==d.dropdownAdapter){if(d.multiple)d.dropdownAdapter=_;else{var O=u.Decorate(_,A);d.dropdownAdapter=O}if(0!==d.minimumResultsForSearch&&(d.dropdownAdapter=u.Decorate(d.dropdownAdapter,D)),d.closeOnSelect&&(d.dropdownAdapter=u.Decorate(d.dropdownAdapter,M)),null!=d.dropdownCssClass||null!=d.dropdownCss||null!=d.adaptDropdownCssClass){var Y=t(d.amdBase+"compat/dropdownCss");d.dropdownAdapter=u.Decorate(d.dropdownAdapter,Y)}d.dropdownAdapter=u.Decorate(d.dropdownAdapter,S)}if(null==d.selectionAdapter){if(d.multiple?d.selectionAdapter=s:d.selectionAdapter=i,null!=d.placeholder&&(d.selectionAdapter=u.Decorate(d.selectionAdapter,o)),d.allowClear&&(d.selectionAdapter=u.Decorate(d.selectionAdapter,r)),d.multiple&&(d.selectionAdapter=u.Decorate(d.selectionAdapter,a)),null!=d.containerCssClass||null!=d.containerCss||null!=d.adaptContainerCssClass){var T=t(d.amdBase+"compat/containerCss");d.selectionAdapter=u.Decorate(d.selectionAdapter,T)}d.selectionAdapter=u.Decorate(d.selectionAdapter,l)}if("string"==typeof d.language)if(d.language.indexOf("-")>0){var I=d.language.split("-"),B=I[0];d.language=[d.language,B]}else d.language=[d.language];if(e.isArray(d.language)){var H=new c;d.language.push("en");for(var L=d.language,j=0;j0){for(var o=e.extend(!0,{},s),r=s.children.length-1;r>=0;r--){var a=s.children[r],l=n(i,a);null==l&&o.children.splice(r,1)}return o.children.length>0?o:n(i,o)}var u=t(s.text).toUpperCase(),c=t(i.term).toUpperCase();return u.indexOf(c)>-1?s:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:u.escapeMarkup,language:k,matcher:n,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},E.prototype.set=function(t,n){var i=e.camelCase(t),s={};s[i]=n;var o=u._convertData(s);e.extend(this.defaults,o)};var O=new E;return O}),t.define("select2/options",["require","jquery","./defaults","./utils"],function(e,t,n,i){function s(t,s){if(this.options=t,null!=s&&this.fromElement(s),this.options=n.apply(this.options),s&&s.is("input")){var o=e(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=i.Decorate(this.options.dataAdapter,o)}}return s.prototype.fromElement=function(e){var n=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.language&&(e.prop("lang")?this.options.language=e.prop("lang").toLowerCase():e.closest("[lang]").prop("lang")&&(this.options.language=e.closest("[lang]").prop("lang"))),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),e.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),e.data("data",e.data("select2Tags")),e.data("tags",!0)),e.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",e.data("ajaxUrl")),e.data("ajax--url",e.data("ajaxUrl")));var s={};s=t.fn.jquery&&"1."==t.fn.jquery.substr(0,2)&&e[0].dataset?t.extend(!0,{},e[0].dataset,e.data()):e.data();var o=t.extend(!0,{},s);o=i._convertData(o);for(var r in o)t.inArray(r,n)>-1||(t.isPlainObject(this.options[r])?t.extend(this.options[r],o[r]):this.options[r]=o[r]);return this},s.prototype.get=function(e){return this.options[e]},s.prototype.set=function(e,t){this.options[e]=t},s}),t.define("select2/core",["jquery","./options","./utils","./keys"],function(e,t,n,i){var s=function(e,n){null!=e.data("select2")&&e.data("select2").destroy(),this.$element=e,this.id=this._generateId(e),n=n||{},this.options=new t(n,e),s.__super__.constructor.call(this);var i=e.attr("tabindex")||0;e.data("old-tabindex",i),e.attr("tabindex","-1");var o=this.options.get("dataAdapter");this.dataAdapter=new o(e,this.options);var r=this.render();this._placeContainer(r);var a=this.options.get("selectionAdapter");this.selection=new a(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,r);var l=this.options.get("dropdownAdapter");this.dropdown=new l(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,r);var u=this.options.get("resultsAdapter");this.results=new u(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var c=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){c.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),e.data("select2",this)};return n.Extend(s,n.Observable),s.prototype._generateId=function(e){var t="";return t=null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+n.generateChars(2):n.generateChars(4),t=t.replace(/(:|\.|\[|\]|,)/g,""),t="select2-"+t},s.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},s.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var i=this._resolveWidth(e,"style");return null!=i?i:this._resolveWidth(e,"element")}if("element"==t){var s=e.outerWidth(!1);return 0>=s?"auto":s+"px"}if("style"==t){var o=e.attr("style");if("string"!=typeof o)return null;for(var r=o.split(";"),a=0,l=r.length;l>a;a+=1){var u=r[a].replace(/\s/g,""),c=u.match(n);if(null!==c&&c.length>=1)return c[1]}return null}return t},s.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},s.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=n.bind(this._syncAttributes,this),this._syncS=n.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var i=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=i?(this._observer=new i(function(n){e.each(n,t._syncA),e.each(n,t._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},s.prototype._registerDataEvents=function(){var e=this;this.dataAdapter.on("*",function(t,n){e.trigger(t,n)})},s.prototype._registerSelectionEvents=function(){var t=this,n=["toggle","focus"];this.selection.on("toggle",function(){t.toggleDropdown()}),this.selection.on("focus",function(e){t.focus(e)}),this.selection.on("*",function(i,s){-1===e.inArray(i,n)&&t.trigger(i,s)})},s.prototype._registerDropdownEvents=function(){var e=this;this.dropdown.on("*",function(t,n){e.trigger(t,n)})},s.prototype._registerResultsEvents=function(){var e=this;this.results.on("*",function(t,n){e.trigger(t,n)})},s.prototype._registerEvents=function(){var e=this;this.on("open",function(){e.$container.addClass("select2-container--open")}),this.on("close",function(){e.$container.removeClass("select2-container--open")}),this.on("enable",function(){e.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){e.$container.addClass("select2-container--disabled")}),this.on("blur",function(){e.$container.removeClass("select2-container--focus")}),this.on("query",function(t){e.isOpen()||e.trigger("open",{}),this.dataAdapter.query(t,function(n){e.trigger("results:all",{data:n,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(n){e.trigger("results:append",{data:n,query:t})})}),this.on("keypress",function(t){var n=t.which;e.isOpen()?n===i.ESC||n===i.TAB||n===i.UP&&t.altKey?(e.close(),t.preventDefault()):n===i.ENTER?(e.trigger("results:select",{}),t.preventDefault()):n===i.SPACE&&t.ctrlKey?(e.trigger("results:toggle",{}),t.preventDefault()):n===i.UP?(e.trigger("results:previous",{}),t.preventDefault()):n===i.DOWN&&(e.trigger("results:next",{}),t.preventDefault()):(n===i.ENTER||n===i.SPACE||n===i.DOWN&&t.altKey)&&(e.open(),t.preventDefault())})},s.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},s.prototype._syncSubtree=function(e,t){var n=!1,i=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&t.addedNodes.length>0)for(var s=0;s0&&(n=!0);else n=!0;n&&this.dataAdapter.current(function(e){i.trigger("selection:update",{ +data:e})})}},s.prototype.trigger=function(e,t){var n=s.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===t&&(t={}),e in i){var o=i[e],r={prevented:!1,name:e,args:t};if(n.call(this,o,r),r.prevented)return void(t.prevented=!0)}n.call(this,e,t)},s.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},s.prototype.open=function(){this.isOpen()||this.trigger("query",{})},s.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},s.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},s.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},s.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},s.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==e||0===e.length)&&(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},s.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var e=[];return this.dataAdapter.current(function(t){e=t}),e},s.prototype.val=function(t){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==t||0===t.length)return this.$element.val();var n=t[0];e.isArray(n)&&(n=e.map(n,function(e){return e.toString()})),this.$element.val(n).trigger("change")},s.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},s.prototype.render=function(){var t=e('');return t.attr("dir",this.options.get("dir")),this.$container=t,this.$container.addClass("select2-container--"+this.options.get("theme")),t.data("element",this.$element),t},s}),t.define("jquery-mousewheel",["jquery"],function(e){return e}),t.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(e,t,n,i){if(null==e.fn.select2){var s=["open","close","destroy"];e.fn.select2=function(t){if(t=t||{},"object"==typeof t)return this.each(function(){var i=e.extend(!0,{},t);new n(e(this),i)}),this;if("string"==typeof t){var i,o=Array.prototype.slice.call(arguments,1);return this.each(function(){var n=e(this).data("select2");null==n&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),i=n[t].apply(n,o)}),e.inArray(t,s)>-1?this:i}throw new Error("Invalid arguments for Select2: "+t)}}return null==e.fn.select2.defaults&&(e.fn.select2.defaults=i),n}),{define:t.define,require:t.require}}(),n=t.require("jquery.select2");return e.fn.select2.amd=t,n}),!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";function e(){return mi.apply(null,arguments)}function t(e){mi=e}function n(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){var t;for(t in e)return!1;return!0}function o(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function r(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function a(e,t){var n,i=[];for(n=0;n0)for(n in vi)i=vi[n],s=t[i],m(s)||(e[i]=s);return e}function y(t){g(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),wi===!1&&(wi=!0,e.updateOffset(this),wi=!1)}function v(e){return e instanceof y||null!=e&&null!=e._isAMomentObject}function w(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function _(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=w(t)),n}function A(e,t,n){var i,s=Math.min(e.length,t.length),o=Math.abs(e.length-t.length),r=0;for(i=0;i0?"future":"past"];return D(n)?n(t):n.replace(/%s/i,t)}function H(e,t){var n=e.toLowerCase();Oi[n]=Oi[n+"s"]=Oi[t]=e}function L(e){return"string"==typeof e?Oi[e]||Oi[e.toLowerCase()]:void 0}function j(e){var t,n,i={};for(n in e)l(e,n)&&(t=L(n),t&&(i[t]=e[n]));return i}function q(e,t){Yi[e]=t}function P(e){var t=[];for(var n in e)t.push({unit:n,priority:Yi[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function $(t,n){return function(i){return null!=i?(G(this,t,i),e.updateOffset(this,n),this):Q(this,t)}}function Q(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function G(e,t,n){e.isValid()&&e._d["set"+(e._isUTC?"UTC":"")+t](n)}function U(e){return e=L(e),D(this[e])?this[e]():this}function W(e,t){if("object"==typeof e){e=j(e);for(var n=P(e),i=0;i=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,s)).toString().substr(1)+i}function F(e,t,n,i){var s=i;"string"==typeof i&&(s=function(){return this[i]()}),e&&(Hi[e]=s),t&&(Hi[t[0]]=function(){return R(s.apply(this,arguments),t[1],t[2])}),n&&(Hi[n]=function(){return this.localeData().ordinal(s.apply(this,arguments),e)})}function N(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function K(e){var t,n,i=e.match(Ti);for(t=0,n=i.length;t=0&&Ii.test(e);)e=e.replace(Ii,n),Ii.lastIndex=0,i-=1;return e}function Z(e,t,n){Xi[e]=D(t)?t:function(e,i){return e&&n?n:t}}function V(e,t){return l(Xi,e)?Xi[e](t._strict,t._locale):new RegExp(X(e))}function X(e){return ee(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,i,s){return t||n||i||s}))}function ee(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function te(e,t){var n,i=t;for("string"==typeof e&&(e=[e]),o(t)&&(i=function(e,n){n[t]=_(e)}),n=0;n=0&&isFinite(a.getFullYear())&&a.setFullYear(e),a}function we(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function _e(e,t,n){var i=7+t-n,s=(7+we(e,0,i).getUTCDay()-t)%7;return-s+i-1}function Ae(e,t,n,i,s){var o,r,a=(7+n-i)%7,l=_e(e,i,s),u=1+7*(t-1)+a+l;return u<=0?(o=e-1,r=me(o)+u):u>me(e)?(o=e+1,r=u-me(e)):(o=e,r=u),{year:o,dayOfYear:r}}function be(e,t,n){var i,s,o=_e(e.year(),t,n),r=Math.floor((e.dayOfYear()-o-1)/7)+1;return r<1?(s=e.year()-1,i=r+Ce(s,t,n)):r>Ce(e.year(),t,n)?(i=r-Ce(e.year(),t,n),s=e.year()+1):(s=e.year(),i=r),{week:i,year:s}}function Ce(e,t,n){var i=_e(e,t,n),s=_e(e+1,t,n);return(me(e)-i+s)/7}function Se(e){return be(e,this._week.dow,this._week.doy).week}function De(){return this._week.dow}function xe(){return this._week.doy}function Me(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function ke(e){var t=be(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function Ee(e,t){return"string"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e,10)}function Oe(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Ye(e,t){return e?n(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:this._weekdays}function Te(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Ie(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Be(e,t,n){var i,s,o,r=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)o=c([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===t?(s=cs.call(this._weekdaysParse,r),s!==-1?s:null):"ddd"===t?(s=cs.call(this._shortWeekdaysParse,r),s!==-1?s:null):(s=cs.call(this._minWeekdaysParse,r),s!==-1?s:null):"dddd"===t?(s=cs.call(this._weekdaysParse,r),s!==-1?s:(s=cs.call(this._shortWeekdaysParse,r),s!==-1?s:(s=cs.call(this._minWeekdaysParse,r),s!==-1?s:null))):"ddd"===t?(s=cs.call(this._shortWeekdaysParse,r),s!==-1?s:(s=cs.call(this._weekdaysParse,r),s!==-1?s:(s=cs.call(this._minWeekdaysParse,r),s!==-1?s:null))):(s=cs.call(this._minWeekdaysParse,r),s!==-1?s:(s=cs.call(this._weekdaysParse,r),s!==-1?s:(s=cs.call(this._shortWeekdaysParse,r),s!==-1?s:null)))}function He(e,t,n){var i,s,o;if(this._weekdaysParseExact)return Be.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(s=c([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(s,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(s,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(s,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(o="^"+this.weekdays(s,"")+"|^"+this.weekdaysShort(s,"")+"|^"+this.weekdaysMin(s,""),this._weekdaysParse[i]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[i].test(e))return i;if(n&&"ddd"===t&&this._shortWeekdaysParse[i].test(e))return i;if(n&&"dd"===t&&this._minWeekdaysParse[i].test(e))return i;if(!n&&this._weekdaysParse[i].test(e))return i}}function Le(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Ee(e,this.localeData()),this.add(e-t,"d")):t}function je(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function qe(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Oe(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Pe(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=As),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function $e(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=bs),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Qe(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Ge.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Cs),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Ge(){function e(e,t){return t.length-e.length}var t,n,i,s,o,r=[],a=[],l=[],u=[];for(t=0;t<7;t++)n=c([2e3,1]).day(t),i=this.weekdaysMin(n,""),s=this.weekdaysShort(n,""),o=this.weekdays(n,""),r.push(i),a.push(s),l.push(o),u.push(i),u.push(s),u.push(o);for(r.sort(e),a.sort(e),l.sort(e),u.sort(e),t=0;t<7;t++)a[t]=ee(a[t]),l[t]=ee(l[t]),u[t]=ee(u[t]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Ue(){return this.hours()%12||12}function We(){return this.hours()||24}function Re(e,t){F(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Fe(e,t){return t._meridiemParse}function Ne(e){return"p"===(e+"").toLowerCase().charAt(0)}function Ke(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}function ze(e){return e?e.toLowerCase().replace("_","-"):e}function Je(e){for(var t,n,i,s,o=0;o0;){if(i=Ze(s.slice(0,t).join("-")))return i;if(n&&n.length>=t&&A(s,n,!0)>=t-1)break;t--}o++}return null}function Ze(e){var t=null;if(!ks[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=Ss._abbr,require("./locale/"+e),Ve(t)}catch(e){}return ks[e]}function Ve(e,t){var n;return e&&(n=m(t)?tt(e):Xe(e,t),n&&(Ss=n)),Ss._abbr}function Xe(e,t){if(null!==t){var n=Ms;if(t.abbr=e,null!=ks[e])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=ks[e]._config;else if(null!=t.parentLocale){if(null==ks[t.parentLocale])return Es[t.parentLocale]||(Es[t.parentLocale]=[]),Es[t.parentLocale].push({name:e,config:t}),null;n=ks[t.parentLocale]._config}return ks[e]=new k(M(n,t)),Es[e]&&Es[e].forEach(function(e){Xe(e.name,e.config)}),Ve(e),ks[e]}return delete ks[e],null}function et(e,t){if(null!=t){var n,i=Ms;null!=ks[e]&&(i=ks[e]._config),t=M(i,t),n=new k(t),n.parentLocale=ks[e],ks[e]=n,Ve(e)}else null!=ks[e]&&(null!=ks[e].parentLocale?ks[e]=ks[e].parentLocale:null!=ks[e]&&delete ks[e]);return ks[e]}function tt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Ss;if(!n(e)){if(t=Ze(e))return t;e=[e]}return Je(e)}function nt(){return Ci(ks)}function it(e){var t,n=e._a;return n&&h(e).overflow===-2&&(t=n[ns]<0||n[ns]>11?ns:n[is]<1||n[is]>se(n[ts],n[ns])?is:n[ss]<0||n[ss]>24||24===n[ss]&&(0!==n[os]||0!==n[rs]||0!==n[as])?ss:n[os]<0||n[os]>59?os:n[rs]<0||n[rs]>59?rs:n[as]<0||n[as]>999?as:-1,h(e)._overflowDayOfYear&&(tis)&&(t=is),h(e)._overflowWeeks&&t===-1&&(t=ls),h(e)._overflowWeekday&&t===-1&&(t=us),h(e).overflow=t),e}function st(e){var t,n,i,s,o,r,a=e._i,l=Os.exec(a)||Ys.exec(a);if(l){for(h(e).iso=!0,t=0,n=Is.length;tme(s)&&(h(e)._overflowDayOfYear=!0),n=we(s,0,e._dayOfYear),e._a[ns]=n.getUTCMonth(),e._a[is]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=i[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ss]&&0===e._a[os]&&0===e._a[rs]&&0===e._a[as]&&(e._nextDay=!0,e._a[ss]=0),e._d=(e._useUTC?we:ve).apply(null,o),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ss]=24)}}function ut(e){var t,n,i,s,o,r,a,l;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)o=1,r=4,n=rt(t.GG,e._a[ts],be(vt(),1,4).year),i=rt(t.W,1),s=rt(t.E,1),(s<1||s>7)&&(l=!0);else{o=e._locale._week.dow,r=e._locale._week.doy;var u=be(vt(),o,r);n=rt(t.gg,e._a[ts],u.year),i=rt(t.w,u.week),null!=t.d?(s=t.d,(s<0||s>6)&&(l=!0)):null!=t.e?(s=t.e+o,(t.e<0||t.e>6)&&(l=!0)):s=o}i<1||i>Ce(n,o,r)?h(e)._overflowWeeks=!0:null!=l?h(e)._overflowWeekday=!0:(a=Ae(n,i,s,o,r),e._a[ts]=a.year,e._dayOfYear=a.dayOfYear)}function ct(t){if(t._f===e.ISO_8601)return void st(t);t._a=[],h(t).empty=!0;var n,i,s,o,r,a=""+t._i,l=a.length,u=0;for(s=J(t._f,t._locale).match(Ti)||[],n=0;n0&&h(t).unusedInput.push(r),a=a.slice(a.indexOf(i)+i.length),u+=i.length),Hi[o]?(i?h(t).empty=!1:h(t).unusedTokens.push(o),ie(o,i,t)):t._strict&&!i&&h(t).unusedTokens.push(o);h(t).charsLeftOver=l-u,a.length>0&&h(t).unusedInput.push(a),t._a[ss]<=12&&h(t).bigHour===!0&&t._a[ss]>0&&(h(t).bigHour=void 0),h(t).parsedDateParts=t._a.slice(0),h(t).meridiem=t._meridiem,t._a[ss]=dt(t._locale,t._a[ss],t._meridiem),lt(t),it(t)}function dt(e,t,n){var i;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(i=e.isPM(n),i&&t<12&&(t+=12),i||12!==t||(t=0),t):t}function ht(e){var t,n,i,s,o;if(0===e._f.length)return h(e).invalidFormat=!0,void(e._d=new Date(NaN));for(s=0;sthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Lt(){if(!m(this._isDSTShifted))return this._isDSTShifted;var e={};if(g(e,this),e=mt(e),e._a){var t=e._isUTC?c(e._a):vt(e._a);this._isDSTShifted=this.isValid()&&A(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function jt(){return!!this.isValid()&&!this._isUTC}function qt(){return!!this.isValid()&&this._isUTC}function Pt(){return!!this.isValid()&&this._isUTC&&0===this._offset}function $t(e,t){var n,i,s,r=e,a=null;return Ct(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:o(e)?(r={},t?r[t]=e:r.milliseconds=e):(a=$s.exec(e))?(n="-"===a[1]?-1:1,r={y:0,d:_(a[is])*n,h:_(a[ss])*n,m:_(a[os])*n,s:_(a[rs])*n,ms:_(St(1e3*a[as]))*n}):(a=Qs.exec(e))?(n="-"===a[1]?-1:1,r={y:Qt(a[2],n),M:Qt(a[3],n),w:Qt(a[4],n),d:Qt(a[5],n),h:Qt(a[6],n),m:Qt(a[7],n),s:Qt(a[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(s=Ut(vt(r.from),vt(r.to)),r={},r.ms=s.milliseconds,r.M=s.months),i=new bt(r),Ct(e)&&l(e,"_locale")&&(i._locale=e._locale),i}function Qt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Gt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function Ut(e,t){var n;return e.isValid()&&t.isValid()?(t=Mt(t,e),e.isBefore(t)?n=Gt(e,t):(n=Gt(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Wt(e,t){return function(n,i){var s,o;return null===i||isNaN(+i)||(S(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=n,n=i,i=o),n="string"==typeof n?+n:n,s=$t(n,i),Rt(this,s,e),this}}function Rt(t,n,i,s){var o=n._milliseconds,r=St(n._days),a=St(n._months);t.isValid()&&(s=null==s||s,o&&t._d.setTime(t._d.valueOf()+o*i),r&&G(t,"Date",Q(t,"Date")+r*i),a&&ue(t,Q(t,"Month")+a*i),s&&e.updateOffset(t,r||a))}function Ft(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Nt(t,n){var i=t||vt(),s=Mt(i,this).startOf("day"),o=e.calendarFormat(this,s)||"sameElse",r=n&&(D(n[o])?n[o].call(this,i):n[o]);return this.format(r||this.localeData().calendar(o,this,vt(i)))}function Kt(){return new y(this)}function zt(e,t){var n=v(e)?e:vt(e);return!(!this.isValid()||!n.isValid())&&(t=L(m(t)?"millisecond":t),"millisecond"===t?this.valueOf()>n.valueOf():n.valueOf()o&&(t=o),Tn.call(this,e,t,n,i,s))}function Tn(e,t,n,i,s){var o=Ae(e,t,n,i,s),r=we(o.year,0,o.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function In(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Bn(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}function Hn(e,t){t[as]=_(1e3*("0."+e))}function Ln(){return this._isUTC?"UTC":""}function jn(){return this._isUTC?"Coordinated Universal Time":""}function qn(e){return vt(1e3*e)}function Pn(){return vt.apply(null,arguments).parseZone()}function $n(e){return e}function Qn(e,t,n,i){var s=tt(),o=c().set(i,t);return s[n](o,e)}function Gn(e,t,n){if(o(e)&&(t=e,e=void 0),e=e||"",null!=t)return Qn(e,t,n,"month");var i,s=[];for(i=0;i<12;i++)s[i]=Qn(e,i,n,"month");return s}function Un(e,t,n,i){"boolean"==typeof e?(o(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,o(t)&&(n=t,t=void 0),t=t||"");var s=tt(),r=e?s._week.dow:0;if(null!=n)return Qn(t,(n+r)%7,i,"day");var a,l=[];for(a=0;a<7;a++)l[a]=Qn(t,(a+r)%7,i,"day");return l}function Wn(e,t){return Gn(e,t,"months")}function Rn(e,t){return Gn(e,t,"monthsShort")}function Fn(e,t,n){return Un(e,t,n,"weekdays")}function Nn(e,t,n){return Un(e,t,n,"weekdaysShort")}function Kn(e,t,n){return Un(e,t,n,"weekdaysMin")}function zn(){var e=this._data;return this._milliseconds=Vs(this._milliseconds),this._days=Vs(this._days),this._months=Vs(this._months),e.milliseconds=Vs(e.milliseconds),e.seconds=Vs(e.seconds),e.minutes=Vs(e.minutes),e.hours=Vs(e.hours),e.months=Vs(e.months),e.years=Vs(e.years),this}function Jn(e,t,n,i){var s=$t(t,n);return e._milliseconds+=i*s._milliseconds,e._days+=i*s._days,e._months+=i*s._months,e._bubble()}function Zn(e,t){return Jn(this,e,t,1)}function Vn(e,t){return Jn(this,e,t,-1)}function Xn(e){return e<0?Math.floor(e):Math.ceil(e)}function ei(){var e,t,n,i,s,o=this._milliseconds,r=this._days,a=this._months,l=this._data;return o>=0&&r>=0&&a>=0||o<=0&&r<=0&&a<=0||(o+=864e5*Xn(ni(a)+r),r=0,a=0),l.milliseconds=o%1e3,e=w(o/1e3),l.seconds=e%60,t=w(e/60),l.minutes=t%60,n=w(t/60),l.hours=n%24,r+=w(n/24),s=w(ti(r)),a+=s,r-=Xn(ni(s)),i=w(a/12),a%=12,l.days=r,l.months=a,l.years=i,this}function ti(e){return 4800*e/146097}function ni(e){return 146097*e/4800}function ii(e){var t,n,i=this._milliseconds;if(e=L(e),"month"===e||"year"===e)return t=this._days+i/864e5,n=this._months+ti(t),"month"===e?n:n/12;switch(t=this._days+Math.round(ni(this._months)),e){case"week":return t/7+i/6048e5;case"day":return t+i/864e5;case"hour":return 24*t+i/36e5;case"minute":return 1440*t+i/6e4;case"second":return 86400*t+i/1e3;case"millisecond":return Math.floor(864e5*t)+i;default:throw new Error("Unknown unit "+e)}}function si(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12)}function oi(e){return function(){return this.as(e)}}function ri(e){return e=L(e),this[e+"s"]()}function ai(e){return function(){return this._data[e]}}function li(){return w(this.days()/7)}function ui(e,t,n,i,s){return s.relativeTime(t||1,!!n,e,i)}function ci(e,t,n){var i=$t(e).abs(),s=mo(i.as("s")),o=mo(i.as("m")),r=mo(i.as("h")),a=mo(i.as("d")),l=mo(i.as("M")),u=mo(i.as("y")),c=s0,c[4]=n,ui.apply(null,c)}function di(e){return void 0===e?mo:"function"==typeof e&&(mo=e,!0)}function hi(e,t){return void 0!==go[e]&&(void 0===t?go[e]:(go[e]=t,!0))}function fi(e){var t=this.localeData(),n=ci(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function pi(){var e,t,n,i=yo(this._milliseconds)/1e3,s=yo(this._days),o=yo(this._months);e=w(i/60),t=w(e/60),i%=60,e%=60,n=w(o/12),o%=12;var r=n,a=o,l=s,u=t,c=e,d=i,h=this.asSeconds();return h?(h<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(l?l+"D":"")+(u||c||d?"T":"")+(u?u+"H":"")+(c?c+"M":"")+(d?d+"S":""):"P0D"}var mi,gi;gi=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,i=0;i68?1900:2e3)};var gs=$("FullYear",!0);F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),H("week","w"),H("isoWeek","W"),q("week",5),q("isoWeek",5),Z("w",Qi),Z("ww",Qi,ji),Z("W",Qi),Z("WW",Qi,ji),ne(["w","ww","W","WW"],function(e,t,n,i){t[i.substr(0,1)]=_(e)});var ys={dow:0,doy:6};F("d",0,"do","day"),F("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),F("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),F("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),H("day","d"),H("weekday","e"),H("isoWeekday","E"),q("day",11),q("weekday",11),q("isoWeekday",11),Z("d",Qi),Z("e",Qi),Z("E",Qi),Z("dd",function(e,t){return t.weekdaysMinRegex(e)}),Z("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Z("dddd",function(e,t){return t.weekdaysRegex(e)}),ne(["dd","ddd","dddd"],function(e,t,n,i){var s=n._locale.weekdaysParse(e,i,n._strict);null!=s?t.d=s:h(n).invalidWeekday=e}),ne(["d","e","E"],function(e,t,n,i){t[i]=_(e)});var vs="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ws="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),_s="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),As=Vi,bs=Vi,Cs=Vi;F("H",["HH",2],0,"hour"),F("h",["hh",2],0,Ue),F("k",["kk",2],0,We),F("hmm",0,0,function(){return""+Ue.apply(this)+R(this.minutes(),2)}),F("hmmss",0,0,function(){return""+Ue.apply(this)+R(this.minutes(),2)+R(this.seconds(),2)}),F("Hmm",0,0,function(){return""+this.hours()+R(this.minutes(),2)}),F("Hmmss",0,0,function(){return""+this.hours()+R(this.minutes(),2)+R(this.seconds(),2)}),Re("a",!0),Re("A",!1),H("hour","h"),q("hour",13),Z("a",Fe),Z("A",Fe),Z("H",Qi),Z("h",Qi),Z("HH",Qi,ji),Z("hh",Qi,ji),Z("hmm",Gi),Z("hmmss",Ui),Z("Hmm",Gi),Z("Hmmss",Ui),te(["H","HH"],ss),te(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),te(["h","hh"],function(e,t,n){t[ss]=_(e),h(n).bigHour=!0}),te("hmm",function(e,t,n){var i=e.length-2;t[ss]=_(e.substr(0,i)),t[os]=_(e.substr(i)),h(n).bigHour=!0}),te("hmmss",function(e,t,n){var i=e.length-4,s=e.length-2;t[ss]=_(e.substr(0,i)),t[os]=_(e.substr(i,2)),t[rs]=_(e.substr(s)),h(n).bigHour=!0}),te("Hmm",function(e,t,n){var i=e.length-2;t[ss]=_(e.substr(0,i)),t[os]=_(e.substr(i))}),te("Hmmss",function(e,t,n){var i=e.length-4,s=e.length-2;t[ss]=_(e.substr(0,i)),t[os]=_(e.substr(i,2)),t[rs]=_(e.substr(s))});var Ss,Ds=/[ap]\.?m?\.?/i,xs=$("Hours",!0),Ms={calendar:Si,longDateFormat:Di,invalidDate:xi,ordinal:Mi,ordinalParse:ki,relativeTime:Ei,months:hs,monthsShort:fs,week:ys,weekdays:vs,weekdaysMin:_s,weekdaysShort:ws,meridiemParse:Ds},ks={},Es={},Os=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ys=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ts=/Z|[+-]\d\d(?::?\d\d)?/,Is=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Bs=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Hs=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=C("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Ls=C("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=vt.apply(null,arguments);return this.isValid()&&e.isValid()?ethis?this:e:p()}),qs=function(){return Date.now?Date.now():+new Date};Dt("Z",":"),Dt("ZZ",""),Z("Z",Ji),Z("ZZ",Ji),te(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=xt(Ji,e)});var Ps=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var $s=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Qs=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;$t.fn=bt.prototype;var Gs=Wt(1,"add"),Us=Wt(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Ws=C("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),xn("gggg","weekYear"),xn("ggggg","weekYear"),xn("GGGG","isoWeekYear"),xn("GGGGG","isoWeekYear"),H("weekYear","gg"),H("isoWeekYear","GG"),q("weekYear",1),q("isoWeekYear",1),Z("G",Ki),Z("g",Ki),Z("GG",Qi,ji),Z("gg",Qi,ji),Z("GGGG",Ri,Pi),Z("gggg",Ri,Pi),Z("GGGGG",Fi,$i),Z("ggggg",Fi,$i),ne(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,i){t[i.substr(0,2)]=_(e)}),ne(["gg","GG"],function(t,n,i,s){n[s]=e.parseTwoDigitYear(t)}),F("Q",0,"Qo","quarter"),H("quarter","Q"),q("quarter",7),Z("Q",Li),te("Q",function(e,t){t[ns]=3*(_(e)-1)}),F("D",["DD",2],"Do","date"),H("date","D"),q("date",9),Z("D",Qi),Z("DD",Qi,ji),Z("Do",function(e,t){return e?t._ordinalParse:t._ordinalParseLenient}),te(["D","DD"],is),te("Do",function(e,t){t[is]=_(e.match(Qi)[0],10)});var Rs=$("Date",!0);F("DDD",["DDDD",3],"DDDo","dayOfYear"),H("dayOfYear","DDD"),q("dayOfYear",4),Z("DDD",Wi),Z("DDDD",qi),te(["DDD","DDDD"],function(e,t,n){n._dayOfYear=_(e)}),F("m",["mm",2],0,"minute"),H("minute","m"),q("minute",14),Z("m",Qi),Z("mm",Qi,ji),te(["m","mm"],os);var Fs=$("Minutes",!1);F("s",["ss",2],0,"second"),H("second","s"),q("second",15),Z("s",Qi),Z("ss",Qi,ji),te(["s","ss"],rs);var Ns=$("Seconds",!1);F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,function(){return 10*this.millisecond()}),F(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),F(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),F(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),F(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),F(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),H("millisecond","ms"),q("millisecond",16),Z("S",Wi,Li),Z("SS",Wi,ji),Z("SSS",Wi,qi);var Ks;for(Ks="SSSS";Ks.length<=9;Ks+="S")Z(Ks,Ni);for(Ks="S";Ks.length<=9;Ks+="S")te(Ks,Hn);var zs=$("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var Js=y.prototype;Js.add=Gs,Js.calendar=Nt,Js.clone=Kt,Js.diff=tn,Js.endOf=mn,Js.format=an,Js.from=ln,Js.fromNow=un,Js.to=cn,Js.toNow=dn,Js.get=U,Js.invalidAt=Sn,Js.isAfter=zt,Js.isBefore=Jt,Js.isBetween=Zt,Js.isSame=Vt,Js.isSameOrAfter=Xt,Js.isSameOrBefore=en,Js.isValid=bn,Js.lang=Ws,Js.locale=hn,Js.localeData=fn,Js.max=js,Js.min=Ls,Js.parsingFlags=Cn,Js.set=W,Js.startOf=pn,Js.subtract=Us,Js.toArray=wn,Js.toObject=_n,Js.toDate=vn,Js.toISOString=on,Js.inspect=rn,Js.toJSON=An,Js.toString=sn,Js.unix=yn,Js.valueOf=gn,Js.creationData=Dn,Js.year=gs,Js.isLeapYear=ye,Js.weekYear=Mn,Js.isoWeekYear=kn,Js.quarter=Js.quarters=In,Js.month=ce,Js.daysInMonth=de,Js.week=Js.weeks=Me,Js.isoWeek=Js.isoWeeks=ke,Js.weeksInYear=On,Js.isoWeeksInYear=En,Js.date=Rs,Js.day=Js.days=Le,Js.weekday=je,Js.isoWeekday=qe,Js.dayOfYear=Bn,Js.hour=Js.hours=xs,Js.minute=Js.minutes=Fs,Js.second=Js.seconds=Ns,Js.millisecond=Js.milliseconds=zs,Js.utcOffset=Et,Js.utc=Yt,Js.local=Tt,Js.parseZone=It,Js.hasAlignedHourOffset=Bt,Js.isDST=Ht,Js.isLocal=jt,Js.isUtcOffset=qt,Js.isUtc=Pt,Js.isUTC=Pt,Js.zoneAbbr=Ln,Js.zoneName=jn,Js.dates=C("dates accessor is deprecated. Use date instead.",Rs),Js.months=C("months accessor is deprecated. Use month instead",ce),Js.years=C("years accessor is deprecated. Use year instead",gs),Js.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ot),Js.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Lt);var Zs=k.prototype;Zs.calendar=E,Zs.longDateFormat=O,Zs.invalidDate=Y,Zs.ordinal=T,Zs.preparse=$n,Zs.postformat=$n,Zs.relativeTime=I,Zs.pastFuture=B,Zs.set=x,Zs.months=oe,Zs.monthsShort=re,Zs.monthsParse=le,Zs.monthsRegex=fe,Zs.monthsShortRegex=he,Zs.week=Se,Zs.firstDayOfYear=xe,Zs.firstDayOfWeek=De,Zs.weekdays=Ye,Zs.weekdaysMin=Ie,Zs.weekdaysShort=Te,Zs.weekdaysParse=He,Zs.weekdaysRegex=Pe,Zs.weekdaysShortRegex=$e,Zs.weekdaysMinRegex=Qe,Zs.isPM=Ne,Zs.meridiem=Ke,Ve("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===_(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),e.lang=C("moment.lang is deprecated. Use moment.locale instead.",Ve),e.langData=C("moment.langData is deprecated. Use moment.localeData instead.",tt);var Vs=Math.abs,Xs=oi("ms"),eo=oi("s"),to=oi("m"),no=oi("h"),io=oi("d"),so=oi("w"),oo=oi("M"),ro=oi("y"),ao=ai("milliseconds"),lo=ai("seconds"),uo=ai("minutes"),co=ai("hours"),ho=ai("days"),fo=ai("months"),po=ai("years"),mo=Math.round,go={s:45,m:45,h:22,d:26,M:11},yo=Math.abs,vo=bt.prototype;return vo.abs=zn,vo.add=Zn,vo.subtract=Vn,vo.as=ii,vo.asMilliseconds=Xs,vo.asSeconds=eo,vo.asMinutes=to,vo.asHours=no,vo.asDays=io,vo.asWeeks=so,vo.asMonths=oo,vo.asYears=ro,vo.valueOf=si,vo._bubble=ei,vo.get=ri,vo.milliseconds=ao,vo.seconds=lo,vo.minutes=uo,vo.hours=co,vo.days=ho,vo.weeks=li,vo.months=fo,vo.years=po,vo.humanize=fi,vo.toISOString=pi,vo.toString=pi,vo.toJSON=pi,vo.locale=hn,vo.localeData=fn,vo.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",pi),vo.lang=Ws,F("X",0,0,"unix"),F("x",0,0,"valueOf"),Z("x",Ki),Z("X",Zi),te("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),te("x",function(e,t,n){n._d=new Date(_(e))}),e.version="2.17.1",t(vt),e.fn=Js,e.min=_t,e.max=At,e.now=qs,e.utc=c,e.unix=qn,e.months=Wn,e.isDate=r,e.locale=Ve,e.invalid=p,e.duration=$t,e.isMoment=v,e.weekdays=Fn,e.parseZone=Pn,e.localeData=tt,e.isDuration=Ct,e.monthsShort=Rn,e.weekdaysMin=Kn,e.defineLocale=Xe,e.updateLocale=et,e.locales=nt,e.weekdaysShort=Nn,e.normalizeUnits=L,e.relativeTimeRounding=di,e.relativeTimeThreshold=hi,e.calendarFormat=Ft,e.prototype=Js,e}); \ No newline at end of file diff --git a/dist/static/bundle/plugins-33cd33ea65.js b/dist/static/bundle/plugins-33cd33ea65.js deleted file mode 100644 index 45f8ad6..0000000 --- a/dist/static/bundle/plugins-33cd33ea65.js +++ /dev/null @@ -1,5 +0,0 @@ -"function"!=typeof Object.create&&(Object.create=function(e){function t(){}return t.prototype=e,new t}),function(e,t){"use strict";var n={_positionClasses:["bottom-left","bottom-right","top-right","top-left","bottom-center","top-center","mid-center"],_defaultIcons:["success","error","info","warning"],init:function(t){this.prepareOptions(t,e.toast.options),this.process()},prepareOptions:function(t,n){var i={};"string"==typeof t||t instanceof Array?i.text=t:i=t,this.options=e.extend({},n,i)},process:function(){this.setup(),this.addToDom(),this.position(),this.bindToast(),this.animate()},setup:function(){var t="";if(this._toastEl=this._toastEl||e("
      ",{class:"jq-toast-single"}),t+='',this.options.allowToastClose&&(t+='×'),this.options.text instanceof Array){this.options.heading&&(t+='

      '+this.options.heading+"

      "),t+='
        ';for(var n=0;n'+this.options.text[n]+"";t+="
      "}else this.options.heading&&(t+='

      '+this.options.heading+"

      "),t+=this.options.text;this._toastEl.html(t),!1!==this.options.bgColor&&this._toastEl.css("background-color",this.options.bgColor),!1!==this.options.textColor&&this._toastEl.css("color",this.options.textColor),this.options.textAlign&&this._toastEl.css("text-align",this.options.textAlign),!1!==this.options.icon&&(this._toastEl.addClass("jq-has-icon"),-1!==e.inArray(this.options.icon,this._defaultIcons)&&this._toastEl.addClass("jq-icon-"+this.options.icon))},position:function(){"string"==typeof this.options.position&&-1!==e.inArray(this.options.position,this._positionClasses)?"bottom-center"===this.options.position?this._container.css({left:e(t).outerWidth()/2-this._container.outerWidth()/2,bottom:20}):"top-center"===this.options.position?this._container.css({left:e(t).outerWidth()/2-this._container.outerWidth()/2,top:20}):"mid-center"===this.options.position?this._container.css({left:e(t).outerWidth()/2-this._container.outerWidth()/2,top:e(t).outerHeight()/2-this._container.outerHeight()/2}):this._container.addClass(this.options.position):"object"==typeof this.options.position?this._container.css({top:this.options.position.top?this.options.position.top:"auto",bottom:this.options.position.bottom?this.options.position.bottom:"auto",left:this.options.position.left?this.options.position.left:"auto",right:this.options.position.right?this.options.position.right:"auto"}):this._container.addClass("bottom-left")},bindToast:function(){var e=this;this._toastEl.on("afterShown",function(){e.processLoader()}),this._toastEl.find(".close-jq-toast-single").on("click",function(t){t.preventDefault(),"fade"===e.options.showHideTransition?(e._toastEl.trigger("beforeHide"),e._toastEl.fadeOut(function(){e._toastEl.trigger("afterHidden")})):"slide"===e.options.showHideTransition?(e._toastEl.trigger("beforeHide"),e._toastEl.slideUp(function(){e._toastEl.trigger("afterHidden")})):(e._toastEl.trigger("beforeHide"),e._toastEl.hide(function(){e._toastEl.trigger("afterHidden")}))}),"function"==typeof this.options.beforeShow&&this._toastEl.on("beforeShow",function(){e.options.beforeShow()}),"function"==typeof this.options.afterShown&&this._toastEl.on("afterShown",function(){e.options.afterShown()}),"function"==typeof this.options.beforeHide&&this._toastEl.on("beforeHide",function(){e.options.beforeHide()}),"function"==typeof this.options.afterHidden&&this._toastEl.on("afterHidden",function(){e.options.afterHidden()})},addToDom:function(){var t=e(".jq-toast-wrap");if(0===t.length?(t=e("
      ",{class:"jq-toast-wrap"}),e("body").append(t)):(!this.options.stack||isNaN(parseInt(this.options.stack,10)))&&t.empty(),t.find(".jq-toast-single:hidden").remove(),t.append(this._toastEl),this.options.stack&&!isNaN(parseInt(this.options.stack),10)){var n=t.find(".jq-toast-single").length,i=n-this.options.stack;i>0&&e(".jq-toast-wrap").find(".jq-toast-single").slice(0,i).remove()}this._container=t},canAutoHide:function(){return!1!==this.options.hideAfter&&!isNaN(parseInt(this.options.hideAfter,10))},processLoader:function(){if(!this.canAutoHide()||!1===this.options.loader)return!1;var e=this._toastEl.find(".jq-toast-loader"),t=(this.options.hideAfter-400)/1e3+"s",n=this.options.loaderBg,i=e.attr("style")||"";i=i.substring(0,i.indexOf("-webkit-transition")),i+="-webkit-transition: width "+t+" ease-in; -o-transition: width "+t+" ease-in; transition: width "+t+" ease-in; background-color: "+n+";",e.attr("style",i).addClass("jq-toast-loaded")},animate:function(){var e=this;if(this._toastEl.hide(),this._toastEl.trigger("beforeShow"),"fade"===this.options.showHideTransition.toLowerCase()?this._toastEl.fadeIn(function(){e._toastEl.trigger("afterShown")}):"slide"===this.options.showHideTransition.toLowerCase()?this._toastEl.slideDown(function(){e._toastEl.trigger("afterShown")}):this._toastEl.show(function(){e._toastEl.trigger("afterShown")}),this.canAutoHide()){var e=this;t.setTimeout(function(){"fade"===e.options.showHideTransition.toLowerCase()?(e._toastEl.trigger("beforeHide"),e._toastEl.fadeOut(function(){e._toastEl.trigger("afterHidden")})):"slide"===e.options.showHideTransition.toLowerCase()?(e._toastEl.trigger("beforeHide"),e._toastEl.slideUp(function(){e._toastEl.trigger("afterHidden")})):(e._toastEl.trigger("beforeHide"),e._toastEl.hide(function(){e._toastEl.trigger("afterHidden")}))},this.options.hideAfter)}},reset:function(t){"all"===t?e(".jq-toast-wrap").remove():this._toastEl.remove()},update:function(e){this.prepareOptions(e,this.options),this.setup(),this.bindToast()}};e.toast=function(e){var t=Object.create(n);return t.init(e,this),{reset:function(e){t.reset(e)},update:function(e){t.update(e)}}},e.toast.options={text:"",heading:"",showHideTransition:"fade",allowToastClose:!0,hideAfter:3e3,loader:!0,loaderBg:"#9EC600",stack:5,position:"bottom-left",bgColor:!1,textColor:!1,textAlign:"left",icon:!1,beforeShow:function(){},afterShown:function(){},beforeHide:function(){},afterHidden:function(){}}}(jQuery,window,document),function(e){function t(t){var i="display: none;position: fixed;top: 0;bottom: 0;left: 0;right: 0;margin: auto;padding: 8px;text-align: center;vertical-align: middle;",s=["width:"+t.width,"height:"+t.height,"z-index:"+t.zIndex,"background:"+t.background,"border-radius:"+t.radius];i+=s.join(";");var o="margin-bottom:8px;";s=["width:"+t.imgWidth,"height:"+t.imgWidth],o+=s.join(";");var r="margin:0;";s=["font-size:"+t.fontSize,"color:"+t.fontColor],r+=s.join(";");var a='

      '+t.tip+"

      ";e(document).find("body").append(a)}var n="data:image/gif;base64,R0lGODlhLgAuAPMPAAAAABERESIiIjMzM0RERFVVVWZmZnd3d4iIiJmZmaqqqru7u8zMzN3d3e7u7v///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAwAPACwAAAAALgAuAAAE//DJSesDOGttu/dbKGJfWY2oaJZpu62WK7/wNd/kiu+A6RYHBYPhYOw+LYOi4Wg6eaBRIdFgOpsLaGxkWFS/VwevR0EZGF+wMzsui87pajGBOBzGZFuo4I0vDHghEiMJaGkIgSp6GmdDVQx3iYKEQ5WIkjMFlUMKmDcHmwyAnjKFlWykLkKWqTILrwuQrS6wr6OzKLV/uCm6kbwiCrWXwCEIsAoJxSIHC8IKCrfLGAXQ1sTTGAjWyb+tixnV1gkJ0p6DzNDkdOaS6HsJyeQIdQQjAQE4E1Lr9PQHBgoQGDBAgEF8N9y8mfcPYECBBA/mk3FCir86DgMOLCgA38QUHThQFDDQ0KHAjRI/Ktoi0oCdjBAjdmyBpAWBkQZynixIkUUxGMBqgDsn9J27ogoDIQ3ZZqlPF0UjAAAh+QQJAwAPACwAAAAALgAuAAAE//DJSesDOGttu/dbKGJfWY2oaJZpu62WK7/wNd/kiu+A6RYHBYPhcAwVCNmnZVA0nsVosTEDjQqJp1YbfRyqsZFhsS13C7eTmFE2T3eU9bC8SCAOB0RiAZdcF0OBDQsGPCN+IgiBgUmGhzYbBotDX46HIwmTjZY3BZMKnDsHC6SAhaE3e6WgqDcKpQubrS6wC5WzLq+lp7gtCroKvL0ovwu/t8OYv8fJKQjLSM0oTb8JCcLSGQXL1rLZGc/WdtizkBpY4ggIaL2IIQfd6gfs5ebn6vJ4BgT19tr4eA4YMFBgwAABAgIE4BHnSj6BBAkYRKiwzwQUQAIOLCDxYMKFaTXCiCBgQF/Ejh9BurCCguRGjhNTKmGZgoDNjh5VpvCRDYa0Gv5QAb3YaqgaTkY7OErKcyXQCAAh+QQJAwAPACwAAAAALgAuAAAE//DJSesDOGttu/dbKGJfWY2oaJZpu62WK7/wNd/kiu+A6RYHBYPRaAwVh4Lr0zIIi9CGY+poKAwt0KiQGEa/1Gki1UEZFkPiFxp+YMkUMzqtjlapD4UsLjrT0wsJCAcHCF1TNksSW0J/C28hBw0HN4siCAwLcwwIPHB9mqELlJ4oiRsIogudpTsFqmOtOweqkLIzqaGxtzcJCgoLCqy8M7/GtsQtxr/IySjLV84yywnN0iG+Cdqk1yiG2oLdKQbgCAhK4iJc5ubc6RuF7EnipxkF8oQE15aR7QcGBvQ547cBCKF/BgoQGJBswpaDABUOGCAgQIBWfNQBjLiQYsWLnjpOjCCwUaJHiyFjjCzAsqOAjzy0oBhAwCXMHUxcTHxpEeQMH+9gpKtRjxhRh0aPZsSoVGXMpiz2EI0AACH5BAkDAA8ALAAAAAAuAC4AAAT/8MlJ6wM4a22791soYl9Zjaholmm7rZYrv/A13+SK74DpFofEYtFoDBOHguvTMiQYUEZxOlUYWqBRARGNUqkOR0I56qAKiq73Www7GNcyBWVYMOxqKdvtaBxQcyIFQ4RRCwgIBwcIT21uDwyAEloKhIRWIwcLfAlYNiEIlkMILggOkEufGmiifzIICjKqGqGVQ648PGgKvAqdubkGvbxxwDuwvb/GOwnJuMs3CdLSxdAz09Jk1tfTCNrbpYiI1eAp4uPlMouIiukuBuKKBO4pW4kHBuT0GwaK+Abz6M3CAOSfgQID3E0S0S9fgQIEEpZbGIJAvoMEIgoIAG7CCIsPRSMOELCR47JAIgiEHDCyJLQTIwZkZEkygElgZmKybGnTWBYUAnje5MHEhc2hOHzsy6FUYA2nNSi+jArzJNWcRK829VQjAgAh+QQJAwAPACwAAAAALgAuAAAE//DJSesDOGttu/dbKGJfWY2oaJZpu62WK7/wNd/kiu+A6RaHxGLBYAwTh4Lr0yoIi1BGY9pgKAwt0KiAGEah1HBCOeqgCoqh+isNTxnYMgVlSKu9X3fD4WjEVRNbdncLCggIBgYICW1UfH5yNiFOhXdXIwYLjnwMZCESIwcKaaQHLgh7fHwJciJoo7B/LQepDhKeHCMIsKOmNwh8Dws7r6MJCDxSPAAGCc7OsjO4OEHPyMvYi86I2NmHh9HdM9+H0+Iy3wdJ5zuH6uvsN+/q5vF06on19q74BgUD+1wQSOSvAIGAP/IRIAAQYQ8RAwsYHDBAAEJQEA0yrBggIMYQA0UWUuTY0V4gESEpChAQoCS7OSNGrmxpEqaIlSxdnjODYqZObFpQtPy5jIlDGkaP9tBxtIakfU5PvoxqsxtVnjyu+pARNQIAIfkEBQMADwAsAAAAAC4ALgAABP/wyUnrAzhrbbv3WyhiX1mNqGiWabutliu/8DXf5IrvgOkWB8RiwWAME4eC69MqCIfEorSoMLRAI6cCCp0WGw1GQjnqoAqJxZYbnYLBC2uZgjIo7uuul/EGM+QqE1kJeHkKCAcGBghCfH1hgDQ2IWiFdwmRGgYLjw4LZCESIweWCgcuCH0ODglzImgJsYSZKAeqDrQ9o7Kxpzepq6sKN04JCLEIPAvBq6Ati4yMzjMGzA7JMkHRvjwMDhOt2dEIuTIKDWM4jAfs0zw77PEE7/QA8Yrz9Tzsigb5+jj6GSjwD+CMAooKEDSIg4BCggQEMJwxQCEBAgMGTJxxEeMAARJON2aYpGGAR5ACAojsQbJkRpABVIoUJULAx5QyZ9IMgTLmSjojcK5kKWiET50nhgaKoTQUlqY5mECF0bRGS4ZWixrMmlQfVzPvvvqQkTUCACH5BAkDAA8ALAcABwAgAB0AAAS7EMhJgUFKrZWf/2AoetpmLkzKJGP7HFl2bmrqjnE51+rtJTnZiWfzPRLAHOtz+BRvCKRUgfAxGljsCBGVGj3XbCPELVe/Iu3HjDCgQWIPgd18f7KO8evAr9vveg8GfQdufyAOiQqDBo0FFZCREgmJiQyNmASSmxMIlXmYBQUDnJwHnw6iqqSlkqefogSyrK2tsgQDubW1ub0Cu62+AgIBwJwCA8PExcabygHQzZsBy9Kl0dbZ2tvc3d4AEQAh+QQJAwAPACwHAAcAIAAdAAAE1RDISYFBSa2lFDpFJY4F0p3apibGSB4Zqs4LwyChK5VJj6Y0G2PRcpUQmF6sExQOi5UjMpn4HAyGg6nmtEElBO10+qUYFN3GIifJWpHlEULYqCcm4YNez9ZJDjZ1dUVZeyB+IgiCdQoABFiQcYgAC4sNBY+RBJMiBpY4BaGhnCOVggqiBAQDpCIJiwuqqwOsrRQIDnW5s7QCthQHuQ0ODrS9vr9/xMsDAs4CAckSuMsNzwHY0gAJyw4MztjR2goODw8OCuHaUa8IAOLr8fLz9PX29/j2EQAh+QQJAwAPACwHAAcAIAAdAAAE1RDISYFBKSmVkSlVKBZHtp3boiagGJJYZp5qvSCtC8BIL6M2FUNh0PF6MQ0tuGAsiiHCYYpEHgzYA0JhY3ifIcOUijjkKgaud704F7JjqA6AaK4ZickAyzfPKQd3XlAEBYZYZ390gnkDhYaGiiEKDA2WDQWOBJsEA5Jol5YIA6SlnyELoQqlpqcUCaELArO0roChDLQBAgG2EwehDQHDxL4SwKG9AMXGCA6Wz8YiCQ7VDgzSIQzWDgrZgNwOCN8TDeGJ0s4P1d7kFAjrcu4T4/P29/jkEQAh+QQJAwAPACwHAAcAIAAdAAAE2hDISYE5CCWVEjJVKAIFlnWdoqpIMYbElc3oqiys+wLx4c+a1Aq3wOlEPZ+JthkWnyCYYXr5HajTg+rJPU4KYOrVSzEkuEWFlwAOG8iiA5fBQEwGhDy7QNhR5HSBUQOEeAQDfhUIgXQJAAKFhYkhCowMBQKZmQMCkxUGlgcBo5qeIQuMCaOrAaYVCQwNsgsSrK5/srIMFa23Ege5sr4jwMHDccG7x6/BtMsUsbkKzxMHDsF21AAM1w3XcL4IDuPj09Ti5ONRzwkP6Y7aAAfuDpfxEu0N6/c+9zsRACH5BAkDAA8ALAcABwAgAB8AAATbEMhJQTEHaX1M/SBAGNiRbUmaIEX4DRdpnpqq3KwrDUQRlzTbTZFohXg9H6m0QaSGQ89HMKgSkiSf0uAcLhRfI6VKvhIGIe5twQ5TBHAqWSc5rNuISSAQj9MnBm1tUnuFe38UB4ILCRIBjoeIFAltDAtikmlsDJwHmXQKnJyNny4IopalLgeoDKppra8grJwNrrIVrA27t7gTCbu7C74UC8ENCsQSBscNecrGx5iyCM3JxAfNDVK4CA4Ox6SyBQ3f5g4M06oM5+Dcvg/mDZ7KAAvxDO/KyOrE/QARACH5BAUDAA8ALAcABwAgACAAAATXEMhJASnm6G2q/8BwGeSGnOdRgJ4gXlh5oEhiq6zkDm8RmydbQpFYgQQ7HgGW0aCECmLHEwggk8vsaAaNKoyUahXJG4AKtaG3SBUjc5KDN7pAgMTwiYGuWHzzgHILg3WAgAmEg2CGIAaJCweMcH2ECZI5CIkKlywHDAsMn5yNoaWjHwaloacenqqsFQiqC7AUoKWWtQAGDQ0MvpG6C729DIunCMS9ubAHyr1TrMnPzKMHCw7PxqcKDA7fz9Gc2N/Z3wzinAkP5efpp+1/ugDZCu+sBgjHFREAIfkECQMADwAsCgAHAB0AIAAABLPwySkHKcVoXaj/jzCMV2YcKKgCgUheGno8SK1KbOtaWDzXiAQCBMjpSL3Tr5ZIfIrFgHQ38gCbTQo0qrsdhtgnVHqbGMIPxUwLKKsUabd8oqjD52WEvY4v8+99Kk4TQ4GGhw8LiYqIHguPj40UkJGSE5SWH4CNm5kPDAyfngqgoJ6lppahn6meoogGDw2OfShBEg2zE6t4DA6/srnBh7/FuceMgQvFDrgNg4bMzZnLoGpuEQAh+QQJAwAPACwKAAcAHQAgAAAE1RDIKYUYg5DCC/2gFAQWlnGGcRheGI7lWaRHzboffGUbXSOHFk5EwmhmqgNiiRDiRqRd78dsDocEVTVhveIM28TBOwQjEuiEk/wxpBMKBBt3hisU67nEcO+P9SB2d3KAHwd9CgmFhncLd4sUfAuOC5ATBpOZlhIHmZObAAieCqAKnoqWBgyef5AKDKureXMIsLaoiwe2tgaQtbsMhICYDcW2C7MUiUBKCQzF0LxeDA7V1dDYDQy9Xg/W2dgL3FcG3tfgDWpsDdbt0ArjZAWv1A6wCkFDEQAh+QQJAwAPACwKAAcAHQAgAAAE1BDISUEIQoxdu6dXthFFQXyoFGoDWRhm6q1jadynDGIjeR/Agk5FI/gMwODQM3ghgYiDcNkpJBHYA9VjxXqnW4rBi0how5UDNsEGowGFMjtheFPkbIR9cpgrEnsSBgqEf4EAg4UKh4mFhweFC4uBCJILC4CBCZeXensGnJdndgqhC25hlaGebwcLDKF1bwgMtbAMrBUFDKMVoLa2px8PDg4MCVFqmw3AtQuyHQfF0w3V1tXAzyjE1NfXwdAdBtPd3szHqOIK5A7mDArhMlYKtdjvUikRACH5BAkDAA8ALAoABwAdACAAAATYEMhJaQhC1M35zUPYjdUnhAQxkKSJFgXBdh9KFIYhz1Y9pLjcjlc53YIHHZEzCBoOySWHkINCC9JNwYpAHLKbZ7eLBU+244TBTDmMveyJoZvoxiXzhD5xBxj2en1/egp8dwYKiYV9B4qLdwmOCIeOCl9xCQsKmgplZgcLoaGTbaQzoKKangAIDg6mIwipoxQGD64ODGsciAyznRMID7e4Dgt1SV0LDMy+orsSBQ3FDdXW1c3ZodByDLjX4NnMCtwUBQrf4NjZCKu8CurWzWpLWwrM2McH7hURACH5BAkDAA8ALAkABwAeACAAAATVEMhJq70408C1t5wgfCQQDmiZhQKaqhUXiChBDHBMD3ZR5JYWz2f4ASk8AtFAOCKXB4OTUjAYDtjmFEC4Yg/Grfe7lVwR6EMZUEC71203Ai6flw2IhN6+Pej3a3l/fGxABgqICQpSEgwMQAiIkj8MDw4OhB8HkohzDZegaiQGC5wKPwqglw2ZFwcLsKULdgUMoA24C4wWh7GxpxMGnw64xQsJCFZoCwy+sIsVB8PF1I7Wzb7QvAzU3dfYz2EWBQnduN/Ws+IYh97fx+seBZuwjrAJYBoRACH5BAUDAA8ALAcABwAgACAAAATZEMhJq7046827/0AQgJ44kpopCGgmrmxrvcJgy1UA28SAUyvbgED4UXiEQsFnBAyTymITADUYClNqwWrNErgHg9dwKB+85nK2UEa4J4gFQmZwu8sNx8PBkB3sCH8Og4NnJAWACFeEgwsoCAmRCQhYCowOcx8HkpGGBoQNoYYcBgqcCVgSCYOhoZkaBwqys6MABQwOraELYhcGCbOzqBUGDLqhDHKKZAgKC88LwqnExscM19jQz8G9vgvW2Mna0QvDGgUJreHZ2gqUHqXr7M/vh5vP19EJB9MXEQAh+QQJAwAPACwHAAoAIAAdAAAEuBDISau9OOvNu/9UAHpBOW6loJ5XGagra73qMDx4ru/8/tpAmQU4IBCEFZvRiKQUCYXogsFYLISDaNTg6HYNsoFhPG54HQgZgTxmnBOywmF+MCi8vXzPQK/nGmYGeoNzCHM4ZoANg3oHCI8IOoqAjDwGkI+SlJU8CQmYO5MNDJwPnp6ZPKKkgwgKCqeflVQMCoY6Ca+6npy0vlbAuruzvlTAx8KlD8VVxwvCB8qmv87P0j0KwbaCgxEAIfkECQMADwAsBwAKACAAHQAABNAQyEmrvTjrzbv/YCiOZGkCAYAsxykFcKA4j8O0YwwLjOM7CVJMQGz8HDhRgCgYDI5IUtPp/BmToamTYGwYEaQBYTzueRvB0aBAKLgV58aC5K4XEPGGQUQw+P1teXMhf38EAHBxYB8FB46OewAGeTced4+OhxIJcQwMixoGCKOkkRIFCw2eqwqmFXekpAeaEwartwwKCAd+jgm/v7EFF7a4C8fHCsrKwAmjwxgGC7fIyMvMwdAZd6vV1tcJB9obBgneC9fKCOOWBwjKyc4G7BURACH5BAkDAA8ALAcACgAgAB0AAATVEMhJq7046827/1oCeobjIOOmmI9zpFdhzgpsIbP52tQ6M7wKw9FoOETBibF4SkoCxeguFahao8XpyBoQCLANFKzr9S6wyJRgwGYrsAtbu43AMgypAUFP2BfsNSMEBX19AwAJDA0MjGIeBAYFkoQSBoyXDFoaBQadnQWHEomYC44ZBQcHnpEUBQukCwp4MQcIqbcGBBUGr4wLv7GpnrUIxba3uha8DMDACs8KCdLGxgcFGQYKzM2x0NIJ1NYbBQjc0M/f1dcd5M7n0eDiI5wI0ujgrBkRACH5BAUDAA8ALAcACgAgAB0AAATYEMhJq734NMy7NI2zeeRUMI7zjKWXpOnadgacNsfMKWLoIDpMIdQILYIYRLHoyCEtimXj+LQspImqRYrTVrgGL4XrFAMYSwbQDLiiGdlnYE5PMO4MKlJAnx/wd2FBAoSFAieACkgDjIYAdngLay2MlYwfkQsLZR4DBQSgBJcSCHmampwYBAWsn6IUBQqmpwmCFgUGuQatBQMVBqfBCgkHurkHyMW6vRfAwQsK0QnTCNXJygYEHLGa0d7D1NUIydkeBQjf3tMJ4tblJefp6+27SLgI08PuBR0RACH5BAkDAA8ALAcACAAgAB8AAAS/8MkpDb0456Kc/uBjME4ZnpNVlgXqrqZ7Nusif83T0A5ya7vgD5TTFYeZ4hGJszCf0KiEMaFKp4ys9arNXqvew/dBpfqQgLT6omCq15KFHP1OP2xy2zAQqE/yD2IyfIR8f3MVLgKLAoUUehJtJwOUA4wBGJAKCmcZAwQElZQCABhtp5sJCBYFrQUGBq2glQIam7cKCboIvAcHsLEFoKEgCZsSuqq9vsCyAzfJvMvABsQ/u9K+v8JMB9IIzMJ1dREAIfkEBQMADwAsBwAHACAAIAAABNMQyEnLQTTrnY1yzsONXJGAKKlOBoOCT7KSLdi8y8y1TX+DDIVOU1j4eo6FYbhJHHsYpsbwbBykzWcUW2Ecc9zMwetbhikKhpoBPk8Wa8bWDYgzrnSJ3Zy34/NwbHd5EgoLhwtzbgmIC0KEB41KhEWNMoQIiAoKf24FhpubfCoBJJmhCgmdHAGtIyaoCQkIBRwCt62lO7GyCAcGBQTCAwQDA7i5OwmbsrMIvgbAwcbHyK/Lzc8H29EF08a4Kha9z76/3cPgOhbl5tHoxlgFBtv16CoRADs=",i={};e.loading=function(n){var s=e.extend(e.loading.default,n);i=s,t(s);var o="#"+s.id;return e(document).on("ajaxStart",function(){i.ajax&&e(o).show()}),e(document).on("ajaxComplete",function(){setTimeout(function(){e(o).hide()},s.minTime)}),e.loading},e.loading.open=function(t){var n="#"+i.id;e(n).show(),t&&setTimeout(function(){e(n).hide()},parseInt(t))},e.loading.close=function(){var t="#"+i.id;e(t).hide()},e.loading.ajax=function(e){i.ajax=e},e.loading.default={ajax:!0,id:"ajaxLoading",zIndex:"1000",background:"rgba(0, 0, 0, 0.7)",minTime:200,radius:"4px",width:"85px",height:"85px",imgWidth:"45px",imgHeight:"45px",tip:"Loading ...",fontSize:"14px",fontColor:"#fff"}}(window.jQuery||window.Zepto),function(e){function t(e){return"object"==typeof e?e:{top:e,left:e}}var n=e.scrollTo=function(t,n,i){e(window).scrollTo(t,n,i)};n.defaults={axis:"xy",duration:parseFloat(e.fn.jquery)>=1.3?0:1,limit:!0},n.window=function(t){return e(window)._scrollable()},e.fn._scrollable=function(){return this.map(function(){var t=this;if(t.nodeName&&-1==e.inArray(t.nodeName.toLowerCase(),["iframe","#document","html","body"]))return t;var n=(t.contentWindow||t).document||t.ownerDocument||t;return/webkit/i.test(navigator.userAgent)||"BackCompat"==n.compatMode?n.body:n.documentElement})},e.fn.scrollTo=function(i,s,o){return"object"==typeof s&&(o=s,s=0),"function"==typeof o&&(o={onAfter:o}),"max"==i&&(i=9e9),o=e.extend({},n.defaults,o),s=s||o.duration,o.queue=o.queue&&o.axis.length>1,o.queue&&(s/=2),o.offset=t(o.offset),o.over=t(o.over),this._scrollable().each(function(){function r(e){u.animate(d,s,o.easing,e&&function(){e.call(this,c,o)})}if(null!=i){var a,l=this,u=e(l),c=i,d={},h=u.is("html,body");switch(typeof c){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(c)){c=t(c);break}if(c=e(c,this),!c.length)return;case"object":(c.is||c.style)&&(a=(c=e(c)).offset())}e.each(o.axis.split(""),function(e,t){var i="x"==t?"Left":"Top",s=i.toLowerCase(),f="scroll"+i,p=l[f],m=n.max(l,t);if(a)d[f]=a[s]+(h?0:p-u.offset()[s]),o.margin&&(d[f]-=parseInt(c.css("margin"+i))||0,d[f]-=parseInt(c.css("border"+i+"Width"))||0),d[f]+=o.offset[s]||0,o.over[s]&&(d[f]+=c["x"==t?"width":"height"]()*o.over[s]);else{var g=c[s];d[f]=g.slice&&"%"==g.slice(-1)?parseFloat(g)/100*m:g}o.limit&&/^\d+$/.test(d[f])&&(d[f]=d[f]<=0?0:Math.min(d[f],m)),!e&&o.queue&&(p!=d[f]&&r(o.onAfterFirst),delete d[f])}),r(o.onAfter)}}).end()},n.max=function(t,n){var i="x"==n?"Width":"Height",s="scroll"+i;if(!e(t).is("html,body"))return t[s]-e(t)[i.toLowerCase()]();var o="client"+i,r=t.ownerDocument.documentElement,a=t.ownerDocument.body;return Math.max(r[s],a[s])-Math.min(r[o],a[o])}}(jQuery),function(e,t,n){"use strict";!function e(t,n,i){function s(r,a){if(!n[r]){if(!t[r]){var l="function"==typeof require&&require;if(!a&&l)return l(r,!0);if(o)return o(r,!0);var u=new Error("Cannot find module '"+r+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[r]={exports:{}};t[r][0].call(c.exports,function(e){var n=t[r][1][e];return s(n||e)},c,c.exports,e,t,n,i)}return n[r].exports}for(var o="function"==typeof require&&require,r=0;r=0;)n=n.replace(" "+t+" "," ");e.className=n.replace(/^\s+|\s+$/g,"")}},l=function(e){var n=t.createElement("div");return n.appendChild(t.createTextNode(e)),n.innerHTML},u=function(e){e.style.opacity="",e.style.display="block"},c=function(e){if(e&&!e.length)return u(e);for(var t=0;t0?setTimeout(i,t):e.style.display="none"}()},y=function(n){if("function"==typeof MouseEvent){var i=new MouseEvent("click",{view:e,bubbles:!1,cancelable:!0});n.dispatchEvent(i)}else if(t.createEvent){var s=t.createEvent("MouseEvents");s.initEvent("click",!1,!1),n.dispatchEvent(s)}else t.createEventObject?n.fireEvent("onclick"):"function"==typeof n.onclick&&n.onclick()},v=function(t){"function"==typeof t.stopPropagation?(t.stopPropagation(),t.preventDefault()):e.event&&e.event.hasOwnProperty("cancelBubble")&&(e.event.cancelBubble=!0)};s.hasClass=o,s.addClass=r,s.removeClass=a,s.escapeHtml=l,s._show=u,s.show=c,s._hide=d,s.hide=h,s.isDescendant=f,s.getTopMargin=p,s.fadeIn=m,s.fadeOut=g,s.fireClick=y,s.stopEventPropagation=v},{}],5:[function(t,i,s){Object.defineProperty(s,"__esModule",{value:!0});var o=t("./handle-dom"),r=t("./handle-swal-dom"),a=function(t,i,s){var a=t||e.event,l=a.keyCode||a.which,u=s.querySelector("button.confirm"),c=s.querySelector("button.cancel"),d=s.querySelectorAll("button[tabindex]");if(-1!==[9,13,32,27].indexOf(l)){for(var h=a.target||a.srcElement,f=-1,p=0;p
      \n \n \n \n \n
      \n \n \n
      \n \n \n\n
      \n
      \n

      Title

      \n

      Text

      \n
      \n \n
      \n
      \n
      !
      \n

      Not valid!

      \n
      \n \n
      \n
      \n
      \n
      \n
      \n
      \n
      \n
      ',t.exports=n.default},{}],8:[function(e,t,i){Object.defineProperty(i,"__esModule",{value:!0});var s=e("./utils"),o=e("./handle-swal-dom"),r=e("./handle-dom"),a=["error","warning","info","success","input","prompt"],l=function(e){var t=(0,o.getModal)(),i=t.querySelector("h2"),l=t.querySelector("p"),u=t.querySelector("button.cancel"),c=t.querySelector("button.confirm");if(i.innerHTML=e.html?e.title:(0,r.escapeHtml)(e.title).split("\n").join("
      "),l.innerHTML=e.html?e.text:(0,r.escapeHtml)(e.text||"").split("\n").join("
      "),e.text&&(0,r.show)(l),e.customClass)(0,r.addClass)(t,e.customClass),t.setAttribute("data-custom-class",e.customClass);else{var d=t.getAttribute("data-custom-class");(0,r.removeClass)(t,d),t.setAttribute("data-custom-class","")}if((0,r.hide)(t.querySelectorAll(".sa-icon")),e.type&&!(0,s.isIE8)()){var h=function(){for(var i=!1,s=0;si;i++)n=parseInt(e.substr(2*i,2),16),n=Math.round(Math.min(Math.max(0,n+n*t),255)).toString(16),s+=("00"+n).substr(n.length);return s};i.extend=s,i.hexToRgb=o,i.isIE8=r,i.logStr=a,i.colorLuminance=l},{}]},{},[1]),"function"==typeof define&&define.amd?define(function(){return sweetAlert}):"undefined"!=typeof module&&module.exports&&(module.exports=sweetAlert)}(window,document),function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e("object"==typeof exports?require("jquery"):jQuery)}(function(e){var t=function(){if(e&&e.fn&&e.fn.select2&&e.fn.select2.amd)var t=e.fn.select2.amd;var t;return function(){if(!t||!t.requirejs){t?n=t:t={};var e,n,i;!function(t){function s(e,t){return _.call(e,t)}function o(e,t){var n,i,s,o,r,a,l,u,c,d,h,f=t&&t.split("/"),p=v.map,m=p&&p["*"]||{};if(e&&"."===e.charAt(0))if(t){for(e=e.split("/"),r=e.length-1,v.nodeIdCompat&&b.test(e[r])&&(e[r]=e[r].replace(b,"")),e=f.slice(0,f.length-1).concat(e),c=0;c0&&(e.splice(c-1,2),c-=2)}e=e.join("/")}else 0===e.indexOf("./")&&(e=e.substring(2));if((f||m)&&p){for(n=e.split("/"),c=n.length;c>0;c-=1){if(i=n.slice(0,c).join("/"),f)for(d=f.length;d>0;d-=1)if((s=p[f.slice(0,d).join("/")])&&(s=s[i])){o=s,a=c;break}if(o)break;!l&&m&&m[i]&&(l=m[i],u=c)}!o&&l&&(o=l,a=u),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function r(e,n){return function(){var i=A.call(arguments,0);return"string"!=typeof i[0]&&1===i.length&&i.push(null),f.apply(t,i.concat([e,n]))}}function a(e){return function(t){return o(t,e)}}function l(e){return function(t){g[e]=t}}function u(e){if(s(y,e)){var n=y[e];delete y[e],w[e]=!0,h.apply(t,n)}if(!s(g,e)&&!s(w,e))throw new Error("No "+e);return g[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return n>-1&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function d(e){return function(){return v&&v.config&&v.config[e]||{}}}var h,f,p,m,g={},y={},v={},w={},_=Object.prototype.hasOwnProperty,A=[].slice,b=/\.js$/;p=function(e,t){var n,i=c(e),s=i[0];return e=i[1],s&&(s=o(s,t),n=u(s)),s?e=n&&n.normalize?n.normalize(e,a(t)):o(e,t):(e=o(e,t),i=c(e),s=i[0],e=i[1],s&&(n=u(s))),{f:s?s+"!"+e:e,n:e,pr:s,p:n}},m={require:function(e){return r(e)},exports:function(e){var t=g[e];return void 0!==t?t:g[e]={}},module:function(e){return{id:e,uri:"",exports:g[e],config:d(e)}}},h=function(e,n,i,o){var a,c,d,h,f,v,_=[],A=typeof i;if(o=o||e,"undefined"===A||"function"===A){for(n=!n.length&&i.length?["require","exports","module"]:n,f=0;f0&&(t.call(arguments,e.prototype.constructor),s=n.prototype.constructor),s.apply(this,arguments)}function s(){this.constructor=i}var o=t(n),r=t(e);n.displayName=e.displayName,i.prototype=new s;for(var a=0;an;n++)e[n].apply(this,t)},n.Observable=i,n.generateChars=function(e){for(var t="",n=0;e>n;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},n.bind=function(e,t){return function(){e.apply(t,arguments)}},n._convertData=function(e){for(var t in e){var n=t.split("-"),i=e;if(1!==n.length){for(var s=0;s":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},n.appendMany=function(t,n){if("1.7"===e.fn.jquery.substr(0,3)){var i=e();e.map(n,function(e){i=i.add(e)}),n=i}t.append(n)},n}),t.define("select2/results",["jquery","./utils"],function(e,t){function n(e,t,i){this.$element=e,this.data=i,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('
        ');return this.options.get("multiple")&&t.attr("aria-multiselectable","true"),this.$results=t,t},n.prototype.clear=function(){this.$results.empty()},n.prototype.displayMessage=function(t){var n=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var i=e('
      • '),s=this.options.get("translations").get(t.message);i.append(n(s(t.args))),i[0].className+=" select2-results__message",this.$results.append(i)},n.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},n.prototype.append=function(e){this.hideLoading();var t=[];if(null==e.results||0===e.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));e.results=this.sort(e.results);for(var n=0;n0?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},n.prototype.setClasses=function(){var t=this;this.data.current(function(n){var i=e.map(n,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var t=e(this),n=e.data(this,"data"),s=""+n.id;null!=n.element&&n.element.selected||null==n.element&&e.inArray(s,i)>-1?t.attr("aria-selected","true"):t.attr("aria-selected","false")})})},n.prototype.showLoading=function(e){this.hideLoading();var t=this.options.get("translations").get("searching"),n={disabled:!0,loading:!0,text:t(e)},i=this.option(n);i.className+=" loading-results",this.$results.prepend(i)},n.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},n.prototype.option=function(t){var n=document.createElement("li");n.className="select2-results__option";var i={role:"treeitem","aria-selected":"false"};t.disabled&&(delete i["aria-selected"],i["aria-disabled"]="true"),null==t.id&&delete i["aria-selected"],null!=t._resultId&&(n.id=t._resultId),t.title&&(n.title=t.title),t.children&&(i.role="group",i["aria-label"]=t.text,delete i["aria-selected"]);for(var s in i){var o=i[s];n.setAttribute(s,o)}if(t.children){var r=e(n),a=document.createElement("strong");a.className="select2-results__group",e(a),this.template(t,a);for(var l=[],u=0;u",{class:"select2-results__options select2-results__options--nested"});h.append(l),r.append(a),r.append(h)}else this.template(t,n);return e.data(n,"data",t),n},n.prototype.bind=function(t,n){var i=this,s=t.id+"-results";this.$results.attr("id",s),t.on("results:all",function(e){i.clear(),i.append(e.data),t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("results:append",function(e){i.append(e.data),t.isOpen()&&i.setClasses()}),t.on("query",function(e){i.hideMessages(),i.showLoading(e)}),t.on("select",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),t.on("open",function(){i.$results.attr("aria-expanded","true"),i.$results.attr("aria-hidden","false"),i.setClasses(),i.ensureHighlightVisible()}),t.on("close",function(){i.$results.attr("aria-expanded","false"),i.$results.attr("aria-hidden","true"),i.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=i.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=i.getHighlightedResults();if(0!==e.length){var t=e.data("data");"true"==e.attr("aria-selected")?i.trigger("close",{}):i.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e);if(0!==n){var s=n-1;0===e.length&&(s=0);var o=t.eq(s);o.trigger("mouseenter");var r=i.$results.offset().top,a=o.offset().top,l=i.$results.scrollTop()+(a-r);0===s?i.$results.scrollTop(0):0>a-r&&i.$results.scrollTop(l)}}),t.on("results:next",function(){var e=i.getHighlightedResults(),t=i.$results.find("[aria-selected]"),n=t.index(e),s=n+1;if(!(s>=t.length)){var o=t.eq(s);o.trigger("mouseenter");var r=i.$results.offset().top+i.$results.outerHeight(!1),a=o.offset().top+o.outerHeight(!1),l=i.$results.scrollTop()+a-r;0===s?i.$results.scrollTop(0):a>r&&i.$results.scrollTop(l)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){i.displayMessage(e)}),e.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=i.$results.scrollTop(),n=i.$results.get(0).scrollHeight-t+e.deltaY,s=e.deltaY>0&&t-e.deltaY<=0,o=e.deltaY<0&&n<=i.$results.height();s?(i.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):o&&(i.$results.scrollTop(i.$results.get(0).scrollHeight-i.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(t){var n=e(this),s=n.data("data");return"true"===n.attr("aria-selected")?void(i.options.get("multiple")?i.trigger("unselect",{originalEvent:t,data:s}):i.trigger("close",{})):void i.trigger("select",{originalEvent:t,data:s})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(t){var n=e(this).data("data");i.getHighlightedResults().removeClass("select2-results__option--highlighted"),i.trigger("results:focus",{data:n,element:e(this)})})},n.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},n.prototype.destroy=function(){this.$results.remove()},n.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]"),n=t.index(e),i=this.$results.offset().top,s=e.offset().top,o=this.$results.scrollTop()+(s-i),r=s-i;o-=2*e.outerHeight(!1),2>=n?this.$results.scrollTop(0):(r>this.$results.outerHeight()||0>r)&&this.$results.scrollTop(o)}},n.prototype.template=function(t,n){var i=this.options.get("templateResult"),s=this.options.get("escapeMarkup"),o=i(t,n);null==o?n.style.display="none":"string"==typeof o?n.innerHTML=s(o):e(n).append(o)},n}),t.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),t.define("select2/selection/base",["jquery","../utils","../keys"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,t.Observable),i.prototype.render=function(){var t=e('');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),t.attr("title",this.$element.attr("title")),t.attr("tabindex",this._tabindex),this.$selection=t,t},i.prototype.bind=function(e,t){var i=this,s=(e.id,e.id+"-results");this.container=e,this.$selection.on("focus",function(e){i.trigger("focus",e)}),this.$selection.on("blur",function(e){i._handleBlur(e)}),this.$selection.on("keydown",function(e){i.trigger("keypress",e),e.which===n.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){i.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){i.update(e.data)}),e.on("open",function(){i.$selection.attr("aria-expanded","true"),i.$selection.attr("aria-owns",s),i._attachCloseHandler(e)}),e.on("close",function(){i.$selection.attr("aria-expanded","false"),i.$selection.removeAttr("aria-activedescendant"),i.$selection.removeAttr("aria-owns"),i.$selection.focus(),i._detachCloseHandler(e)}),e.on("enable",function(){i.$selection.attr("tabindex",i._tabindex)}),e.on("disable",function(){i.$selection.attr("tabindex","-1")})},i.prototype._handleBlur=function(t){var n=this;window.setTimeout(function(){document.activeElement==n.$selection[0]||e.contains(n.$selection[0],document.activeElement)||n.trigger("blur",t)},1)},i.prototype._attachCloseHandler=function(t){e(document.body).on("mousedown.select2."+t.id,function(t){var n=e(t.target),i=n.closest(".select2");e(".select2.select2-container--open").each(function(){var t=e(this);this!=i[0]&&t.data("element").select2("close")})})},i.prototype._detachCloseHandler=function(t){e(document.body).off("mousedown.select2."+t.id)},i.prototype.position=function(e,t){t.find(".selection").append(e)},i.prototype.destroy=function(){this._detachCloseHandler(this.container)},i.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},i}),t.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,i){function s(){s.__super__.constructor.apply(this,arguments)}return n.Extend(s,t),s.prototype.render=function(){var e=s.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html(''),e},s.prototype.bind=function(e,t){var n=this;s.__super__.bind.apply(this,arguments);var i=e.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i),this.$selection.attr("aria-labelledby",i),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),e.on("focus",function(t){e.isOpen()||n.$selection.focus()}),e.on("selection:update",function(e){n.update(e.data)})},s.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},s.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},s.prototype.selectionContainer=function(){return e("")},s.prototype.update=function(e){if(0===e.length)return void this.clear();var t=e[0],n=this.$selection.find(".select2-selection__rendered"),i=this.display(t,n);n.empty().append(i),n.prop("title",t.title||t.text)},s}),t.define("select2/selection/multiple",["jquery","./base","../utils"],function(e,t,n){function i(e,t){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('
          '),e},i.prototype.bind=function(t,n){var s=this;i.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){s.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(t){if(!s.options.get("disabled")){var n=e(this),i=n.parent(),o=i.data("data");s.trigger("unselect",{originalEvent:t,data:o})}})},i.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e('
        • ×
        • ')},i.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],i=0;i1||n)return e.call(this,t);this.clear();var i=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(i)},t}),t.define("select2/selection/allowClear",["jquery","../keys"],function(e,t){function n(){}return n.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},n.prototype._handleClear=function(e,t){if(!this.options.get("disabled")){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();for(var i=n.data("data"),s=0;s0||0===n.length)){var i=e('×');i.data("data",n),this.$selection.find(".select2-selection__rendered").prepend(i)}},n}),t.define("select2/selection/search",["jquery","../utils","../keys"],function(e,t,n){function i(e,t,n){e.call(this,t,n)}return i.prototype.render=function(t){var n=e('');this.$searchContainer=n,this.$search=n.find("input");var i=t.call(this);return this._transferTabIndex(),i},i.prototype.bind=function(e,t,i){var s=this;e.call(this,t,i),t.on("open",function(){s.$search.trigger("focus")}),t.on("close",function(){s.$search.val(""),s.$search.removeAttr("aria-activedescendant"),s.$search.trigger("focus")}),t.on("enable",function(){s.$search.prop("disabled",!1),s._transferTabIndex()}),t.on("disable",function(){s.$search.prop("disabled",!0)}),t.on("focus",function(e){s.$search.trigger("focus")}),t.on("results:focus",function(e){s.$search.attr("aria-activedescendant",e.id)}),this.$selection.on("focusin",".select2-search--inline",function(e){s.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){s._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),s.trigger("keypress",e),s._keyUpPrevented=e.isDefaultPrevented(),e.which===n.BACKSPACE&&""===s.$search.val()){var t=s.$searchContainer.prev(".select2-selection__choice");if(t.length>0){var i=t.data("data");s.searchRemoveChoice(i),e.preventDefault()}}});var o=document.documentMode,r=o&&11>=o;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){return r?void s.$selection.off("input.search input.searchcheck"):void s.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(r&&"input"===e.type)return void s.$selection.off("input.search input.searchcheck");var t=e.which;t!=n.SHIFT&&t!=n.CTRL&&t!=n.ALT&&t!=n.TAB&&s.handleSearch(e)})},i.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},i.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},i.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.focus()},i.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},i.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},i.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";if(""!==this.$search.attr("placeholder"))e=this.$selection.find(".select2-selection__rendered").innerWidth();else{e=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",e)},i}),t.define("select2/selection/eventRelay",["jquery"],function(e){function t(){}return t.prototype.bind=function(t,n,i){var s=this,o=["open","opening","close","closing","select","selecting","unselect","unselecting"],r=["opening","closing","selecting","unselecting"];t.call(this,n,i),n.on("*",function(t,n){if(-1!==e.inArray(t,o)){n=n||{};var i=e.Event("select2:"+t,{params:n});s.$element.trigger(i),-1!==e.inArray(t,r)&&(n.prevented=i.isDefaultPrevented())}})},t}),t.define("select2/translation",["jquery","require"],function(e,t){function n(e){this.dict=e||{}}return n.prototype.all=function(){return this.dict},n.prototype.get=function(e){return this.dict[e]},n.prototype.extend=function(t){this.dict=e.extend({},t.all(),this.dict)},n._cache={},n.loadPath=function(e){if(!(e in n._cache)){var i=t(e);n._cache[e]=i}return new n(n._cache[e])},n}),t.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o", -"ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),t.define("select2/data/base",["../utils"],function(e){function t(e,n){t.__super__.constructor.call(this)}return e.Extend(t,e.Observable),t.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},t.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},t.prototype.bind=function(e,t){},t.prototype.destroy=function(){},t.prototype.generateResultId=function(t,n){var i=t.id+"-result-";return i+=e.generateChars(4),i+=null!=n.id?"-"+n.id.toString():"-"+e.generateChars(4)},t}),t.define("select2/data/select",["./base","../utils","jquery"],function(e,t,n){function i(e,t){this.$element=e,this.options=t,i.__super__.constructor.call(this)}return t.Extend(i,e),i.prototype.current=function(e){var t=[],i=this;this.$element.find(":selected").each(function(){var e=n(this),s=i.item(e);t.push(s)}),e(t)},i.prototype.select=function(e){var t=this;if(e.selected=!0,n(e.element).is("option"))return e.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(i){var s=[];e=[e],e.push.apply(e,i);for(var o=0;o=0){var u=s.filter(function(e){return function(){return n(this).val()==e.id}}(l)),c=this.item(u),d=n.extend(!0,{},l,c),h=this.option(d);u.replaceWith(h)}else{var f=this.option(l);if(l.children){var p=this.convertToOptions(l.children);t.appendMany(f,p)}r.push(f)}}return r},i}),t.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,n){function i(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),i.__super__.constructor.call(this,e,t)}return t.Extend(i,e),i.prototype._applyDefaults=function(e){var t={data:function(e){return n.extend({},e,{q:e.term})},transport:function(e,t,i){var s=n.ajax(e);return s.then(t),s.fail(i),s}};return n.extend({},t,e,!0)},i.prototype.processResults=function(e){return e},i.prototype.query=function(e,t){function i(){var i=o.transport(o,function(i){var o=s.processResults(i,e);s.options.get("debug")&&window.console&&console.error&&(o&&o.results&&n.isArray(o.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),t(o)},function(){i.status&&"0"===i.status||s.trigger("results:message",{message:"errorLoading"})});s._request=i}var s=this;null!=this._request&&(n.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var o=n.extend({type:"GET"},this.ajaxOptions);"function"==typeof o.url&&(o.url=o.url.call(this.$element,e)),"function"==typeof o.data&&(o.data=o.data.call(this.$element,e)),this.ajaxOptions.delay&&null!=e.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(i,this.ajaxOptions.delay)):i()},i}),t.define("select2/data/tags",["jquery"],function(e){function t(t,n,i){var s=i.get("tags"),o=i.get("createTag");void 0!==o&&(this.createTag=o);var r=i.get("insertTag");if(void 0!==r&&(this.insertTag=r),t.call(this,n,i),e.isArray(s))for(var a=0;a0&&t.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):void e.call(this,t,n)},e}),t.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){var i=this;this.current(function(s){var o=null!=s?s.length:0;return i.maximumSelectionLength>0&&o>=i.maximumSelectionLength?void i.trigger("results:message",{message:"maximumSelected",args:{maximum:i.maximumSelectionLength}}):void e.call(i,t,n)})},e}),t.define("select2/dropdown",["jquery","./utils"],function(e,t){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,t.Observable),n.prototype.render=function(){var t=e('');return t.attr("dir",this.options.get("dir")),this.$dropdown=t,t},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),t.define("select2/dropdown/search",["jquery","../utils"],function(e,t){function n(){}return n.prototype.render=function(t){var n=t.call(this),i=e('');return this.$searchContainer=i,this.$search=i.find("input"),n.prepend(i),n},n.prototype.bind=function(t,n,i){var s=this;t.call(this,n,i),this.$search.on("keydown",function(e){s.trigger("keypress",e),s._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(t){e(this).off("keyup")}),this.$search.on("keyup input",function(e){s.handleSearch(e)}),n.on("open",function(){s.$search.attr("tabindex",0),s.$search.focus(),window.setTimeout(function(){s.$search.focus()},0)}),n.on("close",function(){s.$search.attr("tabindex",-1),s.$search.val("")}),n.on("focus",function(){n.isOpen()&&s.$search.focus()}),n.on("results:all",function(e){if(null==e.query.term||""===e.query.term){s.showSearch(e)?s.$searchContainer.removeClass("select2-search--hide"):s.$searchContainer.addClass("select2-search--hide")}})},n.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},n.prototype.showSearch=function(e,t){return!0},n}),t.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;i>=0;i--){var s=t[i];this.placeholder.id===s.id&&n.splice(i,1)}return n},e}),t.define("select2/dropdown/infiniteScroll",["jquery"],function(e){function t(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return t.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&this.$results.append(this.$loadingMore)},t.prototype.bind=function(t,n,i){var s=this;t.call(this,n,i),n.on("query",function(e){s.lastParams=e,s.loading=!0}),n.on("query:append",function(e){s.lastParams=e,s.loading=!0}),this.$results.on("scroll",function(){var t=e.contains(document.documentElement,s.$loadingMore[0]);if(!s.loading&&t){s.$results.offset().top+s.$results.outerHeight(!1)+50>=s.$loadingMore.offset().top+s.$loadingMore.outerHeight(!1)&&s.loadMore()}})},t.prototype.loadMore=function(){this.loading=!0;var t=e.extend({},{page:1},this.lastParams);t.page++,this.trigger("query:append",t)},t.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},t.prototype.createLoadingMore=function(){var t=e('
        • '),n=this.options.get("translations").get("loadingMore");return t.html(n(this.lastParams)),t},t}),t.define("select2/dropdown/attachBody",["jquery","../utils"],function(e,t){function n(t,n,i){this.$dropdownParent=i.get("dropdownParent")||e(document.body),t.call(this,n,i)}return n.prototype.bind=function(e,t,n){var i=this,s=!1;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),s||(s=!0,t.on("results:all",function(){i._positionDropdown(),i._resizeDropdown()}),t.on("results:append",function(){i._positionDropdown(),i._resizeDropdown()}))}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},n.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},n.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},n.prototype.render=function(t){var n=e(""),i=t.call(this);return n.append(i),this.$dropdownContainer=n,n},n.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},n.prototype._attachPositioningHandler=function(n,i){var s=this,o="scroll.select2."+i.id,r="resize.select2."+i.id,a="orientationchange.select2."+i.id,l=this.$container.parents().filter(t.hasScroll);l.each(function(){e(this).data("select2-scroll-position",{x:e(this).scrollLeft(),y:e(this).scrollTop()})}),l.on(o,function(t){var n=e(this).data("select2-scroll-position");e(this).scrollTop(n.y)}),e(window).on(o+" "+r+" "+a,function(e){s._positionDropdown(),s._resizeDropdown()})},n.prototype._detachPositioningHandler=function(n,i){var s="scroll.select2."+i.id,o="resize.select2."+i.id,r="orientationchange.select2."+i.id;this.$container.parents().filter(t.hasScroll).off(s),e(window).off(s+" "+o+" "+r)},n.prototype._positionDropdown=function(){var t=e(window),n=this.$dropdown.hasClass("select2-dropdown--above"),i=this.$dropdown.hasClass("select2-dropdown--below"),s=null,o=this.$container.offset();o.bottom=o.top+this.$container.outerHeight(!1);var r={height:this.$container.outerHeight(!1)};r.top=o.top,r.bottom=o.top+r.height;var a={height:this.$dropdown.outerHeight(!1)},l={top:t.scrollTop(),bottom:t.scrollTop()+t.height()},u=l.topo.bottom+a.height,d={left:o.left,top:r.bottom},h=this.$dropdownParent;"static"===h.css("position")&&(h=h.offsetParent());var f=h.offset();d.top-=f.top,d.left-=f.left,n||i||(s="below"),c||!u||n?!u&&c&&n&&(s="below"):s="above",("above"==s||n&&"below"!==s)&&(d.top=r.top-f.top-a.height),null!=s&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+s),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+s)),this.$dropdownContainer.css(d)},n.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},n.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},n}),t.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(t){for(var n=0,i=0;i0&&(d.dataAdapter=u.Decorate(d.dataAdapter,y)),d.maximumInputLength>0&&(d.dataAdapter=u.Decorate(d.dataAdapter,v)),d.maximumSelectionLength>0&&(d.dataAdapter=u.Decorate(d.dataAdapter,w)),d.tags&&(d.dataAdapter=u.Decorate(d.dataAdapter,m)),(null!=d.tokenSeparators||null!=d.tokenizer)&&(d.dataAdapter=u.Decorate(d.dataAdapter,g)),null!=d.query){var k=t(d.amdBase+"compat/query");d.dataAdapter=u.Decorate(d.dataAdapter,k)}if(null!=d.initSelection){var E=t(d.amdBase+"compat/initSelection");d.dataAdapter=u.Decorate(d.dataAdapter,E)}}if(null==d.resultsAdapter&&(d.resultsAdapter=n,null!=d.ajax&&(d.resultsAdapter=u.Decorate(d.resultsAdapter,C)),null!=d.placeholder&&(d.resultsAdapter=u.Decorate(d.resultsAdapter,b)),d.selectOnClose&&(d.resultsAdapter=u.Decorate(d.resultsAdapter,x))),null==d.dropdownAdapter){if(d.multiple)d.dropdownAdapter=_;else{var O=u.Decorate(_,A);d.dropdownAdapter=O}if(0!==d.minimumResultsForSearch&&(d.dropdownAdapter=u.Decorate(d.dropdownAdapter,D)),d.closeOnSelect&&(d.dropdownAdapter=u.Decorate(d.dropdownAdapter,M)),null!=d.dropdownCssClass||null!=d.dropdownCss||null!=d.adaptDropdownCssClass){var Y=t(d.amdBase+"compat/dropdownCss");d.dropdownAdapter=u.Decorate(d.dropdownAdapter,Y)}d.dropdownAdapter=u.Decorate(d.dropdownAdapter,S)}if(null==d.selectionAdapter){if(d.multiple?d.selectionAdapter=s:d.selectionAdapter=i,null!=d.placeholder&&(d.selectionAdapter=u.Decorate(d.selectionAdapter,o)),d.allowClear&&(d.selectionAdapter=u.Decorate(d.selectionAdapter,r)),d.multiple&&(d.selectionAdapter=u.Decorate(d.selectionAdapter,a)),null!=d.containerCssClass||null!=d.containerCss||null!=d.adaptContainerCssClass){var T=t(d.amdBase+"compat/containerCss");d.selectionAdapter=u.Decorate(d.selectionAdapter,T)}d.selectionAdapter=u.Decorate(d.selectionAdapter,l)}if("string"==typeof d.language)if(d.language.indexOf("-")>0){var I=d.language.split("-"),B=I[0];d.language=[d.language,B]}else d.language=[d.language];if(e.isArray(d.language)){var H=new c;d.language.push("en");for(var L=d.language,j=0;j0){for(var o=e.extend(!0,{},s),r=s.children.length-1;r>=0;r--){null==n(i,s.children[r])&&o.children.splice(r,1)}return o.children.length>0?o:n(i,o)}var a=t(s.text).toUpperCase(),l=t(i.term).toUpperCase();return a.indexOf(l)>-1?s:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:u.escapeMarkup,language:k,matcher:n,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},E.prototype.set=function(t,n){var i=e.camelCase(t),s={};s[i]=n;var o=u._convertData(s);e.extend(this.defaults,o)},new E}),t.define("select2/options",["require","jquery","./defaults","./utils"],function(e,t,n,i){function s(t,s){if(this.options=t,null!=s&&this.fromElement(s),this.options=n.apply(this.options),s&&s.is("input")){var o=e(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=i.Decorate(this.options.dataAdapter,o)}}return s.prototype.fromElement=function(e){var n=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.language&&(e.prop("lang")?this.options.language=e.prop("lang").toLowerCase():e.closest("[lang]").prop("lang")&&(this.options.language=e.closest("[lang]").prop("lang"))),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),e.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),e.data("data",e.data("select2Tags")),e.data("tags",!0)),e.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",e.data("ajaxUrl")),e.data("ajax--url",e.data("ajaxUrl")));var s={};s=t.fn.jquery&&"1."==t.fn.jquery.substr(0,2)&&e[0].dataset?t.extend(!0,{},e[0].dataset,e.data()):e.data();var o=t.extend(!0,{},s);o=i._convertData(o);for(var r in o)t.inArray(r,n)>-1||(t.isPlainObject(this.options[r])?t.extend(this.options[r],o[r]):this.options[r]=o[r]);return this},s.prototype.get=function(e){return this.options[e]},s.prototype.set=function(e,t){this.options[e]=t},s}),t.define("select2/core",["jquery","./options","./utils","./keys"],function(e,t,n,i){var s=function(e,n){null!=e.data("select2")&&e.data("select2").destroy(),this.$element=e,this.id=this._generateId(e),n=n||{},this.options=new t(n,e),s.__super__.constructor.call(this);var i=e.attr("tabindex")||0;e.data("old-tabindex",i),e.attr("tabindex","-1");var o=this.options.get("dataAdapter");this.dataAdapter=new o(e,this.options);var r=this.render();this._placeContainer(r);var a=this.options.get("selectionAdapter");this.selection=new a(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,r);var l=this.options.get("dropdownAdapter");this.dropdown=new l(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,r);var u=this.options.get("resultsAdapter");this.results=new u(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var c=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){c.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),e.data("select2",this)};return n.Extend(s,n.Observable),s.prototype._generateId=function(e){var t="";return t=null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+n.generateChars(2):n.generateChars(4),t=t.replace(/(:|\.|\[|\]|,)/g,""),t="select2-"+t},s.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},s.prototype._resolveWidth=function(e,t){if("resolve"==t){var n=this._resolveWidth(e,"style");return null!=n?n:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return 0>=i?"auto":i+"px"}if("style"==t){var s=e.attr("style");if("string"!=typeof s)return null;for(var o=s.split(";"),r=0,a=o.length;a>r;r+=1){var l=o[r].replace(/\s/g,""),u=l.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i);if(null!==u&&u.length>=1)return u[1]}return null}return t},s.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},s.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=n.bind(this._syncAttributes,this),this._syncS=n.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var i=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=i?(this._observer=new i(function(n){e.each(n,t._syncA),e.each(n,t._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},s.prototype._registerDataEvents=function(){var e=this;this.dataAdapter.on("*",function(t,n){e.trigger(t,n)})},s.prototype._registerSelectionEvents=function(){var t=this,n=["toggle","focus"];this.selection.on("toggle",function(){t.toggleDropdown()}),this.selection.on("focus",function(e){t.focus(e)}),this.selection.on("*",function(i,s){-1===e.inArray(i,n)&&t.trigger(i,s)})},s.prototype._registerDropdownEvents=function(){var e=this;this.dropdown.on("*",function(t,n){e.trigger(t,n)})},s.prototype._registerResultsEvents=function(){var e=this;this.results.on("*",function(t,n){e.trigger(t,n)})},s.prototype._registerEvents=function(){var e=this;this.on("open",function(){e.$container.addClass("select2-container--open")}),this.on("close",function(){e.$container.removeClass("select2-container--open")}),this.on("enable",function(){e.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){e.$container.addClass("select2-container--disabled")}),this.on("blur",function(){e.$container.removeClass("select2-container--focus")}),this.on("query",function(t){e.isOpen()||e.trigger("open",{}),this.dataAdapter.query(t,function(n){e.trigger("results:all",{data:n,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(n){e.trigger("results:append",{data:n,query:t})})}),this.on("keypress",function(t){var n=t.which;e.isOpen()?n===i.ESC||n===i.TAB||n===i.UP&&t.altKey?(e.close(),t.preventDefault()):n===i.ENTER?(e.trigger("results:select",{}),t.preventDefault()):n===i.SPACE&&t.ctrlKey?(e.trigger("results:toggle",{}),t.preventDefault()):n===i.UP?(e.trigger("results:previous",{}),t.preventDefault()):n===i.DOWN&&(e.trigger("results:next",{}),t.preventDefault()):(n===i.ENTER||n===i.SPACE||n===i.DOWN&&t.altKey)&&(e.open(),t.preventDefault())})},s.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},s.prototype._syncSubtree=function(e,t){var n=!1,i=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&t.addedNodes.length>0)for(var s=0;s0&&(n=!0);else n=!0;n&&this.dataAdapter.current(function(e){i.trigger("selection:update",{data:e})})}},s.prototype.trigger=function(e,t){var n=s.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===t&&(t={}),e in i){var o=i[e],r={prevented:!1,name:e,args:t};if(n.call(this,o,r),r.prevented)return void(t.prevented=!0)} -n.call(this,e,t)},s.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},s.prototype.open=function(){this.isOpen()||this.trigger("query",{})},s.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},s.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},s.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},s.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},s.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==e||0===e.length)&&(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},s.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var e=[];return this.dataAdapter.current(function(t){e=t}),e},s.prototype.val=function(t){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==t||0===t.length)return this.$element.val();var n=t[0];e.isArray(n)&&(n=e.map(n,function(e){return e.toString()})),this.$element.val(n).trigger("change")},s.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},s.prototype.render=function(){var t=e('');return t.attr("dir",this.options.get("dir")),this.$container=t,this.$container.addClass("select2-container--"+this.options.get("theme")),t.data("element",this.$element),t},s}),t.define("jquery-mousewheel",["jquery"],function(e){return e}),t.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(e,t,n,i){if(null==e.fn.select2){var s=["open","close","destroy"];e.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var i=e.extend(!0,{},t);new n(e(this),i)}),this;if("string"==typeof t){var i,o=Array.prototype.slice.call(arguments,1);return this.each(function(){var n=e(this).data("select2");null==n&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),i=n[t].apply(n,o)}),e.inArray(t,s)>-1?this:i}throw new Error("Invalid arguments for Select2: "+t)}}return null==e.fn.select2.defaults&&(e.fn.select2.defaults=i),n}),{define:t.define,require:t.require}}(),n=t.require("jquery.select2");return e.fn.select2.amd=t,n}),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";function e(){return pi.apply(null,arguments)}function t(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function n(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function i(e){var t;for(t in e)return!1;return!0}function s(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function o(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function r(e,t){var n,i=[];for(n=0;n0)for(n in yi)i=yi[n],s=t[i],p(s)||(e[i]=s);return e}function g(t){m(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===vi&&(vi=!0,e.updateOffset(this),vi=!1)}function y(e){return e instanceof g||null!=e&&null!=e._isAMomentObject}function v(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function w(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=v(t)),n}function _(e,t,n){var i,s=Math.min(e.length,t.length),o=Math.abs(e.length-t.length),r=0;for(i=0;i0?"future":"past"];return S(n)?n(t):n.replace(/%s/i,t)}function B(e,t){var n=e.toLowerCase();xi[n]=xi[n+"s"]=xi[t]=e}function H(e){return"string"==typeof e?xi[e]||xi[e.toLowerCase()]:void 0}function L(e){var t,n,i={};for(n in e)a(e,n)&&(t=H(n))&&(i[t]=e[n]);return i}function j(e,t){Mi[e]=t}function q(e){var t=[];for(var n in e)t.push({unit:n,priority:Mi[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function P(t,n){return function(i){return null!=i?(Q(this,t,i),e.updateOffset(this,n),this):$(this,t)}}function $(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function Q(e,t,n){e.isValid()&&e._d["set"+(e._isUTC?"UTC":"")+t](n)}function G(e){return e=H(e),S(this[e])?this[e]():this}function U(e,t){if("object"==typeof e){e=L(e);for(var n=q(e),i=0;i=0?n?"+":"":"-")+Math.pow(10,Math.max(0,s)).toString().substr(1)+i}function R(e,t,n,i){var s=i;"string"==typeof i&&(s=function(){return this[i]()}),e&&(Yi[e]=s),t&&(Yi[t[0]]=function(){return W(s.apply(this,arguments),t[1],t[2])}),n&&(Yi[n]=function(){return this.localeData().ordinal(s.apply(this,arguments),e)})}function F(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function N(e){var t,n,i=e.match(ki);for(t=0,n=i.length;t=0&&Ei.test(e);)e=e.replace(Ei,n),Ei.lastIndex=0,i-=1;return e}function J(e,t,n){Ri[e]=S(t)?t:function(e,i){return e&&n?n:t}}function Z(e,t){return a(Ri,e)?Ri[e](t._strict,t._locale):new RegExp(V(e))}function V(e){return X(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,i,s){return t||n||i||s}))}function X(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ee(e,t){var n,i=t;for("string"==typeof e&&(e=[e]),s(t)&&(i=function(e,n){n[t]=w(e)}),n=0;n=0&&isFinite(a.getFullYear())&&a.setFullYear(e),a}function ve(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function we(e,t,n){var i=7+t-n;return-(7+ve(e,0,i).getUTCDay()-t)%7+i-1}function _e(e,t,n,i,s){var o,r,a=(7+n-i)%7,l=we(e,i,s),u=1+7*(t-1)+a+l;return u<=0?(o=e-1,r=pe(o)+u):u>pe(e)?(o=e+1,r=u-pe(e)):(o=e,r=u),{year:o,dayOfYear:r}}function Ae(e,t,n){var i,s,o=we(e.year(),t,n),r=Math.floor((e.dayOfYear()-o-1)/7)+1;return r<1?(s=e.year()-1,i=r+be(s,t,n)):r>be(e.year(),t,n)?(i=r-be(e.year(),t,n),s=e.year()+1):(s=e.year(),i=r),{week:i,year:s}}function be(e,t,n){var i=we(e,t,n),s=we(e+1,t,n);return(pe(e)-i+s)/7}function Ce(e){return Ae(e,this._week.dow,this._week.doy).week}function Se(){return this._week.dow}function De(){return this._week.doy}function xe(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function Me(e){var t=Ae(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function ke(e,t){return"string"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e,10)}function Ee(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Oe(e,n){return e?t(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(n)?"format":"standalone"][e.day()]:this._weekdays}function Ye(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Te(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Ie(e,t,n){var i,s,o,r=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)o=u([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===t?(s=ns.call(this._weekdaysParse,r),-1!==s?s:null):"ddd"===t?(s=ns.call(this._shortWeekdaysParse,r),-1!==s?s:null):(s=ns.call(this._minWeekdaysParse,r),-1!==s?s:null):"dddd"===t?(s=ns.call(this._weekdaysParse,r),-1!==s?s:(s=ns.call(this._shortWeekdaysParse,r),-1!==s?s:(s=ns.call(this._minWeekdaysParse,r),-1!==s?s:null))):"ddd"===t?(s=ns.call(this._shortWeekdaysParse,r),-1!==s?s:(s=ns.call(this._weekdaysParse,r),-1!==s?s:(s=ns.call(this._minWeekdaysParse,r),-1!==s?s:null))):(s=ns.call(this._minWeekdaysParse,r),-1!==s?s:(s=ns.call(this._weekdaysParse,r),-1!==s?s:(s=ns.call(this._shortWeekdaysParse,r),-1!==s?s:null)))}function Be(e,t,n){var i,s,o;if(this._weekdaysParseExact)return Ie.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(s=u([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(s,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(s,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(s,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(o="^"+this.weekdays(s,"")+"|^"+this.weekdaysShort(s,"")+"|^"+this.weekdaysMin(s,""),this._weekdaysParse[i]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[i].test(e))return i;if(n&&"ddd"===t&&this._shortWeekdaysParse[i].test(e))return i;if(n&&"dd"===t&&this._minWeekdaysParse[i].test(e))return i;if(!n&&this._weekdaysParse[i].test(e))return i}}function He(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=ke(e,this.localeData()),this.add(e-t,"d")):t}function Le(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function je(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Ee(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function qe(e){return this._weekdaysParseExact?(a(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(a(this,"_weekdaysRegex")||(this._weekdaysRegex=fs),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Pe(e){return this._weekdaysParseExact?(a(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(a(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ps),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function $e(e){return this._weekdaysParseExact?(a(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(a(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=ms),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qe(){function e(e,t){return t.length-e.length}var t,n,i,s,o,r=[],a=[],l=[],c=[];for(t=0;t<7;t++)n=u([2e3,1]).day(t),i=this.weekdaysMin(n,""),s=this.weekdaysShort(n,""),o=this.weekdays(n,""),r.push(i),a.push(s),l.push(o),c.push(i),c.push(s),c.push(o);for(r.sort(e),a.sort(e),l.sort(e),c.sort(e),t=0;t<7;t++)a[t]=X(a[t]),l[t]=X(l[t]),c[t]=X(c[t]);this._weekdaysRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Ge(){return this.hours()%12||12}function Ue(){return this.hours()||24}function We(e,t){R(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Re(e,t){return t._meridiemParse}function Fe(e){return"p"===(e+"").toLowerCase().charAt(0)}function Ne(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}function Ke(e){return e?e.toLowerCase().replace("_","-"):e}function ze(e){for(var t,n,i,s,o=0;o0;){if(i=Je(s.slice(0,t).join("-")))return i;if(n&&n.length>=t&&_(s,n,!0)>=t-1)break;t--}o++}return null}function Je(e){var t=null;if(!ws[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=gs._abbr,require("./locale/"+e),Ze(t)}catch(e){}return ws[e]}function Ze(e,t){var n;return e&&(n=p(t)?et(e):Ve(e,t))&&(gs=n),gs._abbr}function Ve(e,t){if(null!==t){var n=vs;if(t.abbr=e,null!=ws[e])C("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=ws[e]._config;else if(null!=t.parentLocale){if(null==ws[t.parentLocale])return _s[t.parentLocale]||(_s[t.parentLocale]=[]),_s[t.parentLocale].push({name:e,config:t}),null;n=ws[t.parentLocale]._config}return ws[e]=new M(x(n,t)),_s[e]&&_s[e].forEach(function(e){Ve(e.name,e.config)}),Ze(e),ws[e]}return delete ws[e],null}function Xe(e,t){if(null!=t){var n,i=vs;null!=ws[e]&&(i=ws[e]._config),t=x(i,t),n=new M(t),n.parentLocale=ws[e],ws[e]=n,Ze(e)}else null!=ws[e]&&(null!=ws[e].parentLocale?ws[e]=ws[e].parentLocale:null!=ws[e]&&delete ws[e]);return ws[e]}function et(e){var n;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return gs;if(!t(e)){if(n=Je(e))return n;e=[e]}return ze(e)}function tt(){return bi(ws)}function nt(e){var t,n=e._a;return n&&-2===d(e).overflow&&(t=n[Ki]<0||n[Ki]>11?Ki:n[zi]<1||n[zi]>ie(n[Ni],n[Ki])?zi:n[Ji]<0||n[Ji]>24||24===n[Ji]&&(0!==n[Zi]||0!==n[Vi]||0!==n[Xi])?Ji:n[Zi]<0||n[Zi]>59?Zi:n[Vi]<0||n[Vi]>59?Vi:n[Xi]<0||n[Xi]>999?Xi:-1,d(e)._overflowDayOfYear&&(tzi)&&(t=zi),d(e)._overflowWeeks&&-1===t&&(t=es),d(e)._overflowWeekday&&-1===t&&(t=ts),d(e).overflow=t),e}function it(e){var t,n,i,s,o,r,a=e._i,l=As.exec(a)||bs.exec(a);if(l){for(d(e).iso=!0,t=0,n=Ss.length;tpe(s)&&(d(e)._overflowDayOfYear=!0),n=ve(s,0,e._dayOfYear),e._a[Ki]=n.getUTCMonth(),e._a[zi]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=i[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Ji]&&0===e._a[Zi]&&0===e._a[Vi]&&0===e._a[Xi]&&(e._nextDay=!0,e._a[Ji]=0),e._d=(e._useUTC?ve:ye).apply(null,o),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Ji]=24)}}function lt(e){var t,n,i,s,o,r,a,l;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)o=1,r=4,n=ot(t.GG,e._a[Ni],Ae(yt(),1,4).year),i=ot(t.W,1),((s=ot(t.E,1))<1||s>7)&&(l=!0);else{o=e._locale._week.dow,r=e._locale._week.doy;var u=Ae(yt(),o,r);n=ot(t.gg,e._a[Ni],u.year),i=ot(t.w,u.week),null!=t.d?((s=t.d)<0||s>6)&&(l=!0):null!=t.e?(s=t.e+o,(t.e<0||t.e>6)&&(l=!0)):s=o}i<1||i>be(n,o,r)?d(e)._overflowWeeks=!0:null!=l?d(e)._overflowWeekday=!0:(a=_e(n,i,s,o,r),e._a[Ni]=a.year,e._dayOfYear=a.dayOfYear)}function ut(t){if(t._f===e.ISO_8601)return void it(t);t._a=[],d(t).empty=!0;var n,i,s,o,r,a=""+t._i,l=a.length,u=0;for(s=z(t._f,t._locale).match(ki)||[],n=0;n0&&d(t).unusedInput.push(r),a=a.slice(a.indexOf(i)+i.length),u+=i.length),Yi[o]?(i?d(t).empty=!1:d(t).unusedTokens.push(o),ne(o,i,t)):t._strict&&!i&&d(t).unusedTokens.push(o);d(t).charsLeftOver=l-u,a.length>0&&d(t).unusedInput.push(a),t._a[Ji]<=12&&!0===d(t).bigHour&&t._a[Ji]>0&&(d(t).bigHour=void 0),d(t).parsedDateParts=t._a.slice(0),d(t).meridiem=t._meridiem,t._a[Ji]=ct(t._locale,t._a[Ji],t._meridiem),at(t),nt(t)}function ct(e,t,n){var i;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(i=e.isPM(n),i&&t<12&&(t+=12),i||12!==t||(t=0),t):t}function dt(e){var t,n,i,s,o;if(0===e._f.length)return d(e).invalidFormat=!0,void(e._d=new Date(NaN));for(s=0;sthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ht(){if(!p(this._isDSTShifted))return this._isDSTShifted;var e={};if(m(e,this),e=pt(e),e._a){var t=e._isUTC?u(e._a):yt(e._a);this._isDSTShifted=this.isValid()&&_(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Lt(){return!!this.isValid()&&!this._isUTC}function jt(){return!!this.isValid()&&this._isUTC}function qt(){return!!this.isValid()&&this._isUTC&&0===this._offset}function Pt(e,t){var n,i,o,r=e,l=null;return bt(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:s(e)?(r={},t?r[t]=e:r.milliseconds=e):(l=Ys.exec(e))?(n="-"===l[1]?-1:1,r={y:0,d:w(l[zi])*n,h:w(l[Ji])*n,m:w(l[Zi])*n,s:w(l[Vi])*n,ms:w(Ct(1e3*l[Xi]))*n}):(l=Ts.exec(e))?(n="-"===l[1]?-1:1,r={y:$t(l[2],n),M:$t(l[3],n),w:$t(l[4],n),d:$t(l[5],n),h:$t(l[6],n),m:$t(l[7],n),s:$t(l[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(o=Gt(yt(r.from),yt(r.to)),r={},r.ms=o.milliseconds,r.M=o.months),i=new At(r),bt(e)&&a(e,"_locale")&&(i._locale=e._locale),i}function $t(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Qt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function Gt(e,t){var n;return e.isValid()&&t.isValid()?(t=xt(t,e),e.isBefore(t)?n=Qt(e,t):(n=Qt(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Ut(e,t){return function(n,i){var s,o;return null===i||isNaN(+i)||(C(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=n,n=i,i=o),n="string"==typeof n?+n:n,s=Pt(n,i),Wt(this,s,e),this}}function Wt(t,n,i,s){var o=n._milliseconds,r=Ct(n._days),a=Ct(n._months);t.isValid()&&(s=null==s||s,o&&t._d.setTime(t._d.valueOf()+o*i),r&&Q(t,"Date",$(t,"Date")+r*i),a&&le(t,$(t,"Month")+a*i),s&&e.updateOffset(t,r||a))}function Rt(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Ft(t,n){var i=t||yt(),s=xt(i,this).startOf("day"),o=e.calendarFormat(this,s)||"sameElse",r=n&&(S(n[o])?n[o].call(this,i):n[o]);return this.format(r||this.localeData().calendar(o,this,yt(i)))}function Nt(){return new g(this)}function Kt(e,t){var n=y(e)?e:yt(e);return!(!this.isValid()||!n.isValid())&&(t=H(p(t)?"millisecond":t),"millisecond"===t?this.valueOf()>n.valueOf():n.valueOf()o&&(t=o),Yn.call(this,e,t,n,i,s))}function Yn(e,t,n,i,s){var o=_e(e,t,n,i,s),r=ve(o.year,0,o.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}function Tn(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function In(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}function Bn(e,t){t[Xi]=w(1e3*("0."+e))}function Hn(){return this._isUTC?"UTC":""}function Ln(){return this._isUTC?"Coordinated Universal Time":""}function jn(e){return yt(1e3*e)}function qn(){return yt.apply(null,arguments).parseZone()}function Pn(e){return e}function $n(e,t,n,i){var s=et(),o=u().set(i,t);return s[n](o,e)}function Qn(e,t,n){if(s(e)&&(t=e,e=void 0),e=e||"",null!=t)return $n(e,t,n,"month");var i,o=[];for(i=0;i<12;i++)o[i]=$n(e,i,n,"month");return o}function Gn(e,t,n,i){"boolean"==typeof e?(s(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,s(t)&&(n=t,t=void 0),t=t||"");var o=et(),r=e?o._week.dow:0;if(null!=n)return $n(t,(n+r)%7,i,"day");var a,l=[];for(a=0;a<7;a++)l[a]=$n(t,(a+r)%7,i,"day");return l}function Un(e,t){return Qn(e,t,"months")}function Wn(e,t){return Qn(e,t,"monthsShort")}function Rn(e,t,n){return Gn(e,t,n,"weekdays")}function Fn(e,t,n){return Gn(e,t,n,"weekdaysShort")}function Nn(e,t,n){return Gn(e,t,n,"weekdaysMin")}function Kn(){var e=this._data;return this._milliseconds=Us(this._milliseconds),this._days=Us(this._days),this._months=Us(this._months),e.milliseconds=Us(e.milliseconds),e.seconds=Us(e.seconds),e.minutes=Us(e.minutes),e.hours=Us(e.hours),e.months=Us(e.months),e.years=Us(e.years),this}function zn(e,t,n,i){var s=Pt(t,n);return e._milliseconds+=i*s._milliseconds,e._days+=i*s._days,e._months+=i*s._months,e._bubble()}function Jn(e,t){return zn(this,e,t,1)}function Zn(e,t){return zn(this,e,t,-1)}function Vn(e){return e<0?Math.floor(e):Math.ceil(e)}function Xn(){var e,t,n,i,s,o=this._milliseconds,r=this._days,a=this._months,l=this._data;return o>=0&&r>=0&&a>=0||o<=0&&r<=0&&a<=0||(o+=864e5*Vn(ti(a)+r),r=0,a=0),l.milliseconds=o%1e3,e=v(o/1e3),l.seconds=e%60,t=v(e/60),l.minutes=t%60,n=v(t/60),l.hours=n%24,r+=v(n/24),s=v(ei(r)),a+=s,r-=Vn(ti(s)),i=v(a/12),a%=12,l.days=r,l.months=a,l.years=i,this}function ei(e){return 4800*e/146097}function ti(e){return 146097*e/4800}function ni(e){var t,n,i=this._milliseconds;if("month"===(e=H(e))||"year"===e)return t=this._days+i/864e5,n=this._months+ei(t),"month"===e?n:n/12;switch(t=this._days+Math.round(ti(this._months)),e){case"week":return t/7+i/6048e5;case"day":return t+i/864e5;case"hour":return 24*t+i/36e5;case"minute":return 1440*t+i/6e4;case"second":return 86400*t+i/1e3;case"millisecond":return Math.floor(864e5*t)+i;default:throw new Error("Unknown unit "+e)}}function ii(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12)}function si(e){return function(){return this.as(e)}}function oi(e){return e=H(e),this[e+"s"]()}function ri(e){return function(){return this._data[e]}}function ai(){return v(this.days()/7)}function li(e,t,n,i,s){return s.relativeTime(t||1,!!n,e,i)}function ui(e,t,n){var i=Pt(e).abs(),s=oo(i.as("s")),o=oo(i.as("m")),r=oo(i.as("h")),a=oo(i.as("d")),l=oo(i.as("M")),u=oo(i.as("y")),c=s0,c[4]=n,li.apply(null,c)}function ci(e){return void 0===e?oo:"function"==typeof e&&(oo=e,!0)}function di(e,t){return void 0!==ro[e]&&(void 0===t?ro[e]:(ro[e]=t,!0))}function hi(e){var t=this.localeData(),n=ui(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function fi(){var e,t,n,i=ao(this._milliseconds)/1e3,s=ao(this._days),o=ao(this._months);e=v(i/60),t=v(e/60),i%=60,e%=60,n=v(o/12),o%=12;var r=n,a=o,l=s,u=t,c=e,d=i,h=this.asSeconds();return h?(h<0?"-":"")+"P"+(r?r+"Y":"")+(a?a+"M":"")+(l?l+"D":"")+(u||c||d?"T":"")+(u?u+"H":"")+(c?c+"M":"")+(d?d+"S":""):"P0D"}var pi,mi;mi=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,i=0;i68?1900:2e3)};var ls=P("FullYear",!0);R("w",["ww",2],"wo","week"),R("W",["WW",2],"Wo","isoWeek"),B("week","w"),B("isoWeek","W"),j("week",5),j("isoWeek",5),J("w",Hi),J("ww",Hi,Ti),J("W",Hi),J("WW",Hi,Ti),te(["w","ww","W","WW"],function(e,t,n,i){t[i.substr(0,1)]=w(e)});var us={dow:0,doy:6};R("d",0,"do","day"),R("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),R("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),R("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),R("e",0,0,"weekday"),R("E",0,0,"isoWeekday"),B("day","d"),B("weekday","e"),B("isoWeekday","E"),j("day",11),j("weekday",11),j("isoWeekday",11),J("d",Hi),J("e",Hi),J("E",Hi),J("dd",function(e,t){return t.weekdaysMinRegex(e)}),J("ddd",function(e,t){return t.weekdaysShortRegex(e)}),J("dddd",function(e,t){return t.weekdaysRegex(e)}),te(["dd","ddd","dddd"],function(e,t,n,i){var s=n._locale.weekdaysParse(e,i,n._strict);null!=s?t.d=s:d(n).invalidWeekday=e}),te(["d","e","E"],function(e,t,n,i){t[i]=w(e)});var cs="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ds="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),hs="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),fs=Wi,ps=Wi,ms=Wi;R("H",["HH",2],0,"hour"),R("h",["hh",2],0,Ge),R("k",["kk",2],0,Ue),R("hmm",0,0,function(){return""+Ge.apply(this)+W(this.minutes(),2)}),R("hmmss",0,0,function(){return""+Ge.apply(this)+W(this.minutes(),2)+W(this.seconds(),2)}),R("Hmm",0,0,function(){return""+this.hours()+W(this.minutes(),2)}),R("Hmmss",0,0,function(){return""+this.hours()+W(this.minutes(),2)+W(this.seconds(),2)}),We("a",!0),We("A",!1),B("hour","h"),j("hour",13),J("a",Re),J("A",Re),J("H",Hi),J("h",Hi),J("HH",Hi,Ti),J("hh",Hi,Ti),J("hmm",Li),J("hmmss",ji),J("Hmm",Li),J("Hmmss",ji),ee(["H","HH"],Ji),ee(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ee(["h","hh"],function(e,t,n){t[Ji]=w(e),d(n).bigHour=!0}),ee("hmm",function(e,t,n){var i=e.length-2;t[Ji]=w(e.substr(0,i)),t[Zi]=w(e.substr(i)),d(n).bigHour=!0}),ee("hmmss",function(e,t,n){var i=e.length-4,s=e.length-2;t[Ji]=w(e.substr(0,i)),t[Zi]=w(e.substr(i,2)),t[Vi]=w(e.substr(s)),d(n).bigHour=!0}),ee("Hmm",function(e,t,n){var i=e.length-2;t[Ji]=w(e.substr(0,i)),t[Zi]=w(e.substr(i))}),ee("Hmmss",function(e,t,n){var i=e.length-4,s=e.length-2;t[Ji]=w(e.substr(0,i)),t[Zi]=w(e.substr(i,2)),t[Vi]=w(e.substr(s))});var gs,ys=P("Hours",!0),vs={calendar:Ci,longDateFormat:Si,invalidDate:"Invalid date",ordinal:"%d",ordinalParse:/\d{1,2}/,relativeTime:Di,months:ss,monthsShort:os,week:us,weekdays:cs,weekdaysMin:hs,weekdaysShort:ds,meridiemParse:/[ap]\.?m?\.?/i},ws={},_s={},As=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,bs=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Cs=/Z|[+-]\d\d(?::?\d\d)?/,Ss=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ds=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],xs=/^\/?Date\((\-?\d+)/i;e.createFromInputFallback=b("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),e.ISO_8601=function(){};var Ms=b("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=yt.apply(null,arguments);return this.isValid()&&e.isValid()?ethis?this:e:f()}),Es=function(){return Date.now?Date.now():+new Date};St("Z",":"),St("ZZ",""),J("Z",Ui),J("ZZ",Ui),ee(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Dt(Ui,e)});var Os=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var Ys=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ts=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Pt.fn=At.prototype;var Is=Ut(1,"add"),Bs=Ut(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Hs=b("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});R(0,["gg",2],0,function(){return this.weekYear()%100}),R(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Dn("gggg","weekYear"),Dn("ggggg","weekYear"),Dn("GGGG","isoWeekYear"),Dn("GGGGG","isoWeekYear"),B("weekYear","gg"),B("isoWeekYear","GG"),j("weekYear",1),j("isoWeekYear",1),J("G",Qi),J("g",Qi),J("GG",Hi,Ti),J("gg",Hi,Ti),J("GGGG",Pi,Ii),J("gggg",Pi,Ii),J("GGGGG",$i,Bi),J("ggggg",$i,Bi),te(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,i){t[i.substr(0,2)]=w(e)}),te(["gg","GG"],function(t,n,i,s){n[s]=e.parseTwoDigitYear(t)}),R("Q",0,"Qo","quarter"),B("quarter","Q"),j("quarter",7),J("Q",/\d/),ee("Q",function(e,t){t[Ki]=3*(w(e)-1)}),R("D",["DD",2],"Do","date"),B("date","D"),j("date",9),J("D",Hi),J("DD",Hi,Ti),J("Do",function(e,t){return e?t._ordinalParse:t._ordinalParseLenient}),ee(["D","DD"],zi),ee("Do",function(e,t){t[zi]=w(e.match(Hi)[0],10)});var Ls=P("Date",!0);R("DDD",["DDDD",3],"DDDo","dayOfYear"),B("dayOfYear","DDD"),j("dayOfYear",4),J("DDD",qi),J("DDDD",/\d{3}/),ee(["DDD","DDDD"],function(e,t,n){n._dayOfYear=w(e)}),R("m",["mm",2],0,"minute"),B("minute","m"),j("minute",14),J("m",Hi),J("mm",Hi,Ti),ee(["m","mm"],Zi);var js=P("Minutes",!1);R("s",["ss",2],0,"second"),B("second","s"),j("second",15),J("s",Hi),J("ss",Hi,Ti),ee(["s","ss"],Vi);var qs=P("Seconds",!1);R("S",0,0,function(){return~~(this.millisecond()/100)}),R(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),R(0,["SSS",3],0,"millisecond"),R(0,["SSSS",4],0,function(){return 10*this.millisecond()}),R(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),R(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),R(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),R(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),R(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),B("millisecond","ms"),j("millisecond",16),J("S",qi,/\d/),J("SS",qi,Ti),J("SSS",qi,/\d{3}/);var Ps;for(Ps="SSSS";Ps.length<=9;Ps+="S")J(Ps,/\d+/);for(Ps="S";Ps.length<=9;Ps+="S")ee(Ps,Bn);var $s=P("Milliseconds",!1);R("z",0,0,"zoneAbbr"),R("zz",0,0,"zoneName");var Qs=g.prototype;Qs.add=Is,Qs.calendar=Ft,Qs.clone=Nt,Qs.diff=en,Qs.endOf=pn,Qs.format=rn,Qs.from=an,Qs.fromNow=ln,Qs.to=un,Qs.toNow=cn,Qs.get=G,Qs.invalidAt=Cn,Qs.isAfter=Kt,Qs.isBefore=zt,Qs.isBetween=Jt,Qs.isSame=Zt,Qs.isSameOrAfter=Vt,Qs.isSameOrBefore=Xt,Qs.isValid=An,Qs.lang=Hs,Qs.locale=dn,Qs.localeData=hn,Qs.max=ks,Qs.min=Ms,Qs.parsingFlags=bn,Qs.set=U,Qs.startOf=fn,Qs.subtract=Bs,Qs.toArray=vn,Qs.toObject=wn,Qs.toDate=yn,Qs.toISOString=sn,Qs.inspect=on,Qs.toJSON=_n,Qs.toString=nn,Qs.unix=gn,Qs.valueOf=mn,Qs.creationData=Sn,Qs.year=ls,Qs.isLeapYear=ge,Qs.weekYear=xn,Qs.isoWeekYear=Mn,Qs.quarter=Qs.quarters=Tn,Qs.month=ue,Qs.daysInMonth=ce,Qs.week=Qs.weeks=xe,Qs.isoWeek=Qs.isoWeeks=Me,Qs.weeksInYear=En,Qs.isoWeeksInYear=kn,Qs.date=Ls,Qs.day=Qs.days=He,Qs.weekday=Le,Qs.isoWeekday=je,Qs.dayOfYear=In,Qs.hour=Qs.hours=ys,Qs.minute=Qs.minutes=js,Qs.second=Qs.seconds=qs,Qs.millisecond=Qs.milliseconds=$s,Qs.utcOffset=kt,Qs.utc=Ot,Qs.local=Yt,Qs.parseZone=Tt,Qs.hasAlignedHourOffset=It,Qs.isDST=Bt,Qs.isLocal=Lt,Qs.isUtcOffset=jt,Qs.isUtc=qt,Qs.isUTC=qt,Qs.zoneAbbr=Hn,Qs.zoneName=Ln,Qs.dates=b("dates accessor is deprecated. Use date instead.",Ls),Qs.months=b("months accessor is deprecated. Use month instead",ue),Qs.years=b("years accessor is deprecated. Use year instead",ls),Qs.zone=b("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Et),Qs.isDSTShifted=b("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ht);var Gs=M.prototype;Gs.calendar=k,Gs.longDateFormat=E,Gs.invalidDate=O,Gs.ordinal=Y,Gs.preparse=Pn,Gs.postformat=Pn,Gs.relativeTime=T,Gs.pastFuture=I,Gs.set=D,Gs.months=se,Gs.monthsShort=oe,Gs.monthsParse=ae,Gs.monthsRegex=he,Gs.monthsShortRegex=de,Gs.week=Ce,Gs.firstDayOfYear=De,Gs.firstDayOfWeek=Se,Gs.weekdays=Oe,Gs.weekdaysMin=Te,Gs.weekdaysShort=Ye,Gs.weekdaysParse=Be,Gs.weekdaysRegex=qe,Gs.weekdaysShortRegex=Pe,Gs.weekdaysMinRegex=$e,Gs.isPM=Fe,Gs.meridiem=Ne,Ze("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===w(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),e.lang=b("moment.lang is deprecated. Use moment.locale instead.",Ze),e.langData=b("moment.langData is deprecated. Use moment.localeData instead.",et);var Us=Math.abs,Ws=si("ms"),Rs=si("s"),Fs=si("m"),Ns=si("h"),Ks=si("d"),zs=si("w"),Js=si("M"),Zs=si("y"),Vs=ri("milliseconds"),Xs=ri("seconds"),eo=ri("minutes"),to=ri("hours"),no=ri("days"),io=ri("months"),so=ri("years"),oo=Math.round,ro={s:45,m:45,h:22,d:26,M:11},ao=Math.abs,lo=At.prototype;return lo.abs=Kn,lo.add=Jn,lo.subtract=Zn,lo.as=ni,lo.asMilliseconds=Ws,lo.asSeconds=Rs,lo.asMinutes=Fs,lo.asHours=Ns,lo.asDays=Ks,lo.asWeeks=zs,lo.asMonths=Js,lo.asYears=Zs,lo.valueOf=ii,lo._bubble=Xn,lo.get=oi,lo.milliseconds=Vs,lo.seconds=Xs,lo.minutes=eo,lo.hours=to,lo.days=no,lo.weeks=ai,lo.months=io,lo.years=so,lo.humanize=hi,lo.toISOString=fi,lo.toString=fi,lo.toJSON=fi,lo.locale=dn,lo.localeData=hn,lo.toIsoString=b("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",fi),lo.lang=Hs,R("X",0,0,"unix"),R("x",0,0,"valueOf"),J("x",Qi),J("X",/[+-]?\d+(\.\d{1,3})?/),ee("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ee("x",function(e,t,n){n._d=new Date(w(e))}),e.version="2.17.1",function(e){pi=e}(yt),e.fn=Qs,e.min=wt,e.max=_t,e.now=Es,e.utc=u,e.unix=jn,e.months=Un,e.isDate=o,e.locale=Ze,e.invalid=f,e.duration=Pt,e.isMoment=y,e.weekdays=Rn,e.parseZone=qn,e.localeData=et,e.isDuration=bt,e.monthsShort=Wn,e.weekdaysMin=Nn,e.defineLocale=Ve,e.updateLocale=Xe,e.locales=tt,e.weekdaysShort=Fn,e.normalizeUnits=H,e.relativeTimeRounding=ci,e.relativeTimeThreshold=di,e.calendarFormat=Rt,e.prototype=Qs,e}); \ No newline at end of file diff --git a/dist/static/js/0.8a5ed3.js b/dist/static/js/0.8a5ed3.js deleted file mode 100644 index b242331..0000000 --- a/dist/static/js/0.8a5ed3.js +++ /dev/null @@ -1 +0,0 @@ -webpackJsonp([0,1],[,,,,,function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(11),i=n(s),r=o(76),u=n(r),a=o(77),l=n(a),c=o(81),f=n(c),d=function(){function t(){(0,u.default)(this,t)}return(0,l.default)(t,[{key:"fetchList",value:function(t){return(0,f.default)({url:"/msg",body:t})}},{key:"fetchAuthorList",value:function(){return(0,f.default)({url:"/msg/authors"})}},{key:"fetchById",value:function(t){return(0,f.default)({url:"/msg/"+t})}},{key:"add",value:function(t){return(0,f.default)({method:"post",url:"/msg",body:t})}},{key:"update",value:function(t){t=(0,i.default)({},t);var e=t.id;return delete t.msgId,(0,f.default)({method:"put",url:"/msg/"+e,body:t})}},{key:"del",value:function(t){return(0,f.default)({method:"delete",url:"/msg/"+t})}}]),t}();e.default=new d},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(273),i=n(s),r=o(272),u=n(r),a=o(80),l=n(a),c=o(261),f=n(c);e.default={mixins:[l.default],data:function(){return{specialFields_:[]}},watch:{"$route.query":function(t,e){var o=(0,f.default)((0,u.default)(e),(0,u.default)(t));this.autoSyncWithQuery(o)}},methods:{_init:function(){var t=[];for(var e in this.$data)if(e.endsWith("$")){var o=e.replace(/\$$/,"");t.push(o),this._cache(e),this._watch(e,o)}this.specialFields_=t},_cache:function(t){this.$data[t+"$"]=this[t]},_restore:function(t){this[t]=this.$data[t+"$"]},_watch:function(t,e){this.$watch(t,function(t){this.updateQuery((0,i.default)({},e,t))})},autoSyncWithQuery:function(t){var e=this;t||this._init();var o=this.$route.query;this.specialFields_.forEach(function(n){var s=n+"$";o[n]&&(e[s]=o[n]),t&&t.includes(n)&&e._restore(s)})}}}},,,function(t,e,o){var n,s,i={};n=o(289),s=o(134),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(306),i=n(s);e.default={methods:{updateQuery:function(t){this.$router.go((0,i.default)(this.$route.path,t))}}}},,,function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(5),i=n(s);e.default={route:{activate:function(t){var e=this,o=t.next;i.default.fetchById(this.$route.params.msgId).then(function(t){e.msg=t,e.$emit("MSG_LOADED"),o()})}}}},function(t,e,o){var n,s,i={};o(117),n=o(288),s=o(133),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},,,,,,,,,,,,,,,,,,,,,,,,,,,109,,,109,109,109,109,109,109,,,,,function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},,,function(t,e){t.exports='
          '},function(t,e){t.exports="
          "},function(t,e){t.exports='
          欢迎使用 Vue Demo
          npm start
          npm run build
          两个命令玩转 Vue
          '},function(t,e){t.exports='
          筛选发布者:
          '},function(t,e){t.exports='
          '},function(t,e){t.exports='
          '},function(t,e){t.exports='
          '},function(t,e){t.exports='
          标题:{{ msg.title }} {{ msg.ctime | dateTimeFormatter }}
          发布者: {{ msg.author }}

          {{ msg.content }}

          '},function(t,e){t.exports="
          "},function(t,e){t.exports='

          (暂无留言信息)

          {{ total }} 条记录,
          '},function(t,e){t.exports='
          '},,,,,function(t,e,o){o(169),t.exports=o(6).Object.keys},,,,,,,,,,,,,,,function(t,e,o){var n=o(22),s=o(6),i=o(13);t.exports=function(t,e){var o=(s.Object||{})[t]||Object[t],r={};r[t]=e(o),n(n.S+n.F*i(function(){o(1)}),"Object",r)}},,,,,,,,,,function(t,e,o){var n=o(52),s=o(49);o(159)("keys",function(){return function(t){return s(n(t))}})},,,,,,,,,,,function(t,e){function o(t,e,o){switch(o.length){case 0:return t.call(e);case 1:return t.call(e,o[0]);case 2:return t.call(e,o[0],o[1]);case 3:return t.call(e,o[0],o[1],o[2])}return t.apply(e,o)}t.exports=o},,function(t,e,o){function n(t,e){var o=null==t?0:t.length;return!!o&&s(t,e,0)>-1}var s=o(191);t.exports=n},function(t,e){function o(t,e,o){for(var n=-1,s=null==t?0:t.length;++n=c&&(d=l,p=!1,e=new s(e));t:for(;++f0&&o(c)?e>1?n(c,e-1,o,r,u):s(u,c):r||(u[u.length]=c)}return u}var s=o(28),i=o(228);t.exports=n},,function(t,e,o){function n(t,e,o){return e===e?r(t,e,o):s(t,i,o)}var s=o(188),i=o(195),r=o(258);t.exports=n},,,,function(t,e){function o(t){return t!==t}t.exports=o},,,,,,,,,,,function(t,e,o){function n(t,e){return r(i(t,e,s),t+"")}var s=o(33),i=o(247),r=o(251);t.exports=n},,function(t,e,o){var n=o(260),s=o(60),i=o(33),r=s?function(t,e){return s(t,"toString",{configurable:!0,enumerable:!1,value:n(e),writable:!0})}:i;t.exports=r},,,,,,,,,,,,,,,,,,,,function(t,e,o){function n(t){return r(t)||i(t)||!!(u&&t&&t[u])}var s=o(7),i=o(34),r=o(2),u=s?s.isConcatSpreadable:void 0;t.exports=n},,,,,,,,,,,,,,,,,,,function(t,e,o){function n(t,e,o){return e=i(void 0===e?t.length-1:e,0),function(){for(var n=arguments,r=-1,u=i(n.length-e,0),a=Array(u);++r0){if(++e>=n)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var n=800,s=16,i=Date.now;t.exports=o},,,,,,function(t,e){function o(t,e,o){for(var n=o-1,s=t.length;++n=this.total},isLastPage:function(){return+this.offset$+this.limit>=this.total},totalPageIdx:function(){return Math.ceil(this.total/this.limit)-1},curPageIdx:function(){return Math.ceil(+this.offset$/this.limit)},displayPageBtns:function(){var t=this.totalPageIdx+1,e=this.curPageIdx+1;return t<=7?function(t){for(var e=[];t;)e.unshift(t--);return e}(t):e<=3||t-e<3?[1,2,3,0,t-2,t-1,t]:4===e?[1,2,3,4,0,t-1,t]:e===t-3?[1,2,0,e,t-2,t-1,t]:[1,0,e-1,e,e+1,0,t]}},methods:{handleClick:function(t){this.offset$=(t-1)*this.limit},turnPage:function(t){t<0&&this.isFirstPage||t>0&&this.isLastPage||(this.offset$=+this.offset$+t*this.limit)}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(39),i=n(s);e.default={mixins:[i.default],data:function(){return{limit$:5}},ready:function(){this.autoSyncWithQuery()}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(11),i=n(s);e.default={props:{model:{twoWay:!0,default:function(){return[]}},models:{twoWay:!0,default:""},options:{type:Array,required:!0},valueField:{type:String,default:"value"},textField:{type:String,default:"text"},config:{type:Object,default:function(){return{}}}},computed:{conf:function(){return(0,i.default)({allowClear:!0},this.config)}},attached:function(){this.init()},watch:{options:function(){this.init()},model:function(t){this.init(),this.syncModelsWithModel()},models:function(t){this.syncModelWithModels()}},methods:{init:function(){var t=this;this.$nextTick(function(){var e=$(t.$el);e.select2(t.conf),e.on("change",function(){return t.model=e.val()})})},syncModelsWithModel:function(){this.config.multiple&&(this.models=(this.model||[]).join(","))},syncModelWithModels:function(){this.config.multiple&&(this.model=this.models.split(","))}}}},,,function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(41),i=n(s);e.default={data:function(){return{username:""}},methods:{handleSubmit:function(){var t=this,e=$.trim(this.username);return e?void i.default.login({username:e}).then(function(e){t.$root.userData=e;var o=t.$route.query.referrer;o=o?decodeURIComponent(o):"/",t.$router.replace({path:o,force:!0})}):$.toast({heading:"用户名为空",icon:"warning",stack:!1})}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(41),i=n(s);e.default={init:function(){var t=this;i.default.logout().then(function(){t.$root.userData=null,t.$router.replace("/auth/login")})}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(312),i=n(s),r=o(39),u=n(r),a=o(5),l=n(a);e.default={mixins:[u.default],components:{Select2:i.default},data:function(){return{authors$:"",authorList:[]}},computed:{opts:function(){return this.authorList.map(function(t){return{value:t,text:t}})}},attached:function(){$(this.$els.addon).tooltip()},ready:function(){return this.autoSyncWithQuery(),l.default.authorList?this.authorList=l.default.authorList:void this.loadOptions()},methods:{loadOptions:function(t){var e=this;l.default.fetchAuthorList().then(function(o){e.authorList=l.default.authorList=o,t&&$.toast({heading:"已刷新",icon:"success",stack:!1})})}}}},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={props:{msg:{type:Object,required:!0,twoWay:!0}},computed:{allowToSubmit:function(){var t=this.msg,e=t.title,o=t.content;return e&&o}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(5),i=n(s);e.default={props:{msg:{type:Object,required:!0},autoJump:{type:Boolean,default:!1},editBtn:{type:Boolean,default:!0}},computed:{shouldShowOptBtn:function(){var t=this.$root.userData;if(t)return t.username===this.msg.author}},methods:{handleDel:function(){var t=this;window.swal({title:"确认删除?",text:"删除后不可恢复",type:"warning",showCancelButton:!0,cancelButtonText:"取消",confirmButtonColor:"#DD6B55",confirmButtonText:"删除"},function(e){if(e){var o=t.msg.id;i.default.del(o).then(function(){$.toast({heading:"删除成功",icon:"success"}),t.autoJump?t.$router.replace("/msg"):t.$dispatch("REFETCH_LIST")})}})}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(84),i=n(s),r=o(5),u=n(r);e.default={components:{MsgForm:i.default},data:function(){return{msg:{title:"",content:""}}},methods:{handleSubmit:function(){var t=this;u.default.add(this.msg).then(function(e){var o=e.id;$.toast({heading:"发布成功",text:"已自动跳转到详情页",icon:"success"}),t.$router.replace("/msg/detail/"+o)})}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(42),i=n(s),r=o(83),u=n(r);e.default={mixins:[u.default],components:{OptBtnGroup:i.default},data:function(){return{msg:{}}},computed:{isMine:function(){var t=this.msg.author,e=this.$root.userData;if(t&&e)return t===e.username}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(310),i=n(s),r=o(311),u=n(r),a=o(318),l=n(a),c=o(42),f=n(c),d=o(80),p=n(d),m=o(5),h=n(m);e.default={mixins:[p.default],components:{Pagination:i.default,LimitSelect:u.default,AuthorSelect:l.default,OptBtnGroup:f.default},data:function(){return{total:0,msgs:[]}},route:{data:function(){var t=this;h.default.fetchList(this.$route.query).then(function(e){var o=e.total,n=e.rows;t.total=o,t.msgs=n})}},filters:{cutLongText:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return t.length>e?t.substr(0,e)+"···":t}},events:{REFETCH_LIST:function(){this.updateQuery({_:Date.now()})}}}},function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=o(84),i=n(s),r=o(42),u=n(r),a=o(5),l=n(a),c=o(83),f=n(c);e.default={mixins:[f.default],components:{MsgForm:i.default,OptBtnGroup:u.default},data:function(){return{msg:{}}},methods:{handleSubmit:function(){var t=this;l.default.update(this.msg).then(function(e){var o=e.id;$.toast({heading:"更新成功",text:"已自动跳转到详情页",icon:"success"}),t.$router.replace("/msg/detail/"+o)})}},events:{MSG_LOADED:function(){this.msg.author!==this.$root.userData.username&&($.toast({heading:"非法访问",icon:"error"}),this.$router.replace("/msg"))}}}},,,,,,,,,,,,,function(t,e,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function s(t,e){var o=t.split("?"),n=o[0],s=o[1],i=a.default.stringify((0,c.default)((0,r.default)({},a.default.parse(s),e),function(t){return t}),{encode:!1});return i?n+"?"+i:n}Object.defineProperty(e,"__esModule",{value:!0});var i=o(11),r=n(i);e.default=s;var u=o(74),a=n(u),l=o(38),c=n(l)},,,,function(t,e,o){var n,s,i={};n=o(280),s=o(124),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};o(111),n=o(281),s=o(125),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};n=o(282),s=o(126),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},,,function(t,e,o){var n,s,i={};o(114),n=o(285),s=o(129),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};n=o(286),s=o(130),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};o(115),s=o(131),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};o(116),n=o(287),s=o(132),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};n=o(290),s=o(135),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};o(118),n=o(291),s=o(136),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};s=o(137),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};o(119),n=o(292),s=o(138),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})},function(t,e,o){var n,s,i={};n=o(293),s=o(139),t.exports=n||{},t.exports.__esModule&&(t.exports=t.exports.default);var r="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;s&&(r.template=s),r.computed||(r.computed={}),Object.keys(i).forEach(function(t){var e=i[t];r.computed[t]=function(){return e}})}]); \ No newline at end of file diff --git a/dist/static/js/app.34d677.js b/dist/static/js/app.34d677.js deleted file mode 100644 index adda6c8..0000000 --- a/dist/static/js/app.34d677.js +++ /dev/null @@ -1 +0,0 @@ -webpackJsonp([3,1],{0:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var o=n(11),r=a(o);n(107),n(109);var u=n(20),i=a(u);n(295);var s=n(301),l=a(s),c=n(307),d=a(c),f=n(41),p=a(f);p.default.checkLogin().then(function(t){if(t){var e=d.default.data;d.default.data=function(){return(0,r.default)({},e(),{userData:t})}}l.default.start(d.default,"#app")}),console.info("[当前环境] 生产环境"),i.default.config.devtools=!1},19:function(t,e,n){(function(e){var a=n(106),o="db.json",r=n(93);o=r.join(e,o);var u=a(o);u.defaults({msgs:[],session:null}).value(),t.exports=u}).call(e,"/")},40:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(11),r=a(o),u=n(303),i=a(u),s=n(302),l=a(s);e.default=(0,r.default)({"*":{component:{init:function(){window.swal({type:"warning",title:"404 NOT FOUND",timer:2e3,showConfirmButton:!1}),history.back()},template:""}},"/redirect":{component:{init:function(){this.$router.replace({path:decodeURIComponent(this.$route.query.dest||"/"),force:!0})},template:""}},"/":{title:"首页",icon:"fa fa-home",showInNavbar:{exact:!0},showInSidebar:!0,component:function(t){n.e(0,function(e){var n=[e(317)];t.apply(null,n)}.bind(this))}}},i.default,l.default)},41:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(76),r=a(o),u=n(77),i=a(u),s=n(81),l=a(s),c=function(){function t(){(0,r.default)(this,t)}return(0,i.default)(t,[{key:"checkLogin",value:function(){return(0,l.default)({url:"/auth/checkLogin"})}},{key:"login",value:function(t){return(0,l.default)({method:"post",url:"/auth/login",body:t})}},{key:"logout",value:function(){return(0,l.default)({method:"delete",url:"/auth/logout"})}}]),t}();e.default=new c},81:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(305).default;a=n(85),e.default=a},82:function(t,e){"use strict";function n(t){return t?t.split("?")[0]:""}Object.defineProperty(e,"__esModule",{value:!0}),e.default=n},85:function(t,e,n){window._=n(266);var a=n(95),o=n(74),r=n(92),u=n(89),i=n(91),s=n(90),l=a();l.use(i),l.use(s),l.use(r),l.use(u);var c=function(t){console.group("Mock Server");var e=(t.method||"GET").toUpperCase(),n=t.body,a=t.url,r=a.split("?"),u=r[0],i=o.parse(r[1]);if("GET"===e&&n){Object.assign(i,n);var s=o.stringify(i);a=s?u+"?"+s:a}return new Promise(function(t){l.receive({method:e,url:a,body:n||{}}).respond(function(e){return"string"==typeof e&&(e=JSON.parse(e)),e.success?(t(e.data),void console.groupEnd("Mock Server")):alert(e.errMsg)})})};t.exports=c},86:function(t,e,n){var a=n(19);e.checkLogin=function(t,e){e.ajaxReturn(a.get("session").value())},e.login=function(t,e){var n=(t.body.username||"").trim();if(!n)return e.ajaxReturn(!1,{errMsg:"username 字段为空"});var o={username:n};a.set("session",o).value(),e.ajaxReturn(o)},e.logout=function(t,e){a.set("session",null).value(),e.ajaxReturn()}},87:function(t,e,n){var a=n(172),o=n(19);e.getList=function(t,e){var n=t.query.authors,a=~~t.query.offset||0,r=~~t.query.limit||5,u=o.get("msgs");n&&(n=n.split(","),u=u.filter(function(t){return n.indexOf(t.author)!==-1})),e.ajaxReturn({total:u.size().value(),rows:u.orderBy("ctime","desc").slice(a,a+r).value()})},e.add=function(t,e){return t.body.title&&t.body.content?(t.body.id=a().substr(0,8),t.body.author=o.get("session.username").value(),t.body.ctime=Date.now(),void e.ajaxReturn(o.get("msgs").push(t.body).last().value())):e.ajaxReturn(!1,{errMsg:"title 或 content 字段为空"})},e.authors=function(t,e){e.ajaxReturn(o.get("msgs").map("author").uniq().value())},e.getById=function(t,e){var n=o.get("msgs").find({id:t.params.msgId}).value();return n?e.ajaxReturn(n):void e.ajaxReturn(!1,{errMsg:"不存在该留言信息"})},e.update=function(t,e){delete t.body.id,delete t.body.author,t.body.ctime=Date.now();var n=o.get("msgs").find({id:t.params.msgId,author:o.get("session.username").value()});return n.isEmpty().value()?e.ajaxReturn(!1,{errMsg:"修改失败"}):void e.ajaxReturn(n.assign(t.body).value())},e.remove=function(t,e){var n=o.get("msgs").remove({id:t.params.msgId,author:o.get("session.username").value()}).value()[0];return n?e.ajaxReturn(n):void e.ajaxReturn(!1,{errMsg:"删除失败"})}},88:function(t,e,n){function a(t,e){return function(n,a,r){!o.get("session").isEmpty().value()===t?r():a.ajaxReturn(!1,{errMsg:e})}}var o=n(19);t.exports={NEED_AUTH:a(!0,"您需要登录后才能进行该操作"),FORBID_AUTHED:a(!1,"您已经登录,禁止当前操作")}},89:function(t,e){t.exports=function(t,e){e.ajaxReturn(!1,{errMsg:"404 NOT FOUND"})}},90:function(t,e){t.exports=function(t,e,n){e.ajaxReturn=function(t,n){e.json(Object.assign({success:!!t||!n,errMsg:"",data:t||""},n))},n()}},91:function(t,e){t.exports=function(t,e,n){console.info("[Logger]",t.method,t.originalUrl),n()}},92:function(t,e,n){var a=n(87),o=n(86),r=n(88);t.exports=[{path:"/msg",method:"GET",handler:a.getList},{path:"/msg",method:"POST",middlewares:[r.NEED_AUTH],handler:a.add},{path:"/msg/authors",method:"GET",handler:a.authors},{path:"/msg/:msgId",method:"GET",handler:a.getById},{path:"/msg/:msgId",method:"PUT",middlewares:[r.NEED_AUTH],handler:a.update},{path:"/msg/:msgId",method:"DELETE",middlewares:[r.NEED_AUTH],handler:a.remove},{path:"/auth/checkLogin",method:"GET",handler:o.checkLogin},{path:"/auth/login",method:"POST",middlewares:[r.FORBID_AUTHED],handler:o.login},{path:"/auth/logout",method:"DELETE",middlewares:[r.NEED_AUTH],handler:o.logout}]},109:function(t,e){},110:109,112:109,113:109,121:function(t,e){t.exports='
          '},122:function(t,e){t.exports=' '},123:function(t,e){t.exports=' '},127:function(t,e){t.exports=' {{ title }} '},128:function(t,e){t.exports=' '},277:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(309),r=a(o),u=n(314),i=a(u),s=n(308),l=a(s);e.default={components:{Navbar:r.default,Sidebar:i.default,Breadcrumb:l.default},data:function(){return{userData:null}}}},278:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(82),r=a(o);e.default={computed:{matchedRoutes:function(){return this.$route.matched.slice()}},methods:{refresh:function(){var t=(0,r.default)(this.$route.path);this.$router.go("/redirect?dest="+t)},back:function(){history.back()}}}},279:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(40),r=a(o),u=n(38),i=a(u);e.default={computed:{routes:function(){return(0,i.default)(r.default,function(t){return t.showInNavbar})}},filters:{defaultIcon:function(t){return t?t:"fa fa-link"}},attached:function(){$(this.$el).find("[data-toggle=tooltip]").tooltip({placement:"bottom"})}}},283:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={props:{path:{type:String,required:!0},title:{type:String,required:!0},icon:{type:String,default:"fa fa-link"},isExact:{type:Boolean,default:!1}},computed:{curMatchedRoute:function(){var t=this.$route.matched;return t[t.length-1]},curMatchedPath:function(){return this.curMatchedRoute.handler.fullPath},isDynamicPath:function(){return this.path.includes(":")},vlinkContent:function(){if(!this.isDynamicPath)return{path:this.path,exact:this.isExact}}},attached:function(){this.isDynamicPath&&$(this.$el).on("click",function(){return $.toast({heading:"动态路由不可直接点击访问",icon:"info",stack:!1})})}}},284:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(313),r=a(o),u=n(40),i=a(u),s=n(38),l=a(s);e.default={components:{Link:r.default},computed:{routes:function(){return(0,l.default)(i.default,function(t){return t.showInSidebar})}},watch:{"$route.path":function(){this.expand()}},attached:function(){this.expand()},methods:{expand:function(){$(this.$el).find("a.matched-route").parents("div.collapse").collapse("show")}}}},294:function(t,e){"use strict";function n(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"YYYY-MM-DD HH:mm:ss";return window.moment(t).format(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=n},295:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var o=n(20),r=a(o);r.default.filter("dateTimeFormatter",n(294).default)},296:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){var e=t.to.matched,n=[];e.slice().forEach(function(t){var e=t.handler.title;e&&n.push(e)}),document.title=n.join(" · ")};e.default=n},297:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(82),r=a(o),u=function(t){var e=t.to,n=t.from;(0,r.default)(e.path)!==(0,r.default)(n.path)&&$.scrollTo("#navbar",500)};e.default=u},298:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){var e=t.to,n=t.from,a=decodeURIComponent;console.info("[路由日志] "+a(n.path||"")+" => "+a(e.path))};e.default=n},299:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){return function(e){var n=e.to,a=e.redirect,o=e.abort,r=e.next,u=t.app.userData,i=n.needAuth,s=n.forbidAuthed,l=n.path;return i&&!u?($.toast({heading:"访问该页面需要登录权限",text:"登录成功后将会自动跳转",icon:"info",stack:!1}),a({path:"/auth/login?referrer="+encodeURIComponent(l),force:!0})):s&&u?($.toast({heading:"您已登录,禁止访问该页面",text:"已中断跳转",icon:"warning",stack:!1}),o()):void r()}};e.default=n},300:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(299),r=a(o),u=n(296),i=a(u),s=n(297),l=a(s),c=n(298);a(c);e.default=function(t){t.beforeEach((0,r.default)(t)),t.afterEach(l.default),t.afterEach(i.default)}},301:function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(20),r=a(o),u=n(108),i=a(u),s=n(40),l=a(s),c=n(300),d=a(c);r.default.use(i.default);var f=new i.default({suppressTransitionError:!0});f.map(l.default),f.alias({"/msg":"/msg/list"}),(0,d.default)(f),e.default=f},302:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={"/auth/login":{title:"用户登录",icon:"fa fa-sign-in",component:function(t){n.e(0,function(e){var n=[e(315)];t.apply(null,n)}.bind(this))},forbidAuthed:!0},"/auth/logout":{title:"注销登录",icon:"fa fa-sign-out",component:function(t){n.e(0,function(e){var n=[e(316)];t.apply(null,n)}.bind(this))},needAuth:!0}}},303:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={"/msg":{title:"留言板",icon:"fa fa-commenting-o",showInNavbar:!0,showInSidebar:!0,component:function(t){n.e(0,function(e){var n=[e(321)];t.apply(null,n)}.bind(this))},subRoutes:{"/list":{title:"列表",icon:"fa fa-list",component:function(t){n.e(0,function(e){var n=[e(322)];t.apply(null,n)}.bind(this))}},"/detail/:msgId":{title:"详情",icon:"fa fa-search-plus",component:function(t){n.e(0,function(e){var n=[e(320)];t.apply(null,n)}.bind(this))}},"/add":{title:"新增",icon:"fa fa-plus",component:function(t){n.e(0,function(e){var n=[e(319)];t.apply(null,n)}.bind(this))},needAuth:!0},"/update/:msgId":{title:"修改",icon:"fa fa-eraser",component:function(t){n.e(0,function(e){var n=[e(323)];t.apply(null,n)}.bind(this))},needAuth:!0}}}}},304:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.rootPath="/api",e.errHandler=function(t){$.toast({heading:"请求 API 失败",icon:"error",stack:!1}),console.warn(t)}},305:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=n(304),o=function(t){var e=t.method,n=void 0===e?"get":e,o=t.url,r=t.body,u=void 0===r?null:r,i=$.Deferred();return $.ajax({type:n,url:a.rootPath+o,data:u}).done(function(t){var e=t.success,n=t.errMsg,a=t.data;return e?void i.resolve(a):$.toast({heading:"操作失败",text:n,icon:"warning",stack:!1})}).fail(a.errHandler),i.promise()};e.default=o},307:function(t,e,n){var a,o,r={};n(110),a=n(277),o=n(121),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default);var u="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;o&&(u.template=o),u.computed||(u.computed={}),Object.keys(r).forEach(function(t){var e=r[t];u.computed[t]=function(){return e}})},308:function(t,e,n){var a,o,r={};a=n(278),o=n(122),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default);var u="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;o&&(u.template=o),u.computed||(u.computed={}),Object.keys(r).forEach(function(t){var e=r[t];u.computed[t]=function(){return e}})},309:function(t,e,n){var a,o,r={};a=n(279),o=n(123),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default);var u="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;o&&(u.template=o),u.computed||(u.computed={}),Object.keys(r).forEach(function(t){var e=r[t];u.computed[t]=function(){return e}})},313:function(t,e,n){var a,o,r={};n(112),a=n(283),o=n(127),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default);var u="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;o&&(u.template=o),u.computed||(u.computed={}),Object.keys(r).forEach(function(t){var e=r[t];u.computed[t]=function(){return e}})},314:function(t,e,n){var a,o,r={};n(113),a=n(284),o=n(128),t.exports=a||{},t.exports.__esModule&&(t.exports=t.exports.default);var u="function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports;o&&(u.template=o),u.computed||(u.computed={}),Object.keys(r).forEach(function(t){var e=r[t];u.computed[t]=function(){return e}})}}); \ No newline at end of file diff --git a/dist/static/js/manifest.92fd38.js b/dist/static/js/manifest.92fd38.js deleted file mode 100644 index c40b775..0000000 --- a/dist/static/js/manifest.92fd38.js +++ /dev/null @@ -1 +0,0 @@ -!function(t){function e(n){if(r[n])return r[n].exports;var a=r[n]={exports:{},id:n,loaded:!1};return t[n].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}var n=window.webpackJsonp;window.webpackJsonp=function(c,o){for(var i,p,s=0,l=[];s1?t.apply(e,arguments):t.call(e,n):t.call(e)}}function g(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function b(t,e){for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}function _(t){return null!==t&&"object"==typeof t}function m(t){return Qn.call(t)===Zn}function w(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function x(t,e){var n,r,i,o,a,u=function u(){var s=Date.now()-o;s=0?n=setTimeout(u,e-s):(n=null,a=t.apply(i,r),n||(i=r=null))};return function(){return i=this,r=arguments,o=Date.now(),n||(n=setTimeout(u,e)),a}}function O(t,e){for(var n=t.length;n--;)if(t[n]===e)return n;return-1}function j(t){var e=function e(){if(!e.cancelled)return t.apply(this,arguments)};return e.cancel=function(){e.cancelled=!0},e}function C(t,e){return t==e||!(!_(t)||!_(e))&&JSON.stringify(t)===JSON.stringify(e)}function A(t){return/native code/.test(t.toString())}function E(t){this.size=0,this.limit=t,this.head=this.tail=void 0,this._keymap=Object.create(null)}function k(){return dr.charCodeAt(br+1)}function S(){return dr.charCodeAt(++br)}function T(){return br>=gr}function $(){for(;k()===$r;)S()}function P(t){return t===Er||t===kr}function I(t){return Pr[t]}function R(t,e){return Ir[t]===e}function N(){for(var t,e=S();!T();)if(t=S(),t===Tr)S();else if(t===e)break}function M(t){for(var e=0,n=t;!T();)if(t=k(),P(t))N();else if(n===t&&e++,R(n,t)&&e--,S(),0===e)break}function F(){for(var t=br;!T();)if(_r=k(),P(_r))N();else if(I(_r))M(_r);else if(_r===Sr){if(S(),_r=k(),_r!==Sr){mr!==Or&&mr!==Ar||(mr=jr);break}S()}else{if(_r===$r&&(mr===Cr||mr===Ar)){$();break}mr===jr&&(mr=Cr),S()}return dr.slice(t+1,br)||null}function D(){for(var t=[];!T();)t.push(z());return t}function z(){var t,e={};return mr=jr,e.name=F().trim(),mr=Ar,t=L(),t.length&&(e.args=t),e}function L(){for(var t=[];!T()&&mr!==jr;){var e=F();if(!e)break;t.push(V(e))}return t}function V(t){if(xr.test(t))return{value:c(t),dynamic:!1};var e=l(t),n=e===t;return{value:n?t:e,dynamic:n}}function U(t){var e=wr.get(t);if(e)return e;dr=t,yr={},gr=dr.length,br=-1,_r="",mr=Or;var n;return dr.indexOf("|")<0?yr.expression=dr.trim():(yr.expression=F().trim(),n=D(),n.length&&(yr.filters=n)),wr.put(t,yr),yr}function H(t){return t.replace(Nr,"\\$&")}function W(){var t=H(Hr.delimiters[0]),e=H(Hr.delimiters[1]),n=H(Hr.unsafeDelimiters[0]),r=H(Hr.unsafeDelimiters[1]);Fr=new RegExp(n+"((?:.|\\n)+?)"+r+"|"+t+"((?:.|\\n)+?)"+e,"g"),Dr=new RegExp("^"+n+"((?:.|\\n)+?)"+r+"$"),Mr=new E(1e3)}function B(t){Mr||W();var e=Mr.get(t);if(e)return e;if(!Fr.test(t))return null;for(var n,r,i,o,a,u,s=[],c=Fr.lastIndex=0;n=Fr.exec(t);)r=n.index,r>c&&s.push({value:t.slice(c,r)}),i=Dr.test(n[0]),o=i?n[1]:n[2],a=o.charCodeAt(0),u=42===a,o=u?o.slice(1):o,s.push({tag:!0,value:o.trim(),html:i,oneTime:u}),c=r+n[0].length;return c1?t.map(function(t){return G(t,e)}).join("+"):G(t[0],e,!0)}function G(t,e,n){return t.tag?t.oneTime&&e?'"'+e.$eval(t.value)+'"':J(t.value,n):'"'+t.value+'"'}function J(t,e){if(zr.test(t)){var n=U(t);return n.filters?"this._applyFilters("+n.expression+",null,"+JSON.stringify(n.filters)+",false)":"("+t+")"}return e?t:"("+t+")"}function Q(t,e,n,r){K(t,1,function(){e.appendChild(t)},n,r)}function Z(t,e,n,r){K(t,1,function(){it(t,e)},n,r)}function Y(t,e,n){K(t,-1,function(){at(t)},e,n)}function K(t,e,n,r,i){var o=t.__v_trans;if(!o||!o.hooks&&!ur||!r._isCompiled||r.$parent&&!r.$parent._isCompiled)return n(),void(i&&i());var a=e>0?"enter":"leave";o[a](n,i)}function X(t){if("string"==typeof t){t=document.querySelector(t)}return t}function tt(t){if(!t)return!1;var e=t.ownerDocument.documentElement,n=t.parentNode;return e===t||e===n||!(!n||1!==n.nodeType||!e.contains(n))}function et(t,e){var n=t.getAttribute(e);return null!==n&&t.removeAttribute(e),n}function nt(t,e){var n=et(t,":"+e);return null===n&&(n=et(t,"v-bind:"+e)),n}function rt(t,e){return t.hasAttribute(e)||t.hasAttribute(":"+e)||t.hasAttribute("v-bind:"+e)}function it(t,e){e.parentNode.insertBefore(t,e)}function ot(t,e){e.nextSibling?it(t,e.nextSibling):e.parentNode.appendChild(t)}function at(t){t.parentNode.removeChild(t)}function ut(t,e){e.firstChild?it(t,e.firstChild):e.appendChild(t)}function st(t,e){var n=t.parentNode;n&&n.replaceChild(e,t)}function ct(t,e,n,r){t.addEventListener(e,n,r)}function ft(t,e,n){t.removeEventListener(e,n)}function lt(t){var e=t.className;return"object"==typeof e&&(e=e.baseVal||""),e}function ht(t,e){rr&&!/svg$/.test(t.namespaceURI)?t.className=e:t.setAttribute("class",e)}function pt(t,e){if(t.classList)t.classList.add(e);else{var n=" "+lt(t)+" ";n.indexOf(" "+e+" ")<0&&ht(t,(n+e).trim())}}function vt(t,e){if(t.classList)t.classList.remove(e);else{for(var n=" "+lt(t)+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");ht(t,n.trim())}t.className||t.removeAttribute("class")}function dt(t,e){var n,r;if(bt(t)&&Ot(t.content)&&(t=t.content),t.hasChildNodes())for(yt(t),r=e?document.createDocumentFragment():document.createElement("div");n=t.firstChild;)r.appendChild(n);return r}function yt(t){for(var e;e=t.firstChild,gt(e);)t.removeChild(e);for(;e=t.lastChild,gt(e);)t.removeChild(e)}function gt(t){return t&&(3===t.nodeType&&!t.data.trim()||8===t.nodeType)}function bt(t){return t.tagName&&"template"===t.tagName.toLowerCase()}function _t(t,e){var n=Hr.debug?document.createComment(t):document.createTextNode(e?" ":"");return n.__v_anchor=!0,n}function mt(t){if(t.hasAttributes())for(var e=t.attributes,n=0,r=e.length;n=s.length){for(var t=0;t=97&&e<=122||e>=65&&e<=90?"ident":e>=49&&e<=57?"number":"else"}function Ht(t){var e=t.trim();return("0"!==t.charAt(0)||!isNaN(t))&&(a(e)?l(e):"*"+e)}function Wt(t){function e(){var e=t[f+1];if(l===vi&&"'"===e||l===di&&'"'===e)return f++,r="\\"+e,p[oi](),!0}var n,r,i,o,a,u,s,c=[],f=-1,l=ci,h=0,p=[];for(p[ai]=function(){void 0!==i&&(c.push(i),i=void 0)},p[oi]=function(){void 0===i?i=r:i+=r},p[ui]=function(){p[oi](),h++},p[si]=function(){if(h>0)h--,l=pi,p[oi]();else{if(h=0,i=Ht(i),i===!1)return!1;p[ai]()}};null!=l;)if(f++,n=t[f],"\\"!==n||!e()){if(o=Ut(n),s=bi[l],a=s[o]||s.else||gi,a===gi)return;if(l=a[0],u=p[a[1]],u&&(r=a[2],r=void 0===r?n:r,u()===!1))return;if(l===yi)return c.raw=t,c}}function Bt(t){var e=ii.get(t);return e||(e=Wt(t),e&&ii.put(t,e)),e}function qt(t,e){return ee(e).get(t)}function Gt(t,e,n){var i=t;if("string"==typeof e&&(e=Wt(e)),!e||!_(t))return!1;for(var o,a,u=0,s=e.length;u-1?n.replace(ki,Yt):n,e+"scope."+n)}function Yt(t,e){return Pi[e]}function Kt(t){ji.test(t),Pi.length=0;var e=t.replace(Ei,Qt).replace(Ci,"");return e=(" "+e).replace(Ti,Zt).replace(ki,Yt),Xt(e)}function Xt(t){try{return new Function("scope","return "+t+";")}catch(t){return Jt}}function te(t){var e=Bt(t);if(e)return function(t,n){Gt(t,e,n)}}function ee(t,e){t=t.trim();var n=mi.get(t);if(n)return e&&!n.set&&(n.set=te(n.exp)),n;var r={exp:t};return r.get=ne(t)&&t.indexOf("[")<0?Xt("scope."+t):Kt(t),e&&(r.set=te(t)),mi.put(t,r),r}function ne(t){return Si.test(t)&&!$i.test(t)&&"Math."!==t.slice(0,5)}function re(){Ri.length=0,Ni.length=0,Mi={},Fi={},Di=!1}function ie(){for(var t=!0;t;)t=!1,oe(Ri),oe(Ni),Ri.length?t=!0:(tr&&Hr.devtools&&tr.emit("flush"),re())}function oe(t){for(var e=0;e0){var a=o+(r?e:jt(e));i=Ki.get(a),i||(i=Ze(n,t.$options,!0),Ki.put(a,i))}else i=Ze(n,t.$options,!0);this.linker=i}function xe(t,e,n){var r=t.node.previousSibling;if(r){for(t=r.__v_frag;!(t&&t.forId===n&&t.inserted||r===e);){if(r=r.previousSibling,!r)return;t=r.__v_frag}return t}}function Oe(t){for(var e=-1,n=new Array(Math.floor(t));++e47&&e<58?parseInt(t,10):1===t.length&&(e=t.toUpperCase().charCodeAt(0),e>64&&e<91)?e:mo[t]});return n=[].concat.apply([],n),function(e){if(n.indexOf(e.keyCode)>-1)return t.call(this,e)}}function Se(t){return function(e){return e.stopPropagation(),t.call(this,e)}}function Te(t){return function(e){return e.preventDefault(),t.call(this,e)}}function $e(t){return function(e){if(e.target===e.currentTarget)return t.call(this,e)}}function Pe(t){if(Co[t])return Co[t];var e=Ie(t);return Co[t]=Co[e]=e,e}function Ie(t){t=v(t);var e=h(t),n=e.charAt(0).toUpperCase()+e.slice(1);Ao||(Ao=document.createElement("div"));var r,i=xo.length;if("filter"!==e&&e in Ao.style)return{kebab:t,camel:e};for(;i--;)if(r=Oo[i]+n,r in Ao.style)return{kebab:xo[i]+t,camel:r}}function Re(t){var e=[];if(Yn(t))for(var n=0,r=t.length;n=i?n():t[o].call(e,r)}var i=t.length,o=0;t[0].call(e,r)}function Fe(t,e,n){for(var r,i,o,u,s,c,f,l=[],p=n.$options.propsData,d=Object.keys(e),y=d.length;y--;)if(i=d[y],r=e[i]||Uo,s=h(i),Ho.test(s)){if(f={name:i,path:s,options:r,mode:Vo.ONE_WAY,raw:null},o=v(i),null===(u=nt(t,o))&&(null!==(u=nt(t,o+".sync"))?f.mode=Vo.TWO_WAY:null!==(u=nt(t,o+".once"))&&(f.mode=Vo.ONE_TIME)),null!==u)f.raw=u,c=U(u),u=c.expression,f.filters=c.filters,a(u)&&!c.filters?f.optimizedLiteral=!0:f.dynamic=!0,f.parentPath=u;else if(null!==(u=et(t,o)))f.raw=u;else if(p&&null!==(u=p[i]||p[s]))f.raw=u;else;l.push(f)}return De(l)}function De(t){return function(e,n){e._props={};for(var r,i,a,u,s,h=e.$options.propsData,p=t.length;p--;)if(r=t[p],s=r.raw,i=r.path,a=r.options,e._props[i]=r,h&&o(h,i)&&Le(e,r,h[i]),null===s)Le(e,r,void 0);else if(r.dynamic)r.mode===Vo.ONE_TIME?(u=(n||e._context||e).$get(r.parentPath),Le(e,r,u)):e._context?e._bindDir({name:"prop",def:Bo,prop:r},null,null,n):Le(e,r,e.$get(r.parentPath));else if(r.optimizedLiteral){var d=l(s);u=d===s?f(c(s)):d,Le(e,r,u)}else u=a.type===Boolean&&(""===s||s===v(r.name))||s,Le(e,r,u)}}function ze(t,e,n,r){var i=e.dynamic&&ne(e.parentPath),o=n;void 0===o&&(o=Ue(t,e)),o=We(e,o,t);var a=o!==n;He(e,o,t)||(o=void 0),i&&!a?Nt(function(){r(o)}):r(o)}function Le(t,e,n){ze(t,e,n,function(n){Lt(t,e.path,n)})}function Ve(t,e,n){ze(t,e,n,function(n){t[e.path]=n})}function Ue(t,e){var n=e.options;if(!o(n,"default"))return n.type!==Boolean&&void 0;var r=n.default;return _(r),"function"==typeof r&&n.type!==Function?r.call(t):r}function He(t,e,n){if(!t.options.required&&(null===t.raw||null==e))return!0;var r=t.options,i=r.type,o=!i,a=[];if(i){Yn(i)||(i=[i]);for(var u=0;ue?-1:t===e?0:1}),e=0,n=u.length;ep.priority)&&(p=h,f=i.name,u=bn(i.name),a=i.value,c=s[1],l=s[2]));return p?yn(t,c,a,n,p,f,l,u):void 0}function dn(){}function yn(t,e,n,r,i,o,a,u){var s=U(n),c={name:e,arg:a,expression:s.expression,filters:s.filters,raw:n,attr:o,modifiers:u,def:i};"for"!==e&&"router-view"!==e||(c.ref=mt(t));var f=function(t,e,n,r,i){c.ref&&Lt((r||t).$refs,c.ref,null),t._bindDir(c,e,n,r,i)};return f.terminal=!0,f}function gn(t,e){function n(t,e,n){var r=n&&mn(n),i=!r&&U(o);d.push({name:t,attr:a,raw:u,def:e,arg:c,modifiers:f,expression:i&&i.expression,filters:i&&i.filters,interp:n,hasOneTime:r})}for(var r,i,o,a,u,s,c,f,l,h,p,v=t.length,d=[];v--;)if(r=t[v],i=a=r.name,o=u=r.value,h=B(o),c=null,f=bn(i),i=i.replace(aa,""),h)o=q(h),c=i,n("bind",Do.bind,h);else if(ua.test(i))f.literal=!ra.test(i),n("transition",na.transition);else if(ia.test(i))c=i.replace(ia,""),n("on",Do.on);else if(ra.test(i))s=i.replace(ra,""),"style"===s||"class"===s?n(s,na[s]):(c=s,n("bind",Do.bind));else if(p=i.match(oa)){if(s=p[1],c=p[2],"else"===s)continue;l=It(e,"directives",s,!0),l&&n(s,l)}if(d.length)return _n(d)}function bn(t){var e=Object.create(null),n=t.match(aa);if(n)for(var r=n.length;r--;)e[n[r].slice(1)]=!0;return e}function _n(t){return function(e,n,r,i,o){for(var a=t.length;a--;)e._bindDir(t[a],n,r,i,o)}}function mn(t){for(var e=t.length;e--;)if(t[e].oneTime)return!0}function wn(t){return"SCRIPT"===t.tagName&&(!t.hasAttribute("type")||"text/javascript"===t.getAttribute("type"))}function xn(t,e){return e&&(e._containerAttrs=jn(t)),bt(t)&&(t=pe(t)),e&&(e._asComponent&&!e.template&&(e.template=""),e.template&&(e._content=dt(t),t=On(t,e))),Ot(t)&&(ut(_t("v-start",!0),t),t.appendChild(_t("v-end",!0))),t}function On(t,e){var n=e.template,r=pe(n,!0);if(r){var i=r.firstChild;if(!i)return r;var o=i.tagName&&i.tagName.toLowerCase();return e.replace?(t===document.body,r.childNodes.length>1||1!==i.nodeType||"component"===o||It(e,"components",o)||rt(i,"is")||It(e,"elementDirectives",o)||i.hasAttribute("v-for")||i.hasAttribute("v-if")?r:(e._replacerAttrs=jn(i),Cn(t,i),i)):(t.appendChild(r),t)}}function jn(t){if(1===t.nodeType&&t.hasAttributes())return g(t.attributes)}function Cn(t,e){for(var n,r,i=t.attributes,o=i.length;o--;)n=i[o].name,r=i[o].value,e.hasAttribute(n)||fa.test(n)?"class"===n&&!B(r)&&(r=r.trim())&&r.split(/\s+/).forEach(function(t){pt(e,t)}):e.setAttribute(n,r)}function An(t,e){if(e){for(var n,r,i=t._slotContents=Object.create(null),o=0,a=e.children.length;o1?g(n):n;var i=e&&n.some(function(t){return t._fromParent});i&&(r=!1);for(var o=g(arguments,1),a=0,u=n.length;ae?o:-o}var n=null,r=void 0;t=ga(t);var i=g(arguments,1),o=i[i.length-1];"number"==typeof o?(o=o<0?-1:1,i=i.length>1?i.slice(0,-1):i):o=1;var a=i[0];return a?("function"==typeof a?n=function(t,e){return a(t,e)*o}:(r=Array.prototype.concat.apply([],i),n=function(t,i,o){return o=o||0,o>=r.length-1?e(t,i,o):e(t,i,o)||n(t,i,o+1)}),t.slice().sort(n)):t}function Un(t,e){var n;if(m(t)){var r=Object.keys(t);for(n=r.length;n--;)if(Un(t[r[n]],e))return!0}else if(Yn(t)){for(n=t.length;n--;)if(Un(t[n],e))return!0}else if(null!=t)return t.toString().toLowerCase().indexOf(e)>-1}function Hn(t){function e(t){return new Function("return function "+d(t)+" (options) { this._init(options) }")()}t.options={directives:Do,elementDirectives:ya,filters:_a,transitions:{},components:{},partials:{},replace:!0},t.util=ni,t.config=Hr,t.set=r,t.delete=i,t.nextTick=hr,t.compiler=la,t.FragmentFactory=we,t.internalDirectives=na,t.parsers={path:_i,text:Lr,template:Zi,directive:Rr,expression:Ii},t.cid=0;var n=1;t.extend=function(t){t=t||{};var r=this,i=0===r.cid;if(i&&t._Ctor)return t._Ctor;var o=t.name||r.options.name,a=e(o||"VueComponent");return a.prototype=Object.create(r.prototype),a.prototype.constructor=a,a.cid=n++,a.options=Pt(r.options,t),a.super=r,a.extend=r.extend,Hr._assetTypes.forEach(function(t){a[t]=r[t]}),o&&(a.options.components[o]=a),i&&(t._Ctor=a),a},t.use=function(t){if(!t.installed){var e=g(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):t.apply(null,e),t.installed=!0,this}},t.mixin=function(e){t.options=Pt(t.options,e)},Hr._assetTypes.forEach(function(e){t[e]=function(n,r){return r?("component"===e&&m(r)&&(r.name||(r.name=n),r=t.extend(r)),this.options[e+"s"][n]=r,r):this.options[e+"s"][n]}}),b(t.transition,Br)}var Wn=Object.prototype.hasOwnProperty,Bn=/^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/,qn=/-(\w)/g,Gn=/([^-])([A-Z])/g,Jn=/(?:^|[-_\/])(\w)/g,Qn=Object.prototype.toString,Zn="[object Object]",Yn=Array.isArray,Kn="__proto__"in{},Xn="undefined"!=typeof window&&"[object Object]"!==Object.prototype.toString.call(window),tr=Xn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,er=Xn&&window.navigator.userAgent.toLowerCase(),nr=er&&er.indexOf("trident")>0,rr=er&&er.indexOf("msie 9.0")>0,ir=er&&er.indexOf("android")>0,or=er&&/iphone|ipad|ipod|ios/.test(er),ar=void 0,ur=void 0,sr=void 0,cr=void 0;if(Xn&&!rr){var fr=void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend,lr=void 0===window.onanimationend&&void 0!==window.onwebkitanimationend;ar=fr?"WebkitTransition":"transition",ur=fr?"webkitTransitionEnd":"transitionend",sr=lr?"WebkitAnimation":"animation",cr=lr?"webkitAnimationEnd":"animationend"}var hr=function(){function t(){n=!1;var t=e.slice(0);e.length=0;for(var r=0;r=this.length&&(this.length=Number(t)+1),this.splice(t,1,e)[0]}),w(Kr,"$remove",function(t){if(this.length){var e=O(this,t);return e>-1?this.splice(e,1):void 0}});var ti=Object.getOwnPropertyNames(Xr),ei=!0;Mt.prototype.walk=function(t){for(var e=Object.keys(t),n=0,r=e.length;n",""],tr:[2,"","
          "],col:[2,"","
          "]};Wi.td=Wi.th=[3,"","
          "],Wi.option=Wi.optgroup=[1,'"],Wi.thead=Wi.tbody=Wi.colgroup=Wi.caption=Wi.tfoot=[1,"","
          "],Wi.g=Wi.defs=Wi.symbol=Wi.use=Wi.image=Wi.text=Wi.circle=Wi.ellipse=Wi.line=Wi.path=Wi.polygon=Wi.polyline=Wi.rect=[1,'',""];var Bi=/<([\w:-]+)/,qi=/&#?\w+?;/,Gi=/