commit 4d52b072c94bc8b837a16ed7501b657db8d8f5b6 Author: liaoboping <2824044657@qq.com> Date: Wed Aug 6 19:10:12 2025 +0800 initial diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..8f96043 --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not ie <= 10 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..6f77dff --- /dev/null +++ b/.editorconfig @@ -0,0 +1,39 @@ +[*] +charset=utf-8 +end_of_line=lf +insert_final_newline=false +indent_style=space +indent_size=2 + +[{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm}] +indent_style=space +indent_size=2 + +[{*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}] +indent_style=space +indent_size=2 + +[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}] +indent_style=space +indent_size=2 + +[*.svg] +indent_style=space +indent_size=2 + +[*.js.map] +indent_style=space +indent_size=2 + +[*.less] +indent_style=space +indent_size=2 + +[*.vue] +indent_style=space +indent_size=2 + +[{.analysis_options,*.yml,*.yaml}] +indent_style=space +indent_size=2 + diff --git a/.env b/.env new file mode 100644 index 0000000..b5c472a --- /dev/null +++ b/.env @@ -0,0 +1,3 @@ +NODE_ENV=production +VUE_APP_PREVIEW=false +VUE_APP_API_BASE_URL=/api \ No newline at end of file diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..6285849 --- /dev/null +++ b/.env.development @@ -0,0 +1,4 @@ +NODE_ENV=development +VUE_APP_PREVIEW=true +VUE_APP_API_BASE_URL=/api +VUE_APP_API_URL=http://192.168.0.189:8099 \ No newline at end of file diff --git a/.env.preview b/.env.preview new file mode 100644 index 0000000..a9e44c8 --- /dev/null +++ b/.env.preview @@ -0,0 +1,3 @@ +NODE_ENV=production +VUE_APP_PREVIEW=true +VUE_APP_API_BASE_URL=/api \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..1b36ef8 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,80 @@ +module.exports = { + root: true, + env: { + node: true + }, + 'extends': [ + 'plugin:vue/strongly-recommended', + //'@vue/standard' + ], + rules: { + 'no-console': 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'generator-star-spacing': 'off', + 'no-mixed-operators': 0, + 'vue/max-attributes-per-line': [ + 2, + { + 'singleline': 5, + 'multiline': { + 'max': 1, + 'allowFirstLine': false + } + } + ], + 'vue/attribute-hyphenation': 0, + 'vue/html-self-closing': 0, + 'vue/component-name-in-template-casing': 0, + 'vue/html-closing-bracket-spacing': 0, + 'vue/singleline-html-element-content-newline': 0, + 'vue/no-unused-components': 0, + 'vue/multiline-html-element-content-newline': 0, + 'vue/no-use-v-if-with-v-for': 0, + 'vue/html-closing-bracket-newline': 0, + 'vue/no-parsing-error': 0, + "vue/no-multiple-template-root": "off", + 'no-tabs': 0, + 'quotes': [ + 2, + 'single', + { + 'avoidEscape': true, + 'allowTemplateLiterals': true + } + ], + 'semi': [ + 2, + 'never', + { + 'beforeStatementContinuationChars': 'never' + } + ], + 'no-delete-var': 2, + 'prefer-const': [ + 2, + { + 'ignoreReadBeforeAssign': false + } + ], + 'template-curly-spacing': 'off', + // 'indent': 'off', + 'indent':0, + 'comma-dangle':0, + 'no-trailing-spaces':0, + 'eol-last':0 + }, + parserOptions: { + parser: 'babel-eslint' + }, + overrides: [ + { + files: [ + '**/__tests__/*.{j,t}s?(x)', + '**/tests/unit/**/*.spec.{j,t}s?(x)' + ], + env: { + jest: true + } + } + ] +} diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..ed223c7 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "rules": { + "space-before-function-paren": 0 + } +} diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..e507319 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +public/* linguist-vendored \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1f8602b --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +.DS_Store +node_modules +/dist + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* +package-lock.json diff --git a/.husky/.gitignore b/.husky/.gitignore new file mode 100644 index 0000000..31354ec --- /dev/null +++ b/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.lintstagedrc.json b/.lintstagedrc.json new file mode 100644 index 0000000..bcffb34 --- /dev/null +++ b/.lintstagedrc.json @@ -0,0 +1,4 @@ +{ + "*.js": "eslint --fix", + "*.{css,less}": "stylelint --fix" +} \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..b0e80f7 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "printWidth": 120, + "semi": false, + "singleQuote": true, + "prettier.spaceBeforeFunctionParen": true +} diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 0000000..412e214 --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,102 @@ +module.exports = { + processors: [], + plugins: ['stylelint-order'], + extends: [ + 'stylelint-config-standard', + 'stylelint-config-css-modules' + ], + rules: { + 'selector-class-pattern': null, + 'string-quotes': 'single', // 单引号 + 'at-rule-empty-line-before': null, + 'at-rule-no-unknown': null, + 'at-rule-name-case': 'lower', // 指定@规则名的大小写 + 'length-zero-no-unit': true, // 禁止零长度的单位(可自动修复) + 'shorthand-property-no-redundant-values': true, // 简写属性 + 'number-leading-zero': 'never', // 小数不带0 + 'declaration-block-no-duplicate-properties': null, // 禁止声明快重复属性 + 'no-descending-specificity': null, // 禁止在具有较高优先级的选择器后出现被其覆盖的较低优先级的选择器。 + 'selector-max-id': 3, // 限制一个选择器中 ID 选择器的数量 + 'max-nesting-depth': 4, + 'indentation': [2, { // 指定缩进 warning 提醒 + 'severity': 'warning' + }], + 'order/properties-order': [ // 规则顺序 + 'position', + 'top', + 'right', + 'bottom', + 'left', + 'z-index', + 'display', + 'float', + 'width', + 'height', + 'max-width', + 'max-height', + 'min-width', + 'min-height', + 'padding', + 'padding-top', + 'padding-right', + 'padding-bottom', + 'padding-left', + 'margin', + 'margin-top', + 'margin-right', + 'margin-bottom', + 'margin-left', + 'margin-collapse', + 'margin-top-collapse', + 'margin-right-collapse', + 'margin-bottom-collapse', + 'margin-left-collapse', + 'overflow', + 'overflow-x', + 'overflow-y', + 'clip', + 'clear', + 'font', + 'font-family', + 'font-size', + 'font-smoothing', + 'osx-font-smoothing', + 'font-style', + 'font-weight', + 'line-height', + 'letter-spacing', + 'word-spacing', + 'color', + 'text-align', + 'text-decoration', + 'text-indent', + 'text-overflow', + 'text-rendering', + 'text-size-adjust', + 'text-shadow', + 'text-transform', + 'word-break', + 'word-wrap', + 'white-space', + 'vertical-align', + 'list-style', + 'list-style-type', + 'list-style-position', + 'list-style-image', + 'pointer-events', + 'cursor', + 'background', + 'background-color', + 'border', + 'border-radius', + 'content', + 'outline', + 'outline-offset', + 'opacity', + 'filter', + 'visibility', + 'size', + 'transform' + ] + } +} diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a08bfcb --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +language: node_js +node_js: + - 10.15.0 +cache: yarn +script: + - yarn + - yarn run lint --no-fix && yarn run build diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3ebc1f5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM nginx + +RUN rm /etc/nginx/conf.d/default.conf + +ADD deploy/nginx.conf /etc/nginx/conf.d/default.conf +COPY dist/ /usr/share/nginx/html/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..66eef0b --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Anan Yang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..eb88edf --- /dev/null +++ b/README.md @@ -0,0 +1,103 @@ +English | [简体中文](./README.zh-CN.md) + +

Ant Design Vue Pro

+
+An out-of-box UI solution for enterprise applications as a Vue boilerplate. based on Ant Design of Vue +
+ +
+ +[![License](https://img.shields.io/npm/l/package.json.svg?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/blob/master/LICENSE) +[![Release](https://img.shields.io/github/release/vueComponent/ant-design-vue-pro.svg?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/releases/latest) +[![Support Vue Version](https://img.shields.io/badge/Support-Vue2-green?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/releases/latest) +[![Travis branch](https://travis-ci.org/vueComponent/ant-design-vue-pro.svg?branch=master)](https://travis-ci.org/vueComponent/ant-design-vue-pro) + +
+ +- Preview: https://preview.pro.antdv.com +- Home Page: https://pro.antdv.com +- Documentation: https://pro.antdv.com/docs/getting-started +- ChangeLog: https://pro.antdv.com/docs/changelog +- FAQ: https://pro.antdv.com/docs/faq +- Vue3 ProLayout: https://github.com/vueComponent/pro-layout + +Overview +---- + +![dashboard](https://static-2.loacg.com/open/static/github/SP1.png) + +### Env and dependencies + +- node +- yarn +- webpack +- eslint +- @vue/cli +- [ant-design-vue@1.x](https://github.com/vueComponent/ant-design-vue) - Ant Design Of Vue +- [vue-cropper](https://github.com/xyxiao001/vue-cropper) - Picture edit +- [@antv/g2](https://antv.alipay.com/zh-cn/index.html) - AntV G2 +- [Viser-vue](https://viserjs.github.io/docs.html#/viser/guide/installation) - Antv/G2 of Vue + +> Note: [Yarn](https://yarnpkg.com/) package management is recommended, the exact same version loaded with the demo site of this project (yarn.lock) . but you can also use npm + + +### Project setup + +- Clone repo +```bash +git clone https://github.com/vueComponent/ant-design-vue-pro.git +cd ant-design-vue-pro +``` + +- Install dependencies +``` +yarn install +``` + +- Compiles and hot-reloads for development +``` +yarn run serve +``` + +- Compiles and minifies for production +``` +yarn run build +``` + +- Lints and fixes files +``` +yarn run lint +``` + + +### Other + +- **IMPORTANT : Issue feedback !! when opening Issue read [Issue / PR Contributing](https://github.com/vueComponent/ant-design-vue-pro/issues/90)** + +- [Vue-cli3](https://cli.vuejs.org/guide/) used by the project. + +- Disable Eslint (not recommended): remove `eslintConfig` field in `package.json` and `vue.config.js` field `lintOnSave: false` + +- Load on Demand `/src/main.js` L14, in `import './core/lazy_use'`, `import './core/use''`. more [load-on-demand.md](./docs/load-on-demand.md) + +- Customize Theme: [Custom Theme Config (@kokoroli)](https://github.com/kokoroli/antd-awesome/blob/master/docs/Ant_Design_%E6%A0%B7%E5%BC%8F%E8%A6%86%E7%9B%96.md) + +- I18n: [locales (@musnow)](./src/locales/index.js) + +- Production env `mock` is disabled. use `src/mock/index.js` + +- pls use `release` version + +## Browsers support + +Modern browsers and IE10. + +| [IE / Edge](http://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](http://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](http://godban.github.io/browsers-support-badges/)
Chrome | [Safari](http://godban.github.io/browsers-support-badges/)
Safari | [Opera](http://godban.github.io/browsers-support-badges/)
Opera | +| --- | --- | --- | --- | --- | +| IE10, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions | + + +## Contributors + +This project exists thanks to all the people who contribute. + diff --git a/README.zh-CN.md b/README.zh-CN.md new file mode 100644 index 0000000..c21ecbd --- /dev/null +++ b/README.zh-CN.md @@ -0,0 +1,110 @@ +[English](./README.md) | 简体中文 + +

Ant Design Vue Pro

+
+An out-of-box UI solution for enterprise applications as a Vue boilerplate. based on Ant Design of Vue +
+ +
+ +[![License](https://img.shields.io/npm/l/package.json.svg?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/blob/master/LICENSE) +[![Release](https://img.shields.io/github/release/vueComponent/ant-design-vue-pro.svg?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/releases/latest) +[![Support Vue Version](https://img.shields.io/badge/Support-Vue2-green?style=flat)](https://github.com/vueComponent/ant-design-vue-pro/releases/latest) +[![Travis branch](https://travis-ci.org/vueComponent/ant-design-vue-pro.svg?branch=master)](https://travis-ci.org/vueComponent/ant-design-vue-pro) + +
+ +- 预览: https://preview.pro.antdv.com +- 首页: https://pro.antdv.com +- 文档: https://pro.antdv.com/docs/getting-started +- 更新日志: https://pro.antdv.com/docs/changelog +- 常见问题: https://pro.antdv.com/docs/faq +- Vue3 ProLayout: https://github.com/vueComponent/pro-layout + +Overview +---- + +基于 [Ant Design of Vue](https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn/) 实现的 [Ant Design Pro](https://pro.ant.design/) + +![dashboard](https://static-2.loacg.com/open/static/github/SP1.png) + +环境和依赖 +---- + +- node +- yarn +- webpack +- eslint +- @vue/cli +- [ant-design-vue@1.x](https://github.com/vueComponent/ant-design-vue) - Ant Design Of Vue 实现 +- [vue-cropper](https://github.com/xyxiao001/vue-cropper) - 头像裁剪组件 +- [@antv/g2](https://antv.alipay.com/zh-cn/index.html) - Alipay AntV 数据可视化图表 +- [Viser-vue](https://viserjs.github.io/docs.html#/viser/guide/installation) - antv/g2 封装实现 + +> 请注意,我们强烈建议本项目使用 [Yarn](https://yarnpkg.com/) 包管理工具,这样可以与本项目演示站所加载完全相同的依赖版本 (yarn.lock) 。由于我们没有对依赖进行强制的版本控制,采用非 yarn 包管理进行引入时,可能由于 Pro 所依赖的库已经升级版本而引入了新版本所导致的问题。作者可能会由于时间问题无法及时排查而导致您采用本项目作为基项目而出现问题。 + + + +项目下载和运行 +---- + +- 拉取项目代码 +```bash +git clone https://github.com/vueComponent/ant-design-vue-pro.git +cd ant-design-vue-pro +``` + +- 安装依赖 +``` +yarn install +``` + +- 开发模式运行 +``` +yarn run serve +``` + +- 编译项目 +``` +yarn run build +``` + +- Lints and fixes files +``` +yarn run lint +``` + + + +其他说明 +---- + +- **关于 Issue 反馈 (重要!重要!重要!) 请在开 *Issue* 前,先阅读该内容:[Issue / PR 编写建议](https://github.com/vueComponent/ant-design-vue-pro/issues/90)** + +- 项目使用的 [vue-cli3](https://cli.vuejs.org/guide/), 请确保你所使用的 vue-cli 是新版,并且已经学习 cli 官方文档使用教程 + +- 关闭 Eslint (不推荐) 移除 `package.json` 中 `eslintConfig` 整个节点代码, `vue.config.js` 下的 `lintOnSave` 值改为 `false` + +- 组件按需加载 `/src/main.js` L14 相关代码 `import './core/lazy_use'` / `import './core/use'` + +- [修改 Ant Design 配色 (@kokoroli)](https://github.com/kokoroli/antd-awesome/blob/master/docs/Ant_Design_%E6%A0%B7%E5%BC%8F%E8%A6%86%E7%9B%96.md) + +- I18n: [多语言支持 (@musnow)](./src/locales/index.js) + +- 生产环境默认不加载 `mock`,更多详情请看 `src/mock/index.js` + +- **用于生产环境,请使用 `release` 版本代码,使用 master 代码出现的任何问题需要你自行解决** + +## 浏览器兼容 + +Modern browsers and IE10. + +| [IE / Edge](http://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](http://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](http://godban.github.io/browsers-support-badges/)
Chrome | [Safari](http://godban.github.io/browsers-support-badges/)
Safari | [Opera](http://godban.github.io/browsers-support-badges/)
Opera | +| --- | --- | --- | --- | --- | +| IE10, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions | + + +## Contributors + +This project exists thanks to all the people who contribute. + diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..4fe6229 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,30 @@ +const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV) +const IS_PREVIEW = process.env.VUE_APP_PREVIEW === 'true' + +const plugins = [] +if (IS_PROD && !IS_PREVIEW) { + // 去除日志的插件, + plugins.push('transform-remove-console') +} + +// lazy load ant-design-vue +// if your use import on Demand, Use this code +plugins.push(['import', { + 'libraryName': 'ant-design-vue', + 'libraryDirectory': 'es', + 'style': true // `style: true` 会加载 less 文件 +}]) + +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset', + [ + '@babel/preset-env', + { + 'useBuiltIns': 'entry', + 'corejs': 3 + } + ] + ], + plugins +} diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 0000000..56b63ec --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,26 @@ +/** + * feat:新增功能 + * fix:bug 修复 + * docs:文档更新 + * style:不影响程序逻辑的代码修改(修改空白字符,格式缩进,补全缺失的分号等,没有改变代码逻辑) + * refactor:重构代码(既没有新增功能,也没有修复 bug) + * perf:性能, 体验优化 + * test:新增测试用例或是更新现有测试 + * build:主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交 + * ci:主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交 + * chore:不属于以上类型的其他类型,比如构建流程, 依赖管理 + * revert:回滚某个更早之前的提交 + */ + +module.exports = { + extends: ['@commitlint/config-conventional'], + rules: { + 'type-enum': [ + 2, + 'always', + ['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore', 'revert'], + ], + 'subject-full-stop': [0, 'never'], + 'subject-case': [0, 'never'], + }, +}; \ No newline at end of file diff --git a/config/plugin.config.js b/config/plugin.config.js new file mode 100644 index 0000000..bb51b98 --- /dev/null +++ b/config/plugin.config.js @@ -0,0 +1,49 @@ +const ThemeColorReplacer = require('webpack-theme-color-replacer') +const generate = require('@ant-design/colors/lib/generate').default + +const getAntdSerials = (color) => { + // 淡化(即less的tint) + const lightens = new Array(9).fill().map((t, i) => { + return ThemeColorReplacer.varyColor.lighten(color, i / 10) + }) + const colorPalettes = generate(color) + const rgb = ThemeColorReplacer.varyColor.toNum3(color.replace('#', '')).join(',') + return lightens.concat(colorPalettes).concat(rgb) +} + +const themePluginOption = { + fileName: 'css/theme-colors-[contenthash:8].css', + matchColors: getAntdSerials('#1890ff'), // 主色系列 + // 改变样式选择器,解决样式覆盖问题 + changeSelector (selector) { + switch (selector) { + case '.ant-calendar-today .ant-calendar-date': + return ':not(.ant-calendar-selected-date):not(.ant-calendar-selected-day)' + selector + case '.ant-btn:focus,.ant-btn:hover': + return '.ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger)' + case '.ant-btn.active,.ant-btn:active': + return '.ant-btn.active:not(.ant-btn-primary):not(.ant-btn-danger),.ant-btn:active:not(.ant-btn-primary):not(.ant-btn-danger)' + case '.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon': + case '.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon': + return ':not(.ant-steps-item-process)' + selector + // fixed https://github.com/vueComponent/ant-design-vue-pro/issues/876 + case '.ant-steps-item-process .ant-steps-item-icon': + return ':not(.ant-steps-item-custom)' + selector + case '.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item-open,.ant-menu-horizontal>.ant-menu-item-selected,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu-active,.ant-menu-horizontal>.ant-menu-submenu-open,.ant-menu-horizontal>.ant-menu-submenu-selected,.ant-menu-horizontal>.ant-menu-submenu:hover': + case '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal > .ant-menu-submenu-selected,.ant-menu-horizontal > .ant-menu-submenu:hover': + return '.ant-menu-horizontal > .ant-menu-item-active,.ant-menu-horizontal > .ant-menu-item-open,.ant-menu-horizontal > .ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover,.ant-menu-horizontal > .ant-menu-submenu-active,.ant-menu-horizontal > .ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected,.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover' + case '.ant-menu-horizontal > .ant-menu-item-selected > a': + case '.ant-menu-horizontal>.ant-menu-item-selected>a': + return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item-selected > a' + case '.ant-menu-horizontal > .ant-menu-item > a:hover': + case '.ant-menu-horizontal>.ant-menu-item>a:hover': + return '.ant-menu-horizontal:not(ant-menu-light):not(.ant-menu-dark) > .ant-menu-item > a:hover' + default : + return selector + } + } +} + +const createThemeColorReplacerPlugin = () => new ThemeColorReplacer(themePluginOption) + +module.exports = createThemeColorReplacerPlugin diff --git a/config/themePluginConfig.js b/config/themePluginConfig.js new file mode 100644 index 0000000..d35ef8b --- /dev/null +++ b/config/themePluginConfig.js @@ -0,0 +1,115 @@ +export default { + theme: [ + { + key: 'dark', + fileName: 'dark.css', + theme: 'dark' + }, + { + key: '#F5222D', + fileName: '#F5222D.css', + modifyVars: { + '@primary-color': '#F5222D' + } + }, + { + key: '#FA541C', + fileName: '#FA541C.css', + modifyVars: { + '@primary-color': '#FA541C' + } + }, + { + key: '#FAAD14', + fileName: '#FAAD14.css', + modifyVars: { + '@primary-color': '#FAAD14' + } + }, + { + key: '#13C2C2', + fileName: '#13C2C2.css', + modifyVars: { + '@primary-color': '#13C2C2' + } + }, + { + key: '#52C41A', + fileName: '#52C41A.css', + modifyVars: { + '@primary-color': '#52C41A' + } + }, + { + key: '#2F54EB', + fileName: '#2F54EB.css', + modifyVars: { + '@primary-color': '#2F54EB' + } + }, + { + key: '#722ED1', + fileName: '#722ED1.css', + modifyVars: { + '@primary-color': '#722ED1' + } + }, + + { + key: '#F5222D', + theme: 'dark', + fileName: 'dark-#F5222D.css', + modifyVars: { + '@primary-color': '#F5222D' + } + }, + { + key: '#FA541C', + theme: 'dark', + fileName: 'dark-#FA541C.css', + modifyVars: { + '@primary-color': '#FA541C' + } + }, + { + key: '#FAAD14', + theme: 'dark', + fileName: 'dark-#FAAD14.css', + modifyVars: { + '@primary-color': '#FAAD14' + } + }, + { + key: '#13C2C2', + theme: 'dark', + fileName: 'dark-#13C2C2.css', + modifyVars: { + '@primary-color': '#13C2C2' + } + }, + { + key: '#52C41A', + theme: 'dark', + fileName: 'dark-#52C41A.css', + modifyVars: { + '@primary-color': '#52C41A' + } + }, + { + key: '#2F54EB', + theme: 'dark', + fileName: 'dark-#2F54EB.css', + modifyVars: { + '@primary-color': '#2F54EB' + } + }, + { + key: '#722ED1', + theme: 'dark', + fileName: 'dark-#722ED1.css', + modifyVars: { + '@primary-color': '#722ED1' + } + } + ] +} diff --git a/deploy/caddy.conf b/deploy/caddy.conf new file mode 100644 index 0000000..acd5c0e --- /dev/null +++ b/deploy/caddy.conf @@ -0,0 +1,9 @@ +0.0.0.0:80 { + gzip + root /usr/share/nginx/html + + rewrite { + r .* + to {path} / + } +} \ No newline at end of file diff --git a/deploy/nginx.conf b/deploy/nginx.conf new file mode 100644 index 0000000..5ddb66d --- /dev/null +++ b/deploy/nginx.conf @@ -0,0 +1,24 @@ +server { + listen 80; + server_name _; + # gzip config + gzip on; + gzip_min_length 1k; + gzip_comp_level 6; + gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; + gzip_vary on; + gzip_disable "MSIE [1-6]\."; + + root /usr/share/nginx/html; + include /etc/nginx/mime.types; + + location / { + try_files $uri $uri/ /index.html; + } + +# location /api { +# proxy_pass https://preview.pro.antdv.com/api; +# proxy_set_header X-Forwarded-Proto $scheme; +# proxy_set_header X-Real-IP $remote_addr; +# } +} diff --git a/docs/add-page-loading-animate.md b/docs/add-page-loading-animate.md new file mode 100644 index 0000000..dfe4919 --- /dev/null +++ b/docs/add-page-loading-animate.md @@ -0,0 +1,31 @@ +为首屏增加 加载动画 +==== + + + +## 需求 + +> 为了缓解用户第一次访问时,加载 JS 过大所导致用户等待白屏时间过长导致的用户体验不好,进行的一个优化动效。 + + + +## 实现方案 + +1. 将 动画加载 dom 元素放在 #app 内,Vue 生命周期开始时,会自动清掉 #app 下的所有元素。 +2. 将 动画加载 dom 元素放在 body 下,Vue 生命周期开始时 App.vue (created, mounted) 调用 `@/utils/utll` 下的 removeLoadingAnimate(#id, timeout) 则会移除加载动画 + +最后一步: +​ 将样式插入到 `public/index.html` 文件的 `` 最好写成内联 `` + + + +---- + +目前提供有两个样式,均在 `public/loading` 文件夹内。且 pro 已经默认使用了一套 loading 动画方案,可以直接参考 `public/index.html` + + +## 写在最后 + +目前 pro 有页面 overflow 显示出浏览器滚动条时,页面会抖动一下的问题。 + +欢迎各位提供能解决的方案和实现 demo。如果在条件允许的情况下,建议请直接使用 pro 进行改造,也欢迎直接 PR 到 pro 的仓库 diff --git a/docs/webpack-bundle-analyzer.md b/docs/webpack-bundle-analyzer.md new file mode 100644 index 0000000..c313767 --- /dev/null +++ b/docs/webpack-bundle-analyzer.md @@ -0,0 +1,40 @@ +先增加依赖 + +```bash +// npm +$ npm install --save-dev webpack-bundle-analyzer + +// or yarn +$ yarn add webpack-bundle-analyzer -D +``` + +配置文件 `vue.config.js` 增加 `configureWebpack.plugins` 参数 + +``` +const path = require('path') +const webpack = require('webpack') +const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin + +function resolve (dir) { + return path.join(__dirname, dir) +} + +// vue.config.js +module.exports = { + configureWebpack: { + plugins: [ + // Ignore all locale files of moment.js + new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/), + // 依赖大小分析工具 + new BundleAnalyzerPlugin(), + ] + }, + + + ... +} +``` + + + +启动 `cli` 的 `build` 命令进行项目编译,编译完成时,会自动运行一个 http://localhost:8888 的地址,完整显示了支持库依赖 \ No newline at end of file diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..29fee32 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,23 @@ +module.exports = { + moduleFileExtensions: [ + 'js', + 'jsx', + 'json', + 'vue' + ], + transform: { + '^.+\\.vue$': 'vue-jest', + '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub', + '^.+\\.jsx?$': 'babel-jest' + }, + moduleNameMapper: { + '^@/(.*)$': '/src/$1' + }, + snapshotSerializers: [ + 'jest-serializer-vue' + ], + testMatch: [ + '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)' + ], + testURL: 'http://localhost/' +} diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..2fabbed --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "es6", + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + }, + "exclude": ["node_modules", "dist"], + "include": ["src/**/*", "public/map3.0.js"] +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..fde3122 --- /dev/null +++ b/package.json @@ -0,0 +1,95 @@ +{ + "name": "vue-antd-pro", + "version": "3.0.2", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "test:unit": "vue-cli-service test:unit", + "lint": "vue-cli-service lint", + "build:preview": "vue-cli-service build --mode preview", + "lint:nofix": "vue-cli-service lint --no-fix", + "lint:js": "eslint src/**/*.js --fix", + "lint:css": "stylelint src/**/*.*ss --fix --custom-syntax postcss-less", + "prepare": "husky install" + }, + "dependencies": { + "@ant-design-vue/pro-layout": "^1.0.11", + "@antv/data-set": "^0.10.2", + "ant-design-vue": "^1.7.8", + "axios": "^0.26.1", + "core-js": "^3.21.1", + "echarts": "^5.3.3", + "enquire.js": "^2.1.6", + "lodash.clonedeep": "^4.5.0", + "lodash.get": "^4.4.2", + "lodash.pick": "^4.4.0", + "md5": "^2.3.0", + "mockjs2": "1.0.8", + "moment": "^2.29.2", + "nprogress": "^0.2.0", + "store": "^2.0.12", + "viser-vue": "^2.4.8", + "vue": "^2.6.14", + "vue-clipboard2": "^0.2.1", + "vue-cropper": "0.4.9", + "vue-i18n": "^8.27.1", + "vue-quill-editor": "^3.0.6", + "vue-router": "^3.5.3", + "vue-svg-component-runtime": "^1.0.1", + "vuex": "^3.6.2", + "wangeditor": "^3.1.1" + }, + "devDependencies": { + "@ant-design/colors": "^3.2.2", + "@commitlint/cli": "^12.1.4", + "@commitlint/config-conventional": "^12.1.4", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/cli-plugin-babel": "^4.5.17", + "@vue/cli-plugin-eslint": "^4.5.17", + "@vue/cli-plugin-router": "^4.5.17", + "@vue/cli-plugin-unit-jest": "^4.5.17", + "@vue/cli-plugin-vuex": "^4.5.17", + "@vue/cli-service": "^4.5.17", + "@vue/eslint-config-standard": "^4.0.0", + "@vue/test-utils": "^1.3.0", + "babel-eslint": "^10.1.0", + "babel-plugin-import": "^1.13.3", + "babel-plugin-transform-remove-console": "^6.9.4", + "commitizen": "^4.2.4", + "cz-conventional-changelog": "^3.3.0", + "eslint": "^5.16.0", + "eslint-plugin-html": "^5.0.5", + "eslint-plugin-vue": "^5.2.3", + "file-loader": "^6.2.0", + "git-revision-webpack-plugin": "^3.0.6", + "husky": "^6.0.0", + "less": "^3.13.1", + "less-loader": "^5.0.0", + "lint-staged": "^12.5.0", + "postcss-less": "^6.0.0", + "regenerator-runtime": "^0.13.9", + "stylelint": "^14.8.5", + "stylelint-config-css-modules": "^4.1.0", + "stylelint-config-recess-order": "^3.0.0", + "stylelint-config-recommended": "^7.0.0", + "stylelint-config-standard": "^25.0.0", + "stylelint-order": "^5.0.0", + "vue-svg-icon-loader": "^2.1.1", + "vue-template-compiler": "^2.6.14", + "webpack-theme-color-replacer": "^1.3.26" + }, + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } + }, + "husky": { + "hooks": { + "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" + } + }, + "gitHooks": { + "pre-commit": "lint-staged" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..961986e --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + autoprefixer: {} + } +} diff --git a/public/App.ico b/public/App.ico new file mode 100644 index 0000000..96ddd95 Binary files /dev/null and b/public/App.ico differ diff --git a/public/avatar2.jpg b/public/avatar2.jpg new file mode 100644 index 0000000..9adb2d1 Binary files /dev/null and b/public/avatar2.jpg differ diff --git a/public/bmap_offline_api_v3.0_min.js b/public/bmap_offline_api_v3.0_min.js new file mode 100644 index 0000000..68de03d --- /dev/null +++ b/public/bmap_offline_api_v3.0_min.js @@ -0,0 +1,9802 @@ +window.TILE_VERSION = { + 'ditu': { + 'normal': { + 'version': '088', + 'updateDate': '20180829' + }, + 'satellite': { + 'version': '009', + 'updateDate': '20180829' + }, + 'normalTraffic': { + 'version': '081', + 'updateDate': '20180829' + }, + 'satelliteTraffic': { + 'version': '083', + 'updateDate': '20180829' + }, + 'mapJS': { + 'version': '104', + 'updateDate': '20180829' + }, + 'satelliteStreet': { + 'version': '083', + 'updateDate': '20180829' + }, + 'panoClick': { + 'version': '1033', + 'updateDate': '20180816' + }, + 'panoUdt': { + 'version': '20180816', + 'updateDate': '20180816' + }, + 'panoSwfAPI': { + 'version': '20150123', + 'updateDate': '20150123' + }, + 'panoSwfPlace': { + 'version': '20141112', + 'updateDate': '20141112' + }, + 'earthVector': { + 'version': '001', + 'updateDate': '20180829' + } + }, + 'webapp': { + 'high_normal': { + 'version': '001', + 'updateDate': '20180829' + }, + 'lower_normal': { + 'version': '002', + 'updateDate': '20180829' + } + }, + 'api_for_mobile': { + 'vector': { + 'version': '002', + 'updateDate': '20180829' + }, + 'vectorIcon': { + 'version': '002', + 'updateDate': '20180829' + } + } +} +window.BMAP_AUTHENTIC_KEY = ''; +(function() { + function aa(a) { + throw a + } + var l = void 0 + , q = !0 + , s = null + , t = !1 + function u() { + return function() {} + } + function ba(a) { + return function(b) { + this[a] = b + } + } + function w(a) { + return function() { + return this[a] + } + } + function ca(a) { + return function() { + return a + } + } + var da, ea = [] + function ga(a) { + return function() { + return ea[a].apply(this, arguments) + } + } + function ha(a, b) { + return ea[a] = b + } + var ia, z = ia = z || { + version: '1.3.4' + } + z.aa = '$BAIDU$' + window[z.aa] = window[z.aa] || {} + z.object = z.object || {} + z.extend = z.object.extend = function(a, b) { + for (var c in b) + b.hasOwnProperty(c) && (a[c] = b[c]) + return a + } + + z.D = z.D || {} + z.D.$ = function(a) { + return 'string' == typeof a || a instanceof String ? document.getElementById(a) : a && a.nodeName && (1 == a.nodeType || 9 == a.nodeType) ? a : s + } + + z.$ = z.Fc = z.D.$ + z.D.U = function(a) { + a = z.D.$(a) + if (a === s) + return a + a.style.display = 'none' + return a + } + + z.U = z.D.U + z.lang = z.lang || {} + z.lang.wg = function(a) { + return '[object String]' == Object.prototype.toString.call(a) + } + + z.wg = z.lang.wg + z.D.Oj = function(a) { + return z.lang.wg(a) ? document.getElementById(a) : a + } + + z.Oj = z.D.Oj + z.D.getElementsByClassName = function(a, b) { + var c + if (a.getElementsByClassName) + c = a.getElementsByClassName(b) + else { + var e = a + e == s && (e = document) + c = [] + var e = e.getElementsByTagName('*'), f = e.length, g = RegExp('(^|\\s)' + b + '(\\s|$)'), i, k + for (k = i = 0; i < f; i++) + g.test(e[i].className) && (c[k] = e[i], + k++) + } + return c + } + + z.getElementsByClassName = z.D.getElementsByClassName + z.D.contains = function(a, b) { + var c = z.D.Oj + , a = c(a) + , b = c(b) + return a.contains ? a != b && a.contains(b) : !!(a.compareDocumentPosition(b) & 16) + } + + z.ca = z.ca || {}; + /msie (\d+\.\d)/i.test(navigator.userAgent) && (z.ca.ia = z.ia = document.documentMode || +RegExp.$1) + var ja = { + cellpadding: 'cellPadding', + cellspacing: 'cellSpacing', + colspan: 'colSpan', + rowspan: 'rowSpan', + valign: 'vAlign', + usemap: 'useMap', + frameborder: 'frameBorder' + } + 8 > z.ca.ia ? (ja['for'] = 'htmlFor', + ja['class'] = 'className') : (ja.htmlFor = 'for', + ja.className = 'class') + z.D.RG = ja + z.D.BF = function(a, b, c) { + a = z.D.$(a) + if (a === s) + return a + if ('style' == b) + a.style.cssText = c + else { + b = z.D.RG[b] || b + a.setAttribute(b, c) + } + return a + } + + z.BF = z.D.BF + z.D.CF = function(a, b) { + a = z.D.$(a) + if (a === s) + return a + for (var c in b) + z.D.BF(a, c, b[c]) + return a + } + + z.CF = z.D.CF + z.Wk = z.Wk || {}; + (function() { + var a = RegExp('(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)', 'g') + z.Wk.trim = function(b) { + return ('' + b).replace(a, '') + } + } + )() + z.trim = z.Wk.trim + z.Wk.Wo = function(a, b) { + var a = '' + a + , c = Array.prototype.slice.call(arguments, 1) + , e = Object.prototype.toString + if (c.length) { + c = c.length == 1 ? b !== s && /\[object Array\]|\[object Object\]/.test(e.call(b)) ? b : c : c + return a.replace(/#\{(.+?)\}/g, function(a, b) { + var i = c[b] + '[object Function]' == e.call(i) && (i = i(b)) + return 'undefined' == typeof i ? '' : i + }) + } + return a + } + + z.Wo = z.Wk.Wo + z.D.Pb = function(a, b) { + a = z.D.$(a) + if (a === s) + return a + for (var c = a.className.split(/\s+/), e = b.split(/\s+/), f, g = e.length, i, k = 0; k < g; ++k) { + i = 0 + for (f = c.length; i < f; ++i) + if (c[i] == e[k]) { + c.splice(i, 1) + break + } + } + a.className = c.join(' ') + return a + } + + z.Pb = z.D.Pb + z.D.Vx = function(a, b, c) { + a = z.D.$(a) + if (a === s) + return a + var e + if (a.insertAdjacentHTML) + a.insertAdjacentHTML(b, c) + else { + e = a.ownerDocument.createRange() + b = b.toUpperCase() + if (b == 'AFTERBEGIN' || b == 'BEFOREEND') { + e.selectNodeContents(a) + e.collapse(b == 'AFTERBEGIN') + } else { + b = b == 'BEFOREBEGIN' + e[b ? 'setStartBefore' : 'setEndAfter'](a) + e.collapse(b) + } + e.insertNode(e.createContextualFragment(c)) + } + return a + } + + z.Vx = z.D.Vx + z.D.show = function(a) { + a = z.D.$(a) + if (a === s) + return a + a.style.display = '' + return a + } + + z.show = z.D.show + z.D.QD = function(a) { + a = z.D.$(a) + return a === s ? a : a.nodeType == 9 ? a : a.ownerDocument || a.document + } + + z.D.Ua = function(a, b) { + a = z.D.$(a) + if (a === s) + return a + for (var c = b.split(/\s+/), e = a.className, f = ' ' + e + ' ', g = 0, i = c.length; g < i; g++) + f.indexOf(' ' + c[g] + ' ') < 0 && (e = e + (' ' + c[g])) + a.className = e + return a + } + + z.Ua = z.D.Ua + z.D.PB = z.D.PB || {} + z.D.Ol = z.D.Ol || [] + z.D.Ol.filter = function(a, b, c) { + for (var e = 0, f = z.D.Ol, g; g = f[e]; e++) + if (g = g[c]) + b = g(a, b) + return b + } + + z.Wk.RO = function(a) { + return a.indexOf('-') < 0 && a.indexOf('_') < 0 ? a : a.replace(/[-_][^-_]/g, function(a) { + return a.charAt(1).toUpperCase() + }) + } + + z.D.m0 = function(a) { + z.D.it(a, 'expand') ? z.D.Pb(a, 'expand') : z.D.Ua(a, 'expand') + } + + z.D.it = function(a) { + if (arguments.length <= 0 || typeof a === 'function') + return this + if (this.size() <= 0) + return t + var a = a.replace(/^\s+/g, '').replace(/\s+$/g, '').replace(/\s+/g, ' '), b = a.split(' '), c + z.forEach(this, function(a) { + for (var a = a.className, f = 0; f < b.length; f++) + if (!~(' ' + a + ' ').indexOf(' ' + b[f] + ' ')) { + c = t + return + } + c !== t && (c = q) + }) + return c + } + + z.D.oj = function(a, b) { + var c = z.D + , a = c.$(a) + if (a === s) + return a + var b = z.Wk.RO(b) + , e = a.style[b] + if (!e) + var f = c.PB[b] + , e = a.currentStyle || (z.ca.ia ? a.style : getComputedStyle(a, s)) + , e = f && f.get ? f.get(a, e) : e[f || b] + if (f = c.Ol) + e = f.filter(b, e, 'get') + return e + } + + z.oj = z.D.oj; + /opera\/(\d+\.\d)/i.test(navigator.userAgent) && (z.ca.opera = +RegExp.$1) + z.ca.HM = /webkit/i.test(navigator.userAgent) + z.ca.VY = /gecko/i.test(navigator.userAgent) && !/like gecko/i.test(navigator.userAgent) + z.ca.DE = 'CSS1Compat' == document.compatMode + z.D.ga = function(a) { + a = z.D.$(a) + if (a === s) + return a + var b = z.D.QD(a) + , c = z.ca + , e = z.D.oj + c.VY > 0 && b.getBoxObjectFor && e(a, 'position') + var f = { + left: 0, + top: 0 + }, g + if (a == (c.ia && !c.DE ? b.body : b.documentElement)) + return f + if (a.getBoundingClientRect) { + a = a.getBoundingClientRect() + f.left = Math.floor(a.left) + Math.max(b.documentElement.scrollLeft, b.body.scrollLeft) + f.top = Math.floor(a.top) + Math.max(b.documentElement.scrollTop, b.body.scrollTop) + f.left = f.left - b.documentElement.clientLeft + f.top = f.top - b.documentElement.clientTop + a = b.body + b = parseInt(e(a, 'borderLeftWidth')) + e = parseInt(e(a, 'borderTopWidth')) + if (c.ia && !c.DE) { + f.left = f.left - (isNaN(b) ? 2 : b) + f.top = f.top - (isNaN(e) ? 2 : e) + } + } else { + g = a + do { + f.left = f.left + g.offsetLeft + f.top = f.top + g.offsetTop + if (c.HM > 0 && e(g, 'position') == 'fixed') { + f.left = f.left + b.body.scrollLeft + f.top = f.top + b.body.scrollTop + break + } + g = g.offsetParent + } while (g && g != a);if (c.opera > 0 || c.HM > 0 && e(a, 'position') == 'absolute') + f.top = f.top - b.body.offsetTop + for (g = a.offsetParent; g && g != b.body; ) { + f.left = f.left - g.scrollLeft + if (!c.opera || g.tagName != 'TR') + f.top = f.top - g.scrollTop + g = g.offsetParent + } + } + return f + } + ; + /firefox\/(\d+\.\d)/i.test(navigator.userAgent) && (z.ca.Te = +RegExp.$1); + /BIDUBrowser/i.test(navigator.userAgent) && (z.ca.n2 = q) + var ka = navigator.userAgent; + /(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(ka) && !/chrome/i.test(ka) && (z.ca.Iy = +(RegExp.$1 || RegExp.$2)); + /chrome\/(\d+\.\d)/i.test(navigator.userAgent) && (z.ca.Qw = +RegExp.$1) + z.mc = z.mc || {} + z.mc.Fb = function(a, b) { + var c, e, f = a.length + if ('function' == typeof b) + for (e = 0; e < f; e++) { + c = a[e] + c = b.call(a, c, e) + if (c === t) + break + } + return a + } + + z.Fb = z.mc.Fb + z.lang.aa = function() { + return 'TANGRAM__' + (window[z.aa]._counter++).toString(36) + } + + window[z.aa]._counter = window[z.aa]._counter || 1 + window[z.aa]._instances = window[z.aa]._instances || {} + z.lang.wt = function(a) { + return '[object Function]' == Object.prototype.toString.call(a) + } + + z.lang.Ca = function(a) { + this.aa = a || z.lang.aa() + window[z.aa]._instances[this.aa] = this + } + + window[z.aa]._instances = window[z.aa]._instances || {} + z.lang.Ca.prototype.ci = ga(0) + z.lang.Ca.prototype.toString = function() { + return '[object ' + (this.UQ || 'Object') + ']' + } + + z.lang.Ju = function(a, b) { + this.type = a + this.returnValue = q + this.target = b || s + this.currentTarget = s + } + + z.lang.Ca.prototype.addEventListener = function(a, b, c) { + if (z.lang.wt(b)) { + !b.fl && (b.fl = {}) + !this.Ci && (this.Ci = {}) + var e = this.Ci, f + if (typeof c == 'string' && c) { + /[^\w\-]/.test(c) && aa('nonstandard key:' + c) + f = b.Nx = c + } + a.indexOf('on') != 0 && (a = 'on' + a) + typeof e[a] != 'object' && (e[a] = {}) + typeof b.fl[a] != 'object' && (b.fl[a] = {}) + f = f || z.lang.aa() + b.fl[a].Nx = f + e[a][f] = b + } + } + + z.lang.Ca.prototype.removeEventListener = function(a, b) { + a.indexOf('on') != 0 && (a = 'on' + a) + if (z.lang.wt(b)) { + if (!b.fl || !b.fl[a]) + return + b = b.fl[a].Nx + } else if (!z.lang.wg(b)) + return + !this.Ci && (this.Ci = {}) + var c = this.Ci + c[a] && c[a][b] && delete c[a][b] + } + + z.lang.Ca.prototype.dispatchEvent = function(a, b) { + z.lang.wg(a) && (a = new z.lang.Ju(a)) + !this.Ci && (this.Ci = {}) + var b = b || {}, c + for (c in b) + a[c] = b[c] + var e = this.Ci + , f = a.type + a.target = a.target || this + a.currentTarget = this + f.indexOf('on') != 0 && (f = 'on' + f) + z.lang.wt(this[f]) && this[f].apply(this, arguments) + if (typeof e[f] == 'object') + for (c in e[f]) + e[f][c].apply(this, arguments) + return a.returnValue + } + + z.lang.ta = function(a, b, c) { + var e, f, g = a.prototype + f = new Function + f.prototype = b.prototype + f = a.prototype = new f + for (e in g) + f[e] = g[e] + a.prototype.constructor = a + a.b0 = b.prototype + if ('string' == typeof c) + f.UQ = c + } + + z.ta = z.lang.ta + z.lang.Nc = function(a) { + return window[z.aa]._instances[a] || s + } + + z.platform = z.platform || {} + z.platform.AM = /macintosh/i.test(navigator.userAgent) + z.platform.h4 = /MicroMessenger/i.test(navigator.userAgent) + z.platform.IM = /windows/i.test(navigator.userAgent) + z.platform.cZ = /x11/i.test(navigator.userAgent) + z.platform.Jm = /android/i.test(navigator.userAgent); + /android (\d+\.\d)/i.test(navigator.userAgent) && (z.platform.dK = z.dK = RegExp.$1) + z.platform.XY = /ipad/i.test(navigator.userAgent) + z.platform.zE = /iphone/i.test(navigator.userAgent) + function la(a, b) { + a.domEvent = b = window.event || b + a.clientX = b.clientX || b.pageX + a.clientY = b.clientY || b.pageY + a.offsetX = b.offsetX || b.layerX + a.offsetY = b.offsetY || b.layerY + a.screenX = b.screenX + a.screenY = b.screenY + a.ctrlKey = b.ctrlKey || b.metaKey + a.shiftKey = b.shiftKey + a.altKey = b.altKey + if (b.touches) { + a.touches = [] + for (var c = 0; c < b.touches.length; c++) + a.touches.push({ + clientX: b.touches[c].clientX, + clientY: b.touches[c].clientY, + screenX: b.touches[c].screenX, + screenY: b.touches[c].screenY, + pageX: b.touches[c].pageX, + pageY: b.touches[c].pageY, + target: b.touches[c].target, + identifier: b.touches[c].identifier + }) + } + if (b.changedTouches) { + a.changedTouches = [] + for (c = 0; c < b.changedTouches.length; c++) + a.changedTouches.push({ + clientX: b.changedTouches[c].clientX, + clientY: b.changedTouches[c].clientY, + screenX: b.changedTouches[c].screenX, + screenY: b.changedTouches[c].screenY, + pageX: b.changedTouches[c].pageX, + pageY: b.changedTouches[c].pageY, + target: b.changedTouches[c].target, + identifier: b.changedTouches[c].identifier + }) + } + if (b.targetTouches) { + a.targetTouches = [] + for (c = 0; c < b.targetTouches.length; c++) + a.targetTouches.push({ + clientX: b.targetTouches[c].clientX, + clientY: b.targetTouches[c].clientY, + screenX: b.targetTouches[c].screenX, + screenY: b.targetTouches[c].screenY, + pageX: b.targetTouches[c].pageX, + pageY: b.targetTouches[c].pageY, + target: b.targetTouches[c].target, + identifier: b.targetTouches[c].identifier + }) + } + a.rotation = b.rotation + a.scale = b.scale + return a + } + z.lang.hx = function(a) { + var b = window[z.aa] + b.eT && delete b.eT[a] + } + + z.event = {} + z.M = z.event.M = function(a, b, c) { + if (!(a = z.$(a))) + return a + b = b.replace(/^on/, '') + a.addEventListener ? a.addEventListener(b, c, t) : a.attachEvent && a.attachEvent('on' + b, c) + return a + } + + z.ed = z.event.ed = function(a, b, c) { + if (!(a = z.$(a))) + return a + b = b.replace(/^on/, '') + a.removeEventListener ? a.removeEventListener(b, c, t) : a.detachEvent && a.detachEvent('on' + b, c) + return a + } + + z.D.it = function(a, b) { + if (!a || !a.className || typeof a.className != 'string') + return t + var c = -1 + try { + c = a.className == b || a.className.search(RegExp('(\\s|^)' + b + '(\\s|$)')) + } catch (e) { + return t + } + return c > -1 + } + + z.iL = function() { + function a(a) { + document.addEventListener && (this.element = a, + this.lL = this.Dk ? 'touchstart' : 'mousedown', + this.xD = this.Dk ? 'touchmove' : 'mousemove', + this.wD = this.Dk ? 'touchend' : 'mouseup', + this.oh = t, + this.mu = this.lu = 0, + this.element.addEventListener(this.lL, this, t), + ia.M(this.element, 'mousedown', u()), + this.handleEvent(s)) + } + a.prototype = { + Dk: 'ontouchstart'in window || 'createTouch'in document, + start: function(a) { + ma(a) + this.oh = t + this.lu = this.Dk ? a.touches[0].clientX : a.clientX + this.mu = this.Dk ? a.touches[0].clientY : a.clientY + this.element.addEventListener(this.xD, this, t) + this.element.addEventListener(this.wD, this, t) + }, + move: function(a) { + na(a) + var c = this.Dk ? a.touches[0].clientY : a.clientY + if (10 < Math.abs((this.Dk ? a.touches[0].clientX : a.clientX) - this.lu) || 10 < Math.abs(c - this.mu)) + this.oh = q + }, + end: function(a) { + na(a) + this.oh || (a = document.createEvent('Event'), + a.initEvent('tap', t, q), + this.element.dispatchEvent(a)) + this.element.removeEventListener(this.xD, this, t) + this.element.removeEventListener(this.wD, this, t) + }, + handleEvent: function(a) { + if (a) + switch (a.type) { + case this.lL: + this.start(a) + break + case this.xD: + this.move(a) + break + case this.wD: + this.end(a) + } + } + } + return function(b) { + return new a(b) + } + }() + var B = window.BMap || {} + B.version = '3.0' + B.gV = 0.34 > Math.random() + 0 <= B.version.indexOf('#') && (B.version = '3.0') + B.Fr = [] + B.Ye = function(a) { + this.Fr.push(a) + } + + B.ur = [] + B.Tm = function(a) { + this.ur.push(a) + } + + B.vV = B.apiLoad || u() + B.Q0 = B.verify || function() { + B.version && B.version >= 1.5 && oa(B.Wc + '?qt=verify&ak=' + qa, function(a) { + if (a && a.error !== 0) { + if (typeof map !== 'undefined') { + map.La().innerHTML = '' + map.Ci = {} + } + B = s + var b = '\u767e\u5ea6\u672a\u6388\u6743\u4f7f\u7528\u5730\u56feAPI\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u60a8\u63d0\u4f9b\u7684\u5bc6\u94a5\u4e0d\u662f\u6709\u6548\u7684\u767e\u5ea6LBS\u5f00\u653e\u5e73\u53f0\u5bc6\u94a5\uff0c\u6216\u6b64\u5bc6\u94a5\u672a\u5bf9\u672c\u5e94\u7528\u7684\u767e\u5ea6\u5730\u56feJavaScriptAPI\u6388\u6743\u3002\u60a8\u53ef\u4ee5\u8bbf\u95ee\u5982\u4e0b\u7f51\u5740\u4e86\u89e3\u5982\u4f55\u83b7\u53d6\u6709\u6548\u7684\u5bc6\u94a5\uff1ahttp://lbsyun.baidu.com/apiconsole/key#\u3002' + switch (a.error) { + case 101: + b = '\u5f00\u53d1\u8005\u7981\u7528\u4e86\u8be5ak\u7684jsapi\u670d\u52a1\u6743\u9650\u3002\u60a8\u53ef\u4ee5\u8bbf\u95ee\u5982\u4e0b\u7f51\u5740\u4e86\u89e3\u5982\u4f55\u83b7\u53d6\u6709\u6548\u7684\u5bc6\u94a5\uff1ahttp://lbsyun.baidu.com/apiconsole/key#\u3002' + break + case 102: + b = '\u5f00\u53d1\u8005Referer\u4e0d\u6b63\u786e\u3002\u60a8\u53ef\u4ee5\u8bbf\u95ee\u5982\u4e0b\u7f51\u5740\u4e86\u89e3\u5982\u4f55\u83b7\u53d6\u6709\u6548\u7684\u5bc6\u94a5\uff1ahttp://lbsyun.baidu.com/apiconsole/key#\u3002' + } + alert(b) + } + }) + } + + var qa = window.BMAP_AUTHENTIC_KEY + window.BMAP_AUTHENTIC_KEY = s + var ra = window.BMap_loadScriptTime + , sa = (new Date).getTime() + , ta = s + , ua = q + , va = 5042 + , xa = 5002 + , ya = 5003 + , za = 'load_mapclick' + , Aa = 5038 + , Ba = 5041 + , Ca = 5047 + , Da = 5036 + , Ea = 5039 + , Fa = 5037 + , Ga = 5040 + , Ha = 5011 + , Ia = 7E3 + var Ja = 0 + function Ka(a, b) { + if (a = z.$(a)) { + var c = this + z.lang.Ca.call(c) + b = b || {} + c.K = { + tC: 200, + Wb: q, + px: t, + nD: q, + To: q, + Uo: b.enableWheelZoom || t, + gL: q, + pD: q, + Ns: q, + nx: q, + tD: q, + Ro: b.enable3DBuilding || t, + Ic: 25, + b1: 240, + iV: 450, + Vb: G.Vb, + Hd: G.Hd, + Yx: !!b.Yx, + gc: Math.round(b.minZoom) || 1, + Yb: Math.round(b.maxZoom) || 19, + Hb: b.mapType || La, + e5: t, + cL: b.drawer || Ja, + ox: q, + lx: 500, + aX: b.enableHighResolution !== t, + fj: b.enableMapClick !== t, + devicePixelRatio: b.devicePixelRatio || window.devicePixelRatio || 1, + fG: 99, + ye: b.mapStyle || s, + jZ: b.logoControl === t ? t : q, + DV: [], + Kw: b.beforeClickIcon || s, + Ms: t, + qN: q + } + c.K.ye && (this.LY(c.K.ye.controls), + this.sM(c.K.ye.geotableId)) + c.K.ye && c.K.ye.styleId && c.O3(c.K.ye.styleId) + c.K.fm = { + dark: { + backColor: '#2D2D2D', + textColor: '#bfbfbf', + iconUrl: 'dicons' + }, + normal: { + backColor: '#F3F1EC', + textColor: '#c61b1b', + iconUrl: 'icons' + }, + light: { + backColor: '#EBF8FC', + textColor: '#017fb4', + iconUrl: 'licons' + } + } + b.enableAutoResize && (c.K.nx = b.enableAutoResize) + b.enableStreetEntrance === t && (c.K.tD = b.enableStreetEntrance) + b.enableDeepZoom === t && (c.K.gL = b.enableDeepZoom) + var e = c.K.DV + if (H()) + for (var f = 0, g = e.length; f < g; f++) + if (z.ca[e[f]]) { + c.K.devicePixelRatio = 1 + break + } + e = -1 < navigator.userAgent.toLowerCase().indexOf('android') + f = -1 < navigator.userAgent.toLowerCase().indexOf('mqqbrowser') + if (-1 < navigator.userAgent.toLowerCase().indexOf('UCBrowser') || e && f) + c.K.fG = 99 + c.Wa = a + c.IB(a) + a.unselectable = 'on' + a.innerHTML = '' + a.appendChild(c.va()) + b.size && this.Ce(b.size) + e = c.cb() + c.width = e.width + c.height = e.height + c.offsetX = 0 + c.offsetY = 0 + c.platform = a.firstChild + c.ze = c.platform.firstChild + c.ze.style.width = c.width + 'px' + c.ze.style.height = c.height + 'px' + c.Yd = {} + c.re = new J(0,0) + c.fc = new J(0,0) + c.Oa = 3 + c.Oc = 0 + c.LC = s + c.KC = s + c.Ub = '' + c.Rw = '' + c.Jh = {} + c.Jh.custom = {} + c.Sa = 0 + b.useWebGL === t && Na(t) + c.P = new Oa(a,{ + of: 'api', + jT: q + }) + c.P.U() + c.P.GF(c) + b = b || {} + e = c.Hb = c.K.Hb + c.cd = e.wm() + e === Qa && Ra(xa) + e === Sa && Ra(ya) + e = c.K + e.hP = Math.round(b.minZoom) + e.gP = Math.round(b.maxZoom) + c.bv() + c.R = { + Jc: t, + nc: 0, + Bt: 0, + MM: 0, + l4: 0, + lC: t, + pF: -1, + Qe: [] + } + c.platform.style.cursor = c.K.Vb + for (f = 0; f < B.Fr.length; f++) + B.Fr[f](c) + c.R.pF = f + c.ba() + K.load('map', function() { + c.ib() + }) + c.K.fj && (setTimeout(function() { + Ra(za) + }, 1E3), + K.load('mapclick', function() { + window.MPC_Mgr = window.MPC_Mgr || {} + window.MPC_Mgr[c.aa] = new Ta(c) + }, q)) + Ua() && K.load('oppc', function() { + c.Dz() + }) + H() && K.load('opmb', function() { + c.Dz() + }) + a = s + c.WB = [] + } + } + z.lang.ta(Ka, z.lang.Ca, 'Map') + z.extend(Ka.prototype, { + va: function() { + var a = L('div') + , b = a.style + b.overflow = 'visible' + b.position = 'absolute' + b.zIndex = '0' + b.top = b.left = '0px' + var b = L('div', { + 'class': 'BMap_mask' + }) + , c = b.style + c.position = 'absolute' + c.top = c.left = '0px' + c.zIndex = '9' + c.overflow = 'hidden' + c.WebkitUserSelect = 'none' + a.appendChild(b) + return a + }, + IB: function(a) { + var b = a.style + b.overflow = 'hidden' + 'absolute' !== Va(a).position && (b.position = 'relative', + b.zIndex = 0) + b.backgroundColor = '#F3F1EC' + b.color = '#000' + b.textAlign = 'left' + }, + ba: function() { + var a = this + a.as = function() { + var b = a.cb() + if (a.width !== b.width || a.height !== b.height) { + var c = new O(a.width,a.height) + , e = new P('onbeforeresize') + e.size = c + a.dispatchEvent(e) + a.ik((b.width - a.width) / 2, (b.height - a.height) / 2) + a.ze.style.width = (a.width = b.width) + 'px' + a.ze.style.height = (a.height = b.height) + 'px' + c = new P('onresize') + c.size = b + a.dispatchEvent(c) + } + } + + a.K.nx && (a.R.es = setInterval(a.as, 80)) + }, + ik: function(a, b, c, e) { + var f = this.oa().dc(this.fa()) + , g = this.cd + , i = q + c && J.yM(c) && (this.re = new J(c.lng,c.lat), + i = t) + if (c = c && e ? g.vj(c, this.Ub) : this.fc) + if (this.fc = new J(c.lng + a * f,c.lat - b * f), + (a = g.nh(this.fc, this.Ub)) && i) + this.re = a + }, + Gg: function(a, b) { + if (Wa(a) && (this.bv(), + this.dispatchEvent(new P('onzoomstart')), + a = this.Yn(a).zoom, + a !== this.Oa)) { + this.Oc = this.Oa + this.Oa = a + var c + b ? c = b : this.hh() && (c = this.hh().ga()) + c && (c = this.$b(c, this.Oc), + this.ik(this.width / 2 - c.x, this.height / 2 - c.y, this.xb(c, this.Oc), q)) + this.dispatchEvent(new P('onzoomstartcode')) + } + }, + Qc: function(a) { + this.Gg(a) + }, + kG: function(a) { + this.Gg(this.Oa + 1, a) + }, + lG: function(a) { + this.Gg(this.Oa - 1, a) + }, + qi: function(a) { + a instanceof J && (this.fc = this.cd.vj(a, this.Ub), + this.re = J.yM(a) ? new J(a.lng,a.lat) : this.cd.nh(this.fc, this.Ub)) + }, + Ag: function(a, b) { + a = Math.round(a) || 0 + b = Math.round(b) || 0 + this.ik(-a, -b) + }, + Aw: function(a) { + a && Xa(a.He) && (a.He(this), + this.dispatchEvent(new P('onaddcontrol',a))) + }, + VN: function(a) { + a && Xa(a.remove) && (a.remove(), + this.dispatchEvent(new P('onremovecontrol',a))) + }, + yo: function(a) { + a && Xa(a.na) && (a.na(this), + this.dispatchEvent(new P('onaddcontextmenu',a))) + }, + Cp: function(a) { + a && Xa(a.remove) && (this.dispatchEvent(new P('onremovecontextmenu',a)), + a.remove()) + }, + Ga: function(a) { + a && Xa(a.He) && (a.He(this), + this.dispatchEvent(new P('onaddoverlay',a))) + }, + Qb: function(a) { + a && Xa(a.remove) && (a.remove(), + this.dispatchEvent(new P('onremoveoverlay',a))) + }, + yK: function() { + this.dispatchEvent(new P('onclearoverlays')) + }, + Oe: function(a) { + a && this.dispatchEvent(new P('onaddtilelayer',a)) + }, + Yf: function(a) { + a && this.dispatchEvent(new P('onremovetilelayer',a)) + }, + Dg: function(a) { + if (this.Hb !== a) { + var b = new P('onsetmaptype') + b.V4 = this.Hb + this.Hb = this.K.Hb = a + this.cd = this.Hb.wm() + this.ik(0, 0, this.Ka(), q) + this.bv() + var c = this.Yn(this.fa()).zoom + this.Gg(c) + this.dispatchEvent(b) + b = new P('onmaptypechange') + b.Oa = c + b.Hb = a + this.dispatchEvent(b); + (a === Ya || a === Sa) && Ra(ya) + } + }, + Zf: function(a) { + var b = this + if (a instanceof J) + b.qi(a, { + noAnimation: q + }) + else if ($a(a)) + if (b.Hb === Qa) { + var c = G.pC[a] + c && (pt = c.k, + b.Zf(pt)) + } else { + var e = this.WH() + e.JF(function(c) { + 0 === e.xm() && 2 === e.Ia.result.type && (b.Zf(c.Ak(0).point), + Qa.wk(a) && b.DF(a)) + }) + e.search(a, { + log: 'center' + }) + } + }, + Fd: function(a, b) { + '[object Undefined]' !== Object.prototype.toString.call(b) && (b = parseInt(b)) + B.Fn('cus.fire', 'time', { + z_loadscripttime: sa - ra + }) + var c = this + if ($a(a)) + if (c.Hb === Qa) { + var e = G.pC[a] + e && (pt = e.k, + c.Fd(pt, b)) + } else { + var f = c.WH() + f.JF(function(e) { + if (0 === f.xm() && (2 === f.Ia.result.type || 11 === f.Ia.result.type)) { + var e = e.Ak(0).point + , g = b || ab.tx(f.Ia.content.level, c) + c.Fd(e, g) + Qa.wk(a) && c.DF(a) + } + }) + f.search(a, { + log: 'center' + }) + } + else if (a instanceof J && b) { + b = c.Yn(b).zoom + c.Oc = c.Oa || b + c.Oa = b + e = c.re + c.re = new J(a.lng,a.lat) + c.fc = c.cd.vj(c.re, c.Ub) + c.LC = c.LC || c.Oa + c.KC = c.KC || c.re + var g = new P('onload') + , i = new P('onloadcode') + g.point = new J(a.lng,a.lat) + g.pixel = c.$b(c.re, c.Oa) + g.zoom = b + c.loaded || (c.loaded = q, + c.dispatchEvent(g), + ta || (ta = bb())) + c.dispatchEvent(i) + g = new P('onmoveend') + g.mv = 'centerAndZoom' + e.pb(c.re) || c.dispatchEvent(g) + c.dispatchEvent(new P('onmoveend')) + c.Oc !== c.Oa && (e = new P('onzoomend'), + e.mv = 'centerAndZoom', + c.dispatchEvent(e)) + c.K.Ro && c.Ro() + } + }, + WH: function() { + this.R.YM || (this.R.YM = new cb(1)) + return this.R.YM + }, + reset: function() { + this.Fd(this.KC, this.LC, q) + }, + enableDragging: function() { + this.K.Wb = q + }, + disableDragging: function() { + this.K.Wb = t + }, + enableInertialDragging: function() { + this.K.ox = q + }, + disableInertialDragging: function() { + this.K.ox = t + }, + enableScrollWheelZoom: function() { + this.K.Uo = q + }, + disableScrollWheelZoom: function() { + this.K.Uo = t + }, + enableContinuousZoom: function() { + this.K.To = q + }, + disableContinuousZoom: function() { + this.K.To = t + }, + enableDoubleClickZoom: function() { + this.K.nD = q + }, + disableDoubleClickZoom: function() { + this.K.nD = t + }, + enableKeyboard: function() { + this.K.px = q + }, + disableKeyboard: function() { + this.K.px = t + }, + enablePinchToZoom: function() { + this.K.Ns = q + }, + disablePinchToZoom: function() { + this.K.Ns = t + }, + enableAutoResize: function() { + this.K.nx = q + this.as() + this.R.es || (this.R.es = setInterval(this.as, 80)) + }, + disableAutoResize: function() { + this.K.nx = t + this.R.es && (clearInterval(this.R.es), + this.R.es = s) + }, + Ro: function() { + this.K.Ro = q + this.Nn || (this.Nn = new db({ + pL: q + }), + this.Oe(this.Nn)) + }, + KW: function() { + this.K.Ro = t + this.Nn && (this.Yf(this.Nn), + this.Nn = s, + delete this.Nn) + }, + cb: function() { + return this.xs && this.xs instanceof O ? new O(this.xs.width,this.xs.height) : new O(this.Wa.clientWidth,this.Wa.clientHeight) + }, + Ce: function(a) { + a && a instanceof O ? (this.xs = a, + this.Wa.style.width = a.width + 'px', + this.Wa.style.height = a.height + 'px') : this.xs = s + }, + Ka: w('re'), + fa: w('Oa'), + ZV: function() { + this.as() + }, + Yn: function(a) { + var b = this.K.gc + , c = this.K.Yb + , e = t + , a = Math.round(a) + a < b && (e = q, + a = b) + a > c && (e = q, + a = c) + return { + zoom: a, + yD: e + } + }, + La: w('Wa'), + $b: function(a, b) { + b = b || this.fa() + return this.cd.$b(a, b, this.fc, this.cb(), this.Ub) + }, + xb: function(a, b) { + b = b || this.fa() + return this.cd.xb(a, b, this.fc, this.cb(), this.Ub) + }, + Xe: function(a, b) { + if (a) { + var c = this.$b(new J(a.lng,a.lat), b) + c.x -= this.offsetX + c.y -= this.offsetY + return c + } + }, + JN: function(a, b) { + if (a) { + var c = new Q(a.x,a.y) + c.x += this.offsetX + c.y += this.offsetY + return this.xb(c, b) + } + }, + pointToPixelFor3D: function(a, b) { + var c = map.Ub + this.Hb === Qa && c && eb.EK(a, this, b) + }, + P4: function(a, b) { + var c = map.Ub + this.Hb === Qa && c && eb.DK(a, this, b) + }, + Q4: function(a, b) { + var c = this + , e = map.Ub + c.Hb === Qa && e && eb.EK(a, c, function(a) { + a.x -= c.offsetX + a.y -= c.offsetY + b && b(a) + }) + }, + L4: function(a, b) { + var c = map.Ub + this.Hb === Qa && c && (a.x += this.offsetX, + a.y += this.offsetY, + eb.DK(a, this, b)) + }, + ve: function(a) { + if (!this.Xx()) + return new fb + var b = a || {} + , a = b.margins || [0, 0, 0, 0] + , c = b.zoom || s + , b = this.xb({ + x: a[3], + y: this.height - a[2] + }, c) + , a = this.xb({ + x: this.width - a[1], + y: a[0] + }, c) + return new fb(b,a) + }, + Xx: function() { + return !!this.loaded + }, + nS: function(a, b) { + for (var c = this.oa(), e = b.margins || [10, 10, 10, 10], f = b.zoomFactor || 0, g = e[1] + e[3], e = e[0] + e[2], i = c.bp(), k = c = c.sm(); k >= i; k--) { + var m = this.oa().dc(k) + if (a.YF().lng / m < this.width - g && a.YF().lat / m < this.height - e) + break + } + k += f + k < i && (k = i) + k > c && (k = c) + return k + }, + ht: function(a, b) { + var c = { + center: this.Ka(), + zoom: this.fa() + } + if (!a || !a instanceof fb && 0 === a.length || a instanceof fb && a.tj()) + return c + var e = [] + a instanceof fb ? (e.push(a.Rf()), + e.push(a.Ve())) : e = a.slice(0) + for (var b = b || {}, f = [], g = 0, i = e.length; g < i; g++) + f.push(this.cd.vj(e[g], this.Ub)) + e = new fb + for (g = f.length - 1; 0 <= g; g--) + e.extend(f[g]) + if (e.tj()) + return c + c = e.Ka() + f = this.nS(e, b) + b.margins && (e = b.margins, + g = (e[1] - e[3]) / 2, + e = (e[0] - e[2]) / 2, + i = this.oa().dc(f), + b.offset && (g = b.offset.width, + e = b.offset.height), + c.lng += i * g, + c.lat += i * e) + c = this.cd.nh(c, this.Ub) + return { + center: c, + zoom: f + } + }, + yh: function(a, b) { + var c + c = a && a.center ? a : this.ht(a, b) + var b = b || {} + , e = b.delay || 200 + if (c.zoom === this.Oa && b.enableAnimation !== t) { + var f = this + setTimeout(function() { + f.qi(c.center, { + duration: 210 + }) + }, e) + } else + this.Fd(c.center, c.zoom) + }, + Tf: w('Yd'), + hh: function() { + return this.R.qb && this.R.qb.Xa() ? this.R.qb : s + }, + getDistance: function(a, b) { + if (a && b) { + if (a.pb(b)) + return 0 + var c = 0 + , c = S.$o(a, b) + if (c === s || c === l) + c = 0 + return c + } + }, + Hx: function() { + var a = [] + , b = this.ya + , c = this.Ee + if (b) + for (var e in b) + b[e]instanceof gb && a.push(b[e]) + if (c) { + e = 0 + for (b = c.length; e < b; e++) + a.push(c[e]) + } + return a + }, + oa: w('Hb'), + Dz: function() { + for (var a = this.R.pF; a < B.Fr.length; a++) + B.Fr[a](this) + this.R.pF = a + }, + DF: function(a) { + //修改 setCurrentCity + //i_setCurrentCity(this, a); + this.Ub = Qa.wk(a) + this.Rw = Qa.BL(this.Ub) + this.Hb === Qa && this.cd instanceof hb && (this.cd.$i = this.Ub) + }, + setDefaultCursor: function(a) { + this.K.Vb = a + this.platform && (this.platform.style.cursor = this.K.Vb) + }, + getDefaultCursor: function() { + return this.K.Vb + }, + setDraggingCursor: function(a) { + this.K.Hd = a + }, + getDraggingCursor: function() { + return this.K.Hd + }, + Sx: function() { + return this.K.aX && 1.5 <= this.K.devicePixelRatio + }, + Cw: function(a, b) { + b ? this.Jh[b] || (this.Jh[b] = {}) : b = 'custom' + a.tag = b + a instanceof ib && (this.Jh[b][a.aa] = a, + a.na(this)) + var c = this + K.load('hotspot', function() { + c.Dz() + }, q) + }, + VZ: function(a, b) { + b || (b = 'custom') + this.Jh[b][a.aa] && delete this.Jh[b][a.aa] + }, + dm: function(a) { + a || (a = 'custom') + this.Jh[a] = {} + }, + bv: function() { + var a = this.Hb.bp() + , b = this.Hb.sm() + , c = this.K + c.gc = c.hP || a + c.Yb = c.gP || b + c.gc < a && (c.gc = a) + c.Yb > b && (c.Yb = b) + }, + setMinZoom: function(a) { + a = Math.round(a) + a > this.K.Yb && (a = this.K.Yb) + this.K.hP = a + this.HJ() + }, + setMaxZoom: function(a) { + a = Math.round(a) + a < this.K.gc && (a = this.K.gc) + this.K.gP = a + this.HJ() + }, + HJ: function() { + this.bv() + var a = this.K + this.Oa < a.gc ? this.Qc(a.gc) : this.Oa > a.Yb && this.Qc(a.Yb) + var b = new P('onzoomspanchange') + b.gc = a.gc + b.Yb = a.Yb + this.dispatchEvent(b) + }, + Q3: w('WB'), + getKey: function() { + return qa + }, + Zt: function(a) { + var b = this + window.MPC_Mgr && window.MPC_Mgr[b.aa] && window.MPC_Mgr[b.aa].close() + b.K.fj = t + B.Fn('cus.fire', 'count', 'z_setmapstylecount') + if (a) { + b = this + a.styleJson && (a.styleStr = b.Z_(a.styleJson)) + H() && z.ca.Iy ? setTimeout(function() { + b.K.ye = a + b.dispatchEvent(new P('onsetcustomstyles',a)) + }, 50) : (this.K.ye = a, + this.dispatchEvent(new P('onsetcustomstyles',a)), + this.sM(b.K.ye.geotableId)) + var c = { + style: a.style + } + a.features && 0 < a.features.length && (c.features = q) + a.styleJson && 0 < a.styleJson.length && (c.styleJson = q) + Ra(5050, c) + a.style && (c = b.K.fm[a.style] ? b.K.fm[a.style].backColor : b.K.fm.normal.backColor) && (this.La().style.backgroundColor = c) + } + }, + LY: function(a) { + this.controls || (this.controls = { + navigationControl: new jb, + scaleControl: new kb, + overviewMapControl: new lb, + mapTypeControl: new mb + }) + var b = this, c + for (c in this.controls) + b.VN(b.controls[c]) + a = a || [] + z.mc.Fb(a, function(a) { + b.Aw(b.controls[a]) + }) + }, + sM: function(a) { + a ? this.vs && this.vs.Cf === a || (this.Yf(this.vs), + this.vs = new nb({ + geotableId: a + }), + this.Oe(this.vs)) : this.Yf(this.vs) + }, + Sb: function() { + var a = this.fa() >= this.K.fG && this.oa() === La && 18 >= this.fa() + , b = t + try { + document.createElement('canvas').getContext('2d'), + b = q + } catch (c) { + b = t + } + return a && b + }, + getCurrentCity: function() { + return { + name: this.$g, + code: this.fs + } + }, + tm: function() { + this.P.co() + return this.P + }, + PY: function(a) { + B.alog('cus.fire', 'count', 'z_loadindoormapcount') + La.setMaxZoom(a.maxZoom || 19) + var b = new P('oninitindoorlayer') + b.vf = a + this.dispatchEvent(b) + this.K.Ms = t + }, + D_: function(a) { + this.K.qN = a + this.Va.Jb.parentElement.style.display = a ? 'block' : 'none' + }, + setPanorama: function(a) { + this.P = a + this.P.GF(this) + }, + Z_: function(a) { + for (var b = { + featureType: 't', + elementType: 'e', + visibility: 'v', + color: 'c', + lightness: 'l', + saturation: 's', + weight: 'w', + zoom: 'z', + hue: 'h' + }, c = { + all: 'all', + geometry: 'g', + 'geometry.fill': 'g.f', + 'geometry.stroke': 'g.s', + labels: 'l', + 'labels.text.fill': 'l.t.f', + 'labels.text.stroke': 'l.t.s', + 'lables.text': 'l.t', + 'labels.icon': 'l.i' + }, e = [], f = 0, g; g = a[f]; f++) { + var i = g.stylers + delete g.stylers + z.extend(g, i) + var i = [], k + for (k in b) + if (g[k]) + if ('elementType' === k) + i.push(b[k] + ':' + c[g[k]]) + else { + switch (g[k]) { + case 'poilabel': + g[k] = 'poi' + break + case 'districtlabel': + g[k] = 'label' + } + i.push(b[k] + ':' + g[k]) + } + 2 < i.length && e.push(i.join('|')) + } + return e.join(',') + } + }) + function Ra(a, b) { + if (a) { + var b = b || {}, c = '', e + for (e in b) + c = c + '&' + e + '=' + encodeURIComponent(b[e]) + var f = function(a) { + a && (ob = q, + setTimeout(function() { + pb.src = B.Wc + 'images/blank.gif?' + a.src + }, 50)) + } + , g = function() { + var a = qb.shift() + a && f(a) + } + e = (1E8 * Math.random()).toFixed(0) + ob ? qb.push({ + src: 'product=jsapi&sub_product=jsapi&v=' + B.version + '&sub_product_v=' + B.version + '&t=' + e + '&code=' + a + '&da_src=' + a + c + }) : f({ + src: 'product=jsapi&sub_product=jsapi&v=' + B.version + '&sub_product_v=' + B.version + '&t=' + e + '&code=' + a + '&da_src=' + a + c + }) + rb || (z.M(pb, 'load', function() { + ob = t + g() + }), + z.M(pb, 'error', function() { + ob = t + g() + }), + rb = q) + } + } + var ob, rb, qb = [], pb = new Image + Ra(5E3, { + device_pixel_ratio: window.devicePixelRatio, + platform: navigator.platform + }) + B.mM = { + TILE_BASE_URLS: ['gss0.bdstatic.com/5bwHcj7lABFU8t_jkk_Z1zRvfdw6buu', 'gss0.bdstatic.com/5bwHcj7lABFV8t_jkk_Z1zRvfdw6buu', 'gss0.bdstatic.com/5bwHcj7lABFS8t_jkk_Z1zRvfdw6buu', 'gss0.bdstatic.com/5bwHcj7lABFT8t_jkk_Z1zRvfdw6buu', 'gss0.bdstatic.com/5bwHcj7lABFY8t_jkk_Z1zRvfdw6buu'], + TILE_ONLINE_URLS: ['gss0.bdstatic.com/8bo_dTSlR1gBo1vgoIiO_jowehsv', 'gss0.bdstatic.com/8bo_dTSlRMgBo1vgoIiO_jowehsv', 'gss0.bdstatic.com/8bo_dTSlRcgBo1vgoIiO_jowehsv', 'gss0.bdstatic.com/8bo_dTSlRsgBo1vgoIiO_jowehsv', 'gss0.bdstatic.com/8bo_dTSlQ1gBo1vgoIiO_jowehsv'], + TIlE_PERSPECT_URLS: ['gss0.bdstatic.com/-OR1cTe9KgQFm2e88IuM_a', 'gss0.bdstatic.com/-ON1cTe9KgQFm2e88IuM_a', 'gss0.bdstatic.com/-OZ1cTe9KgQFm2e88IuM_a', 'gss0.bdstatic.com/-OV1cTe9KgQFm2e88IuM_a'], + geolocControl: 'gsp0.baidu.com/8LkJsjOpB1gCo2Kml5_Y_D3', + TILES_YUN_HOST: ['gsp0.baidu.com/-eR1bSahKgkFkRGko9WTAnF6hhy', 'gsp0.baidu.com/-eN1bSahKgkFkRGko9WTAnF6hhy', 'gsp0.baidu.com/-eZ1bSahKgkFkRGko9WTAnF6hhy', 'gsp0.baidu.com/-eV1bSahKgkFkRGko9WTAnF6hhy'], + traffic: 'gsp0.baidu.com/7_AZsjOpB1gCo2Kml5_Y_DAcsMJiwa', + iw_pano: 'gss0.bdstatic.com/5LUZemba_QUU8t7mm9GUKT-xh_', + message: 'gsp0.baidu.com/7vo0bSba2gU2pMbgoY3K', + baidumap: 'gsp0.baidu.com/80MWsjip0QIZ8tyhnq', + wuxian: 'gsp0.baidu.com/6a1OdTeaKgQFm2e88IuM_a', + pano: ['gss0.bdstatic.com/5LUZemba_QUU8t7mm9GUKT-xh_', 'gss0.bdstatic.com/5LUZemfa_QUU8t7mm9GUKT-xh_', 'gss0.bdstatic.com/5LUZemja_QUU8t7mm9GUKT-xh_'], + main_domain_nocdn: { + baidu: 'gsp0.baidu.com/9_Q4sjOpB1gCo2Kml5_Y_D3', + other: 'api.map.baidu.com' + }, + main_domain_cdn: { + baidu: ['gss0.bdstatic.com/9_Q4vHSd2RZ3otebn9fN2DJv', 'gss0.baidu.com/9_Q4vXSd2RZ3otebn9fN2DJv', 'gss0.bdstatic.com/9_Q4vnSd2RZ3otebn9fN2DJv'], + other: ['api.map.baidu.com'], + webmap: ['gss0.baidu.com/6b1IcTe9R1gBo1vgoIiO_jowehsv'] + }, + map_click: 'gsp0.baidu.com/80MWbzKh2wt3n2qy8IqW0jdnxx1xbK', + vector_traffic: 'gss0.bdstatic.com/8aZ1cTe9KgQIm2_p8IuM_a' + } + B.DY = { + TILE_BASE_URLS: ['shangetu0.map.bdimg.com', 'shangetu1.map.bdimg.com', 'shangetu2.map.bdimg.com', 'shangetu3.map.bdimg.com', 'shangetu4.map.bdimg.com'], + TILE_ONLINE_URLS: ['online0.map.bdimg.com', 'online1.map.bdimg.com', 'online2.map.bdimg.com', 'online3.map.bdimg.com', 'online4.map.bdimg.com'], + TIlE_PERSPECT_URLS: ['d0.map.baidu.com', 'd1.map.baidu.com', 'd2.map.baidu.com', 'd3.map.baidu.com'], + geolocControl: 'loc.map.baidu.com', + TILES_YUN_HOST: ['g0.api.map.baidu.com', 'g1.api.map.baidu.com', 'g2.api.map.baidu.com', 'g3.api.map.baidu.com'], + traffic: 'its.map.baidu.com:8002', + iw_pano: 'pcsv0.map.bdimg.com', + message: 'j.map.baidu.com', + baidumap: 'map.baidu.com', + wuxian: 'wuxian.baidu.com', + pano: ['pcsv0.map.bdimg.com', 'pcsv1.map.bdimg.com', 'pcsv2.map.bdimg.com'], + main_domain_nocdn: { + baidu: 'api.map.baidu.com' + }, + main_domain_cdn: { + baidu: ['api0.map.bdimg.com', 'api1.map.bdimg.com', 'api2.map.bdimg.com'], + webmap: ['webmap0.map.bdimg.com'] + }, + map_click: 'mapclick.map.baidu.com', + vector_traffic: 'or.map.bdimg.com' + } + B.F0 = { + '0': { + proto: 'http://', + domain: B.DY + }, + 1: { + proto: 'https://', + domain: B.mM + }, + 2: { + proto: 'https://', + domain: B.mM + } + } + window.BMAP_PROTOCOL && 'https' === window.BMAP_PROTOCOL && (window.HOST_TYPE = 2) + B.xu = window.HOST_TYPE || '0' + B.url = B.F0[B.xu] + B.vp = B.url.proto + B.url.domain.baidumap + '/' + //B.vp =bmapcfg.home; //修改,本地工具资源引用(离线路径) + B.Wc = B.url.proto + ('2' == B.xu ? B.url.domain.main_domain_nocdn.other : B.url.domain.main_domain_nocdn.baidu) + '/' + //B.Wc =bmapcfg.home; //修改,本地工具资源引用(离线路径) + //B.ka=B.url.proto+("2"==B.xu?B.url.domain.main_domain_cdn.other[0]:B.url.domain.main_domain_cdn.baidu[0])+"/"; + B.ka = bmapcfg.home //修改,本地工具资源引用(离线路径) + B.Yi = B.url.proto + B.url.domain.main_domain_cdn.webmap[0] + '/' + //B.Yi =bmapcfg.home; //修改,本地工具资源引用(离线路径) + B.vg = function(a, b) { + var c, e, b = b || '' + switch (a) { + case 'main_domain_nocdn': + c = B.Wc + b + break + case 'main_domain_cdn': + c = B.ka + b + break + default: + e = B.url.domain[a], + '[object Array]' == Object.prototype.toString.call(e) ? (c = [], + z.mc.Fb(e, function(a, e) { + c[e] = B.url.proto + a + '/' + b + })) : c = B.url.proto + B.url.domain[a] + '/' + b + } + return c + } + + function tb(a) { + var b = { + duration: 1E3, + Ic: 30, + No: 0, + kc: ub.UM, + Kt: u() + } + this.dg = [] + if (a) + for (var c in a) + b[c] = a[c] + this.j = b + if (Wa(b.No)) { + var e = this + setTimeout(function() { + e.start() + }, b.No) + } else + b.No != vb && this.start() + } + var vb = 'INFINITE' + tb.prototype.start = function() { + this.Uu = bb() + this.gA = this.Uu + this.j.duration + wb(this) + } + + tb.prototype.add = function(a) { + this.dg.push(a) + } + + function wb(a) { + var b = bb() + b >= a.gA ? (Xa(a.j.va) && a.j.va(a.j.kc(1)), + Xa(a.j.finish) && a.j.finish(), + 0 < a.dg.length && (b = a.dg[0], + b.dg = [].concat(a.dg.slice(1)), + b.start())) : (a.Jy = a.j.kc((b - a.Uu) / a.j.duration), + Xa(a.j.va) && a.j.va(a.Jy), + a.TF || (a.Yr = setTimeout(function() { + wb(a) + }, 1E3 / a.j.Ic))) + } + tb.prototype.stop = function(a) { + this.TF = q + for (var b = 0; b < this.dg.length; b++) + this.dg[b].stop(), + this.dg[b] = s + this.dg.length = 0 + this.Yr && (clearTimeout(this.Yr), + this.Yr = s) + this.j.Kt(this.Jy) + a && (this.gA = this.Uu, + wb(this)) + } + + tb.prototype.cancel = ga(1) + var ub = { + UM: function(a) { + return a + }, + reverse: function(a) { + return 1 - a + }, + iD: function(a) { + return a * a + }, + hD: function(a) { + return Math.pow(a, 3) + }, + Ks: function(a) { + return -(a * (a - 2)) + }, + eL: function(a) { + return Math.pow(a - 1, 3) + 1 + }, + dL: function(a) { + return 0.5 > a ? 2 * a * a : -2 * (a - 2) * a - 1 + }, + R2: function(a) { + return 0.5 > a ? 4 * Math.pow(a, 3) : 4 * Math.pow(a - 1, 3) + 1 + }, + S2: function(a) { + return (1 - Math.cos(Math.PI * a)) / 2 + } + } + ub['ease-in'] = ub.iD + ub['ease-out'] = ub.Ks + var G = { + oG: 34, + pG: 21, + qG: new O(21,32), + wP: new O(10,32), + vP: new O(24,36), + uP: new O(12,36), + mG: new O(13,1), + qa: B.ka + 'images/', + a4: 'http://api0.map.bdimg.com/images/', + nG: B.ka + 'images/markers_new.png', + sP: 24, + tP: 73, + pC: { + '\u5317\u4eac': { + yy: 'bj', + k: new J(116.403874,39.914889) + }, + '\u4e0a\u6d77': { + yy: 'sh', + k: new J(121.487899,31.249162) + }, + '\u6df1\u5733': { + yy: 'sz', + k: new J(114.025974,22.546054) + }, + '\u5e7f\u5dde': { + yy: 'gz', + k: new J(113.30765,23.120049) + } + }, + fontFamily: 'arial,sans-serif' + } + z.ca.Te ? (z.extend(G, { + TK: 'url(' + G.qa + 'ruler.cur),crosshair', + Vb: '-moz-grab', + Hd: '-moz-grabbing' + }), + z.platform.IM && (G.fontFamily = 'arial,simsun,sans-serif')) : z.ca.Qw || z.ca.Iy ? z.extend(G, { + TK: 'url(' + G.qa + 'ruler.cur) 2 6,crosshair', + Vb: 'url(' + G.qa + 'openhand.cur) 8 8,default', + Hd: 'url(' + G.qa + 'closedhand.cur) 8 8,move' + }) : z.extend(G, { + TK: 'url(' + G.qa + 'ruler.cur),crosshair', + Vb: 'url(' + G.qa + 'openhand.cur),default', + Hd: 'url(' + G.qa + 'closedhand.cur),move' + }) + function xb(a, b) { + var c = a.style + c.left = b[0] + 'px' + c.top = b[1] + 'px' + } + function yb(a) { + 0 < z.ca.ia ? a.unselectable = 'on' : a.style.MozUserSelect = 'none' + } + function zb(a) { + return a && a.parentNode && 11 !== a.parentNode.nodeType + } + function Ab(a, b) { + z.D.Vx(a, 'beforeEnd', b) + return a.lastChild + } + function Bb(a) { + for (var b = { + left: 0, + top: 0 + }; a && a.offsetParent; ) + b.left += a.offsetLeft, + b.top += a.offsetTop, + a = a.offsetParent + return b + } + function ma(a) { + a = window.event || a + a.stopPropagation ? a.stopPropagation() : a.cancelBubble = q + } + function Cb(a) { + a = window.event || a + a.preventDefault ? a.preventDefault() : a.returnValue = t + return t + } + function na(a) { + ma(a) + return Cb(a) + } + function Eb() { + var a = document.documentElement + , b = document.body + return a && (a.scrollTop || a.scrollLeft) ? [a.scrollTop, a.scrollLeft] : b ? [b.scrollTop, b.scrollLeft] : [0, 0] + } + function Fb(a, b) { + if (a && b) + return Math.round(Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2))) + } + function Gb(a, b) { + var c = [], b = b || function(a) { + return a + } + , e + for (e in a) + c.push(e + '=' + b(a[e])) + return c.join('&') + } + function L(a, b, c) { + var e = document.createElement(a) + c && (e = document.createElementNS(c, a)) + return z.D.CF(e, b || {}) + } + function Va(a) { + if (a.currentStyle) + return a.currentStyle + if (a.ownerDocument && a.ownerDocument.defaultView) + return a.ownerDocument.defaultView.getComputedStyle(a, s) + } + function Xa(a) { + return 'function' === typeof a + } + function Wa(a) { + return 'number' === typeof a + } + function $a(a) { + return 'string' == typeof a + } + function Hb(a) { + return 'undefined' != typeof a + } + function Ib(a) { + return 'object' == typeof a + } + var Jb = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' + function Kb(a) { + for (var b = '', c = 0; c < a.length; c++) { + var e = a.charCodeAt(c) << 1 + , f = e = e.toString(2) + 8 > e.length && (f = '00000000' + e, + f = f.substr(e.length, 8)) + b += f + } + a = 5 - b.length % 5 + e = [] + for (c = 0; c < a; c++) + e[c] = '0' + b = e.join('') + b + f = [] + for (c = 0; c < b.length / 5; c++) + e = b.substr(5 * c, 5), + f.push(String.fromCharCode(parseInt(e, 2) + 50)) + return f.join('') + a.toString() + } + function Lb(a) { + var b = '', c, e, f = '', g, i = '', k = 0 + g = /[^A-Za-z0-9\+\/\=]/g + if (!a || g.exec(a)) + return a + a = a.replace(/[^A-Za-z0-9\+\/\=]/g, '') + do + c = Jb.indexOf(a.charAt(k++)), + e = Jb.indexOf(a.charAt(k++)), + g = Jb.indexOf(a.charAt(k++)), + i = Jb.indexOf(a.charAt(k++)), + c = c << 2 | e >> 4, + e = (e & 15) << 4 | g >> 2, + f = (g & 3) << 6 | i, + b += String.fromCharCode(c), + 64 != g && (b += String.fromCharCode(e)), + 64 != i && (b += String.fromCharCode(f)) + while (k < a.length);return b + } + var P = z.lang.Ju + function H() { + return !(!z.platform.zE && !z.platform.XY && !z.platform.Jm) + } + function Ua() { + return !(!z.platform.IM && !z.platform.AM && !z.platform.cZ) + } + function bb() { + return (new Date).getTime() + } + function Mb() { + var a = document.body.appendChild(L('div')) + a.innerHTML = '' + var b = a.firstChild + if (!b.style) + return t + b.style.behavior = 'url(#default#VML)' + b = b ? 'object' === typeof b.adj : q + a.parentNode.removeChild(a) + return b + } + function Nb() { + return !!document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#Shape', '1.1') + } + function Ob() { + return !!L('canvas').getContext + } + function Pb(a) { + return a * Math.PI / 180 + } + B.iZ = function() { + var a = q + , b = q + , c = q + , e = q + , f = 0 + , g = 0 + , i = 0 + , k = 0 + return { + eR: function() { + f += 1 + a && (a = t, + setTimeout(function() { + Ra(5054, { + pic: f + }) + a = q + f = 0 + }, 1E4)) + }, + v1: function() { + g += 1 + b && (b = t, + setTimeout(function() { + Ra(5055, { + move: g + }) + b = q + g = 0 + }, 1E4)) + }, + x1: function() { + i += 1 + c && (c = t, + setTimeout(function() { + Ra(5056, { + zoom: i + }) + c = q + i = 0 + }, 1E4)) + }, + w1: function(a) { + k += a + e && (e = t, + setTimeout(function() { + Ra(5057, { + tile: k + }) + e = q + k = 0 + }, 5E3)) + } + } + }() + B.iq = { + DG: '#83a1ff', + kq: '#808080' + } + function Qb(a, b, c) { + b.Om || (b.Om = [], + b.handle = {}) + b.Om.push({ + filter: c, + nm: a + }) + b.addEventListener || (b.addEventListener = function(a, c) { + b.attachEvent('on' + a, c) + } + ) + b.handle.click || (b.addEventListener('click', function(a) { + for (var c = a.target || a.srcElement; c != b; ) { + Rb(b.Om, function(b, i) { + RegExp(i.filter).test(c.getAttribute('filter')) && i.nm.call(c, a, c.getAttribute('filter')) + }) + c = c.parentNode + } + }, t), + b.handle.click = q) + } + function Rb(a, b) { + for (var c = 0, e = a.length; c < e; c++) + b(c, a[c]) + } + void function(a, b, c) { + void function(a, b, c) { + function i(a) { + if (!a.Mo) { + for (var c = q, e = [], g = a.ZZ, k = 0; g && k < g.length; k++) { + var m = g[k] + , n = pa[m] = pa[m] || {} + if (n.Mo || n == a) + e.push(n.Nc) + else { + c = t + if (!n.DW && (m = (Ma.get('alias') || {})[m] || m + '.js', + !R[m])) { + R[m] = q + var o = b.createElement('script') + , p = b.getElementsByTagName('script')[0] + o.async = q + o.src = m + p.parentNode.insertBefore(o, p) + } + n.bz = n.bz || {} + n.bz[a.name] = a + } + } + if (c) { + a.Mo = q + a.KK && (a.Nc = a.KK.apply(a, e)) + for (var v in a.bz) + i(a.bz[v]) + } + } + } + function k(a) { + return (a || new Date) - F + } + function m(a, b, c) { + if (a) { + 'string' == typeof a && (c = b, + b = a, + a = M) + try { + a == M ? (N[b] = N[b] || [], + N[b].unshift(c)) : a.addEventListener ? a.addEventListener(b, c, t) : a.attachEvent && a.attachEvent('on' + b, c) + } catch (e) {} + } + } + function n(a, b, c) { + if (a) { + 'string' == typeof a && (c = b, + b = a, + a = M) + try { + if (a == M) { + var e = N[b] + if (e) + for (var f = e.length; f--; ) + e[f] === c && e.splice(f, 1) + } else + a.removeEventListener ? a.removeEventListener(b, c, t) : a.detachEvent && a.detachEvent('on' + b, c) + } catch (g) {} + } + } + function o(a) { + var b = N[a] + , c = 0 + if (b) { + for (var e = [], f = arguments, g = 1; g < f.length; g++) + e.push(f[g]) + for (g = b.length; g--; ) + b[g].apply(this, e) && c++ + return c + } + } + function p(a, b) { + if (a && b) { + var c = new Image(1,1), e = [], f = 'img_' + +new Date, g + for (g in b) + b[g] && e.push(g + '=' + encodeURIComponent(b[g])) + M[f] = c + c.onload = c.onerror = function() { + M[f] = c = c.onload = c.onerror = s + delete M[f] + } + + c.src = a + '?' + e.join('&') + } + } + function v() { + var a = arguments + , b = a[0] + if (this.JK || /^(on|un|set|get|create)$/.test(b)) { + for (var b = y.prototype[b], c = [], e = 1, f = a.length; e < f; e++) + c.push(a[e]) + 'function' == typeof b && b.apply(this, c) + } else + this.iK.push(a) + } + function x(a, b) { + var c = {}, e + for (e in a) + a.hasOwnProperty(e) && (c[e] = a[e]) + for (e in b) + b.hasOwnProperty(e) && (c[e] = b[e]) + return c + } + function y(a) { + this.name = a + this.Ps = { + protocolParameter: { + postUrl: s, + protocolParameter: s + } + } + this.iK = [] + this.alog = M + } + function A(a) { + a = a || 'default' + if ('*' == a) { + var a = [], b + for (b in fa) + a.push(fa[b]) + return a + } + (b = fa[a]) || (b = fa[a] = new y(a)) + return b + } + var E = c.alog + if (!E || !E.Mo) { + var C = b.all && a.attachEvent + , F = E && E.IE || +new Date + , D = a.o4 || (+new Date).toString(36) + Math.random().toString(36).substr(2, 3) + , I = 0 + , R = {} + , M = function(a) { + var b = arguments, c, e, f, g + if ('define' == a || 'require' == a) { + for (e = 1; e < b.length; e++) + switch (typeof b[e]) { + case 'string': + c = b[e] + break + case 'object': + f = b[e] + break + case 'function': + g = b[e] + } + 'require' == a && (c && !f && (f = [c]), + c = s) + c = !c ? '#' + I++ : c + e = pa[c] = pa[c] || {} + e.Mo || (e.name = c, + e.ZZ = f, + e.KK = g, + 'define' == a && (e.DW = q), + i(e)) + } else + 'function' == typeof a ? a(M) : ('' + a).replace(/^(?:([\w$_]+)\.)?(\w+)$/, function(a, c, e) { + b[0] = e + v.apply(M.bG(c), b) + }) + } + , N = {} + , fa = {} + , pa = { + i2: { + name: 'alog', + Mo: q, + Nc: M + } + } + y.prototype.start = y.prototype.create = function(a) { + if (!this.JK) { + 'object' == typeof a && this.set(a) + this.JK = new Date + for (this.Qs('create', this); a = this.iK.shift(); ) + v.apply(this, a) + } + } + + y.prototype.send = function(a, b) { + var c = x({ + ts: k().toString(36), + t: a, + sid: D + }, this.Ps) + if ('object' == typeof b) + c = x(c, b) + else { + var e = arguments + switch (a) { + case 'pageview': + e[1] && (c.page = e[1]) + e[2] && (c.title = e[2]) + break + case 'event': + e[1] && (c.eventCategory = e[1]) + e[2] && (c.eventAction = e[2]) + e[3] && (c.eventLabel = e[3]) + e[4] && (c.eventValue = e[4]) + break + case 'timing': + e[1] && (c.timingCategory = e[1]) + e[2] && (c.timingVar = e[2]) + e[3] && (c.timingValue = e[3]) + e[4] && (c.timingLabel = e[4]) + break + case 'exception': + e[1] && (c.exDescription = e[1]) + e[2] && (c.exFatal = e[2]) + break + default: + return + } + } + this.Qs('send', c) + var f + if (e = this.Ps.protocolParameter) { + var g = {} + for (f in c) + e[f] !== s && (g[e[f] || f] = c[f]) + f = g + } else + f = c + p(this.Ps.postUrl, f) + } + + y.prototype.set = function(a, b) { + if ('string' == typeof a) + 'protocolParameter' == a && (b = x({ + postUrl: s, + protocolParameter: s + }, b)), + this.Ps[a] = b + else if ('object' == typeof a) + for (var c in a) + this.set(c, a[c]) + } + + y.prototype.get = function(a, b) { + var c = this.Ps[a] + 'function' == typeof b && b(c) + return c + } + + y.prototype.Qs = function(a, b) { + return M.Qs(this.name + '.' + a, b) + } + + y.prototype.M = function(a, b) { + M.M(this.name + '.' + a, b) + } + + y.prototype.ed = function(a, b) { + M.ed(this.name + '.' + a, b) + } + + M.name = 'alog' + M.BO = D + M.Mo = q + M.timestamp = k + M.ed = n + M.M = m + M.Qs = o + M.bG = A + M('init') + var wa = y.prototype + T(wa, { + start: wa.start, + create: wa.create, + send: wa.send, + set: wa.set, + get: wa.get, + on: wa.M, + un: wa.ed, + fire: wa.Qs + }) + var Ma = A() + Ma.set('protocolParameter', { + h2: s + }) + if (E) { + wa = [].concat(E.wb || [], E.Wm || []) + E.wb = E.Wm = s + for (var sb in M) + M.hasOwnProperty(sb) && (E[sb] = M[sb]) + M.wb = M.Wm = { + push: function(a) { + M.apply(M, a) + } + } + for (E = 0; E < wa.length; E++) + M.apply(M, wa[E]) + } + c.alog = M + C && m(b, 'mouseup', function(a) { + a = a.target || a.srcElement + 1 == a.nodeType && /^ajavascript:/i.test(a.tagName + a.href) + }) + var Za = t + a.onerror = function(a, b, e, f) { + var i = q + !b && /^script error/i.test(a) && (Za ? i = t : Za = q) + i && c.alog('exception.send', 'exception', { + Ht: a, + HE: b, + Dt: e, + hs: f + }) + return t + } + + c.alog('exception.on', 'catch', function(a) { + c.alog('exception.send', 'exception', { + Ht: a.Ht, + HE: a.path, + Dt: a.Dt, + method: a.method, + rL: 'catch' + }) + }) + } + }(a, b, c) + void function(a, b, c) { + var i = '18_3' + H() && (i = '18_4') + var k = 'http://static.tieba.baidu.com' + 'https:' === a.location.protocol && (k = 'https://gsp0.baidu.com/5aAHeD3nKhI2p27j8IqW0jdnxx1xbK') + var m = Math.random + , k = k + '/tb/pms/img/st.gif' + , n = { + wh: '0.1' + } + , o = { + wh: '0.1' + } + , p = { + wh: '0.1' + } + , v = { + wh: '0' + } + if (n && n.wh && m() < n.wh) { + var x = c.alog.bG('monkey'), y, n = a.screen, A = b.referrer + x.set('ver', 5) + x.set('pid', 241) + n && x.set('px', n.width + '*' + n.height) + x.set('ref', A) + c.alog('monkey.on', 'create', function() { + y = c.alog.timestamp + x.set('protocolParameter', { + reports: s + }) + }) + c.alog('monkey.on', 'send', function(a) { + 'pageview' == a.t && (a.cmd = 'open') + a.now && (a.ts = y(a.now).toString(36), + a.now = '') + }) + c.alog('monkey.create', { + page: i, + pid: '241', + p: '18', + dv: 6, + postUrl: k, + reports: { + refer: 1 + } + }) + c.alog('monkey.send', 'pageview', { + now: +new Date + }) + } + if (o && o.wh && m() < o.wh) { + var E = t + a.onerror = function(a, b, e, f) { + var i = q + !b && /^script error/i.test(a) && (E ? i = t : E = q) + i && c.alog('exception.send', 'exception', { + Ht: a, + HE: b, + Dt: e, + hs: f + }) + return t + } + + c.alog('exception.on', 'catch', function(a) { + c.alog('exception.send', 'exception', { + Ht: a.Ht, + HE: a.path, + Dt: a.Dt, + method: a.method, + rL: 'catch' + }) + }) + c.alog('exception.create', { + postUrl: k, + dv: 7, + page: i, + pid: '170', + p: '18' + }) + } + p && (p.wh && m() < p.wh) && (c.alog('cus.on', 'time', function(a) { + var b = {}, e = t, f + if ('[object Object]' === a.toString()) { + for (var i in a) + 'page' == i ? b.page = a[i] : (f = parseInt(a[i]), + 0 < f && /^z_/.test(i) && (e = q, + b[i] = f)) + e && c.alog('cus.send', 'time', b) + } + }), + c.alog('cus.on', 'count', function(a) { + var b = {} + , e = t + 'string' === typeof a && (a = [a]) + if (a instanceof Array) + for (var f = 0; f < a.length; f++) + /^z_/.test(a[f]) ? (e = q, + b[a[f]] = 1) : /^page:/.test(a[f]) && (b.page = a[f].substring(5)) + e && c.alog('cus.send', 'count', b) + }), + c.alog('cus.create', { + dv: 3, + postUrl: k, + page: i, + p: '18' + })) + if (v && v.wh && m() < v.wh) { + var C = ['Moz', 'O', 'ms', 'Webkit'] + , F = ['-webkit-', '-moz-', '-o-', '-ms-'] + , D = function() { + return typeof b.createElement !== 'function' ? b.createElement(arguments[0]) : b.createElement.apply(b, arguments) + } + , I = D('dpFeatureTest').style + , R = function(a) { + return M(a, l, l) + } + , M = function(a, b, c) { + var e = a.charAt(0).toUpperCase() + a.slice(1) + , f = (a + ' ' + C.join(e + ' ') + e).split(' ') + if (typeof b === 'string' || typeof b === 'undefined') + return N(f, b) + f = (a + ' ' + C.join(e + ' ') + e).split(' ') + a: { + var a = f, g + for (g in a) + if (a[g]in b) { + if (c === t) { + b = a[g] + break a + } + g = b[a[g]] + b = typeof g === 'function' ? fnBind(g, c || b) : g + break a + } + b = t + } + return b + } + , N = function(a, b) { + var c, e, f + e = a.length + for (c = 0; c < e; c++) { + f = a[c] + ~('' + f).indexOf('-') && (f = fa(f)) + if (I[f] !== l) + return b == 'pfx' ? f : q + } + return t + } + , fa = function(a) { + return a.replace(/([a-z])-([a-z])/g, function(a, b, c) { + return b + c.toUpperCase() + }).replace(/^-/, '') + } + , pa = function(a, b, c) { + if (a.indexOf('@') === 0) + return atRule(a) + a.indexOf('-') != -1 && (a = fa(a)) + return !b ? M(a, 'pfx') : M(a, b, c) + } + , wa = function() { + var a = D('canvas') + return !(!a.getContext || !a.getContext('2d')) + } + , Ma = function() { + var a = D('div') + return 'draggable'in a || 'ondragstart'in a && 'ondrop'in a + } + , sb = function() { + try { + localStorage.setItem('localStorage', 'localStorage') + localStorage.removeItem('localStorage') + return q + } catch (a) { + return t + } + } + , Za = function() { + return 'content'in b.createElement('template') + } + , Pa = function() { + return 'createShadowRoot'in b.createElement('a') + } + , oi = function() { + return 'registerElement'in b + } + , pi = function() { + return 'import'in b.createElement('link') + } + , qi = function() { + return 'getItems'in b + } + , ri = function() { + return 'EventSource'in window + } + , re = function(a, b) { + var c = new Image + c.onload = function() { + b(a, c.width > 0 && c.height > 0) + } + + c.onerror = function() { + b(a, t) + } + + c.src = 'data:image/webp;base64,' + { + r4: 'UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA', + q4: 'UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==', + alpha: 'UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA==', + kk: 'UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA' + }[a] + } + , se = function(a, b) { + return Tb.ei['WebP-' + a] = b + } + , si = function() { + return 'openDatabase'in a + } + , ti = function() { + return 'performance'in a && 'timing'in a.performance + } + , ui = function() { + return 'performance'in a && 'mark'in a.performance + } + , vi = function() { + return !(!Array.prototype || !Array.prototype.every || !Array.prototype.filter || !Array.prototype.forEach || !Array.prototype.indexOf || !Array.prototype.lastIndexOf || !Array.prototype.map || !Array.prototype.some || !Array.prototype.reduce || !Array.prototype.reduceRight || !Array.isArray) + } + , wi = function() { + return 'Promise'in a && 'cast'in a.lq && 'resolve'in a.lq && 'reject'in a.lq && 'all'in a.lq && 'race'in a.lq && function() { + var b + new a.lq(function(a) { + b = a + } + ) + return typeof b === 'function' + }() + } + , xi = function() { + var b = !!a.i1 + , c = a.XMLHttpRequest && 'withCredentials'in new XMLHttpRequest + return !!a.l1 && b && c + } + , yi = function() { + return 'geolocation'in navigator + } + , zi = function() { + var b = D('canvas') + , c = 'probablySupportsContext'in b ? 'probablySupportsContext' : 'supportsContext' + return c in b ? b[c]('webgl') || b[c]('experimental-webgl') : 'WebGLRenderingContext'in a + } + , Ai = function() { + return !!b.createElementNS && !!b.createElementNS('http://www.w3.org/2000/svg', 'svg').A2 + } + , Bi = function() { + return !!a.s1 + } + , Ci = function() { + return 'WebSocket'in a && a.p1.f1 === 2 + } + , Di = function() { + return !!b.createElement('video').canPlayType + } + , Ei = function() { + return !!b.createElement('audio').canPlayType + } + , Fi = function() { + return !!(a.history && 'pushState'in a.history) + } + , Gi = function() { + return !(!a.g1 || !a.h1) + } + , Hi = function() { + return 'postMessage'in window + } + , Ii = function() { + return !!a.webkitNotifications || 'Notification'in a && 'permission'in a.PP && 'requestPermission'in a.PP + } + , Ji = function() { + for (var b = ['webkit', 'moz', 'o', 'ms'], c = a.requestAnimationFrame, f = 0; f < b.length && !c; ++f) + c = a[b[f] + 'RequestAnimationFrame'] + return !!c + } + , Ki = function() { + return 'JSON'in a && 'parse'in JSON && 'stringify'in JSON + } + , Li = function() { + return !(!pa('exitFullscreen', b, t) && !pa('cancelFullScreen', b, t)) + } + , Mi = function() { + return !!pa('Intl', a) + } + , Ni = function() { + return R('flexBasis') + } + , Oi = function() { + return !!R('perspective') + } + , Pi = function() { + return R('shapeOutside') + } + , Qi = function() { + var a = D('div') + a.style.cssText = F.join('filter:blur(2px); ') + return !!a.style.length && (b.documentMode === l || b.documentMode > 9) + } + , Ri = function() { + return 'XMLHttpRequest'in a && 'withCredentials'in new XMLHttpRequest + } + , Si = function() { + return D('progress').max !== l + } + , Ti = function() { + return D('meter').max !== l + } + , Ui = function() { + return 'sendBeacon'in navigator + } + , Vi = function() { + return R('borderRadius') + } + , Wi = function() { + return R('boxShadow') + } + , Xi = function() { + var a = D('div').style + a.cssText = F.join('opacity:.55;') + return /^0.55$/.test(a.opacity) + } + , Yi = function() { + return N(['textShadow'], l) + } + , Zi = function() { + return R('animationName') + } + , $i = function() { + return R('transition') + } + , aj = function() { + return navigator.userAgent.indexOf('Android 2.') === -1 && R('transform') + } + , Tb = { + ei: {}, + pa: function(a, b, c) { + this.ei[a] = b.apply(this, [].slice.call(arguments, 2)) + }, + Ed: function(a, b) { + a.apply(this, [].slice.call(arguments, 1)) + }, + f_: function() { + this.pa('bdrs', Vi) + this.pa('bxsd', Wi) + this.pa('opat', Xi) + this.pa('txsd', Yi) + this.pa('anim', Zi) + this.pa('trsi', $i) + this.pa('trfm', aj) + this.pa('flex', Ni) + this.pa('3dtr', Oi) + this.pa('shpe', Pi) + this.pa('fltr', Qi) + this.pa('cavs', wa) + this.pa('dgdp', Ma) + this.pa('locs', sb) + this.pa('wctem', Za) + this.pa('wcsdd', Pa) + this.pa('wccse', oi) + this.pa('wchti', pi) + this.Ed(re, 'lossy', se) + this.Ed(re, 'lossless', se) + this.Ed(re, 'alpha', se) + this.Ed(re, 'animation', se) + this.pa('wsql', si) + this.pa('natm', ti) + this.pa('ustm', ui) + this.pa('arra', vi) + this.pa('prms', wi) + this.pa('xhr2', xi) + this.pa('wbgl', zi) + this.pa('geol', yi) + this.pa('svg', Ai) + this.pa('work', Bi) + this.pa('wbsk', Ci) + this.pa('vido', Di) + this.pa('audo', Ei) + this.pa('hsty', Fi) + this.pa('file', Gi) + this.pa('psmg', Hi) + this.pa('wknf', Ii) + this.pa('rqaf', Ji) + this.pa('json', Ki) + this.pa('flsc', Li) + this.pa('i18n', Mi) + this.pa('cors', Ri) + this.pa('prog', Si) + this.pa('metr', Ti) + this.pa('becn', Ui) + this.pa('mcrd', qi) + this.pa('esrc', ri) + } + } + , x = c.alog.bG('feature') + x.M('commit', function() { + Tb.f_() + var a = setInterval(function() { + if ('WebP-lossy'in Tb.ei && 'WebP-lossless'in Tb.ei && 'WebP-alpha'in Tb.ei && 'WebP-animation'in Tb.ei) { + for (var b in Tb.ei) + Tb.ei[b] = Tb.ei[b] ? 'y' : 'n' + x.send('feature', Tb.ei) + clearInterval(a) + } + }, 500) + }) + c.alog('feature.create', { + P2: 4, + R4: k, + page: i, + wb: '18' + }) + c.alog('feature.fire', 'commit') + } + }(a, b, c) + }(window, document, B) + B.Fn = B.alog || u() + B.alog('cus.fire', 'count', 'z_loadscriptcount') + 'https:' === location.protocol && B.alog('cus.fire', 'count', 'z_httpscount') + function Sb(a) { + var b = window.TILE_VERSION + , c = '20170927' + b && b.ditu && (b = b.ditu, + b[a] && b[a].updateDate && (c = b[a].updateDate)) + return c + } + ;function oa(a, b) { + if (/^http/.test(a)) return//修改 屏蔽ak验证,若调用外部资源直接返回 + + if (b) { + var c = (1E5 * Math.random()).toFixed(0) + B._rd['_cbk' + c] = function(a) { + b && b(a) + delete B._rd['_cbk' + c] + } + + a += '&callback=BMap._rd._cbk' + c + } + var e = L('script', { + type: 'text/javascript' + }) + e.charset = 'utf-8' + e.src = a + e.addEventListener ? e.addEventListener('load', function(a) { + a = a.target + a.parentNode.removeChild(a) + }, t) : e.attachEvent && e.attachEvent('onreadystatechange', function() { + var a = window.event.srcElement + a && ('loaded' == a.readyState || 'complete' == a.readyState) && a.parentNode.removeChild(a) + }) + setTimeout(function() { + document.getElementsByTagName('head')[0].appendChild(e) + e = s + }, 1) + } + ;var Ub = { //修改,这里是所有的模块,用到时自动加载(在线),离线的话要先下载下来放到本地,如http://api0.map.bdimg.com/getmodules?v=3.0&mod=模块1,模块2 + //模块命名格式是map_dbwcej,直接拼接起来 + map: 'dbwcej', + common: 'wkrfcz', + style: 'fkofpc', + tile: 'ok3b3m', + vectordrawlib: '4pdipq', + newvectordrawlib: 'wbnuee', + groundoverlay: 'ekozhc', + pointcollection: 'feabuc', + marker: '00uyqy', + symbol: 'cq3a5n', + canvablepath: 'dia5aw', + vmlcontext: 'phwtog', + markeranimation: 'rfnmxu', + poly: 'r52vuo', + draw: 'jb4osz', + drawbysvg: 'vxyn51', + drawbyvml: 'whxmqq', + drawbycanvas: 'ufwkvb', + infowindow: 'wtflsn', + oppc: '10riq5', + opmb: '2c1ejz', + menu: '152mop', + control: 'hlzh1t', + navictrl: 'h32mnb', + geoctrl: 'xprajs', + copyrightctrl: 'gmc2ps', + citylistcontrol: 'ms3ahy', + scommon: 'oadc3d', + local: 'k0pcpi', + route: 'v4yyam', + othersearch: 'pwg4ey', + mapclick: 'e40viw', + buslinesearch: 'vxmb31', + hotspot: 'vuwxs4', + autocomplete: 'punr3o', + coordtrans: 'lmf5kv', + coordtransutils: 'd33qf1', + convertor: 'd0ze2w', + clayer: '0hwrfx', + pservice: 'j5tlrp', + pcommon: 'yqek4k', + panorama: 'jbqj24', + panoramaflash: 'dm4xq2', + vector: '2hrruc' + } + z.Wy = function() { + function a(a) { + return e && !!c[b + a + '_' + Ub[a]] + } + var b = 'BMap_' + , c = window.localStorage + , e = 'localStorage'in window && c !== s && c !== l + return { + ZY: e, + set: function(a, g) { + if (e) { + for (var i = b + a + '_', k = c.length, m; k--; ) + m = c.key(k), + -1 < m.indexOf(i) && c.removeItem(m) + try { + c.setItem(b + a + '_' + Ub[a], g) + } catch (n) { + c.clear() + } + } + }, + get: function(f) { + return e && a(f) ? c.getItem(b + f + '_' + Ub[f]) : t + }, + uK: a + } + }() + function K() {} + z.object.extend(K, { + Cj: { + EG: -1, + cQ: 0, + cq: 1 + }, + GL: function() { + var a = 'canvablepath' + , b = B.gV ? 'newvectordrawlib' : 'vectordrawlib' + if (!H() || !Ob()) + Nb() || (Mb() ? a = 'vmlcontext' : Ob()) + return { + tile: [b, 'style'], + control: [], + marker: ['symbol'], + symbol: ['canvablepath', 'common'], + canvablepath: 'canvablepath' === a ? [] : [a], + vmlcontext: [], + style: [], + poly: ['marker', 'drawbycanvas', 'drawbysvg', 'drawbyvml'], + drawbysvg: ['draw'], + drawbyvml: ['draw'], + drawbycanvas: ['draw'], + infowindow: ['common', 'marker'], + menu: [], + oppc: [], + opmb: [], + scommon: [], + local: ['scommon'], + route: ['scommon'], + othersearch: ['scommon'], + autocomplete: ['scommon'], + citylistcontrol: ['autocomplete'], + mapclick: ['scommon'], + buslinesearch: ['route'], + hotspot: [], + coordtransutils: ['coordtrans'], + convertor: [], + clayer: ['tile'], + pservice: [], + pcommon: ['style', 'pservice'], + panorama: ['pcommon'], + panoramaflash: ['pcommon'] + } + }, + U4: {}, + wG: { + tQ: B.ka + 'getmodules?v=3.0', + WU: 5E3 + }, + MC: t, + Rd: { + xl: {}, + Hn: [], + cw: [] + }, + load: function(a, b, c) { + var e = this.kb(a) + if (e.Me == this.Cj.cq) + c && b() + else { + if (e.Me == this.Cj.EG) { + this.AK(a) + this.SN(a) + var f = this + f.MC == t && (f.MC = q, + setTimeout(function() { + for (var a = [], b = 0, c = f.Rd.Hn.length; b < c; b++) { + var e = f.Rd.Hn[b] + , n = '' + ia.Wy.uK(e) ? n = ia.Wy.get(e) : (n = '', + a.push(e + '_' + Ub[e])) + f.Rd.cw.push({ + jN: e, + ZE: n + }) + } + f.MC = t + f.Rd.Hn.length = 0 + //0 == a.length ? f.kL() : oa(f.wG.tQ + "&mod=" + a.join(",")) + // 修改 加载本地模块文件,在 modules 目录下 + console.log(a) //打印所需模块 + if( a.length > 0 ){ + for(i=0; i") + this.Qa == t && z.D.U(this.C) + return this.C + }, + Nr: function() { + this.uc(this.j.anchor) + }, + uc: function(a) { + if (this.j2 || !Wa(a) || isNaN(a) || a < Wb || 3 < a) + a = this.defaultAnchor + this.j = this.j || { + Cg: t + } + this.j.za = this.j.za || this.defaultOffset + var b = this.j.anchor + this.j.anchor = a + if (this.C) { + var c = this.C + , e = this.j.za.width + , f = this.j.za.height + c.style.left = c.style.top = c.style.right = c.style.bottom = 'auto' + switch (a) { + case Wb: + c.style.top = f + 'px' + c.style.left = e + 'px' + break + case Xb: + c.style.top = f + 'px' + c.style.right = e + 'px' + break + case Yb: + c.style.bottom = f + 'px' + c.style.left = e + 'px' + break + case 3: + c.style.bottom = f + 'px', + c.style.right = e + 'px' + } + c = ['TL', 'TR', 'BL', 'BR'] + z.D.Pb(this.C, 'anchor' + c[b]) + z.D.Ua(this.C, 'anchor' + c[a]) + } + }, + HD: function() { + return this.j.anchor + }, + getContainer: w('C'), + Ze: function(a) { + a instanceof O && (this.j = this.j || { + Cg: t + }, + this.j.za = new O(a.width,a.height), + this.C && this.uc(this.j.anchor)) + }, + Sf: function() { + return this.j.za + }, + Jd: w('C'), + show: function() { + this.Qa != q && (this.Qa = q, + this.C && z.D.show(this.C)) + }, + U: function() { + this.Qa != t && (this.Qa = t, + this.C && z.D.U(this.C)) + }, + isPrintable: function() { + return !!this.j.Cg + }, + jh: function() { + return !this.C && !this.B ? t : !!this.Qa + } + }) + var Wb = 0 + , Xb = 1 + , Yb = 2 + function jb(a) { + Vb.call(this) + a = a || {} + this.j = { + Cg: t, + OF: a.showZoomInfo || q, + anchor: a.anchor, + za: a.offset, + type: a.type, + $W: a.enableGeolocation || t + } + this.defaultAnchor = H() ? 3 : Wb + this.defaultOffset = new O(10,10) + this.uc(a.anchor) + this.hn(a.type) + this.De() + } + z.lang.ta(jb, Vb, 'NavigationControl') + z.extend(jb.prototype, { + initialize: function(a) { + this.B = a + return this.C + }, + hn: function(a) { + this.j.type = Wa(a) && 0 <= a && 3 >= a ? a : 0 + }, + ip: function() { + return this.j.type + }, + De: function() { + var a = this + K.load('navictrl', function() { + a.zf() + }) + } + }) + function Zb(a) { + Vb.call(this) + a = a || {} + this.j = { + anchor: a.anchor || Yb, + za: a.offset || new O(10,30), + O_: a.showAddressBar !== t, + U2: a.enableAutoLocation || t, + bN: a.locationIcon || s + } + var b = this + this.Hz = 1200 + b.I0 = [] + this.pe = [] + K.load('geoctrl', function() { + (function e() { + if (0 !== b.pe.length) { + var a = b.pe.shift() + b[a.method].apply(b, a.arguments) + e() + } + } + )() + b.sQ() + }) + Ra(Ia) + } + z.lang.ta(Zb, Vb, 'GeolocationControl') + z.extend(Zb.prototype, { + location: function() { + this.pe.push({ + method: 'location', + arguments: arguments + }) + }, + getAddressComponent: ca(s) + }) + function $b(a) { + Vb.call(this) + a = a || {} + this.j = { + Cg: t, + anchor: a.anchor, + za: a.offset + } + this.cc = [] + this.defaultAnchor = Yb + this.defaultOffset = new O(5,2) + this.uc(a.anchor) + this.nK = t + this.De() + } + z.lang.ta($b, Vb, 'CopyrightControl') + z.object.extend($b.prototype, { + initialize: function(a) { + this.B = a + return this.C + }, + Bw: function(a) { + if (a && Wa(a.id) && !isNaN(a.id)) { + var b = { + bounds: s, + content: '' + }, c + for (c in a) + b[c] = a[c] + if (a = this.pm(a.id)) + for (var e in b) + a[e] = b[e] + else + this.cc.push(b) + } + }, + pm: function(a) { + for (var b = 0, c = this.cc.length; b < c; b++) + if (this.cc[b].id == a) + return this.cc[b] + }, + PD: w('cc'), + qF: function(a) { + for (var b = 0, c = this.cc.length; b < c; b++) + this.cc[b].id == a && (r = this.cc.splice(b, 1), + b--, + c = this.cc.length) + }, + De: function() { + var a = this + K.load('copyrightctrl', function() { + a.zf() + }) + } + }) + function lb(a) { + Vb.call(this) + a = a || {} + this.j = { + Cg: t, + size: a.size || new O(150,150), + padding: 5, + Xa: a.isOpen === q ? q : t, + $0: 4, + za: a.offset, + anchor: a.anchor + } + this.defaultAnchor = 3 + this.defaultOffset = new O(0,0) + this.Bq = this.Cq = 13 + this.uc(a.anchor) + this.Ce(this.j.size) + this.De() + } + z.lang.ta(lb, Vb, 'OverviewMapControl') + z.extend(lb.prototype, { + initialize: function(a) { + this.B = a + return this.C + }, + uc: function(a) { + Vb.prototype.uc.call(this, a) + }, + se: function() { + this.se.mo = q + this.j.Xa = !this.j.Xa + this.C || (this.se.mo = t) + }, + Ce: function(a) { + a instanceof O || (a = new O(150,150)) + a.width = 0 < a.width ? a.width : 150 + a.height = 0 < a.height ? a.height : 150 + this.j.size = a + }, + cb: function() { + return this.j.size + }, + Xa: function() { + return this.j.Xa + }, + De: function() { + var a = this + K.load('control', function() { + a.zf() + }) + } + }) + function ac(a) { + Vb.call(this) + a = a || {} + this.defaultAnchor = Wb + this.TV = a.canCheckSize === t ? t : q + this.$i = '' + this.defaultOffset = new O(10,10) + this.onChangeBefore = [] + this.onChangeAfter = [] + this.onChangeSuccess = [] + this.j = { + Cg: t, + za: a.offset || this.defaultOffset, + anchor: a.anchor || this.defaultAnchor, + expand: !!a.expand + } + a.onChangeBefore && Xa(a.onChangeBefore) && this.onChangeBefore.push(a.onChangeBefore) + a.onChangeAfter && Xa(a.onChangeAfter) && this.onChangeAfter.push(a.onChangeAfter) + a.onChangeSuccess && Xa(a.onChangeSuccess) && this.onChangeSuccess.push(a.onChangeSuccess) + this.uc(a.anchor) + this.De() + } + z.lang.ta(ac, Vb, 'CityListControl') + z.object.extend(ac.prototype, { + initialize: function(a) { + this.B = a + return this.C + }, + De: function() { + var a = this + K.load('citylistcontrol', function() { + a.zf() + }, q) + } + }) + function kb(a) { + Vb.call(this) + a = a || {} + this.j = { + Cg: t, + color: 'black', + fd: 'metric', + za: a.offset + } + this.defaultAnchor = Yb + this.defaultOffset = new O(81,18) + this.uc(a.anchor) + this.Uh = { + metric: { + name: 'metric', + CK: 1, + rM: 1E3, + bP: '\u7c73', + cP: '\u516c\u91cc' + }, + us: { + name: 'us', + CK: 3.2808, + rM: 5280, + bP: '\u82f1\u5c3a', + cP: '\u82f1\u91cc' + } + } + this.Uh[this.j.fd] || (this.j.fd = 'metric') + this.gJ = s + this.GI = {} + this.De() + } + z.lang.ta(kb, Vb, 'ScaleControl') + z.object.extend(kb.prototype, { + initialize: function(a) { + this.B = a + return this.C + }, + Pk: function(a) { + this.j.color = a + '' + }, + n3: function() { + return this.j.color + }, + LF: function(a) { + this.j.fd = this.Uh[a] && this.Uh[a].name || this.j.fd + }, + sY: function() { + return this.j.fd + }, + De: function() { + var a = this + K.load('control', function() { + a.zf() + }) + } + }) + var bc = 0 + function mb(a) { + Vb.call(this) + a = a || {} + this.defaultAnchor = Xb + this.defaultOffset = new O(10,10) + this.j = { + Cg: t, + mh: [La, Ya, Sa, Qa], + BW: ['B_DIMENSIONAL_MAP', 'B_SATELLITE_MAP', 'B_NORMAL_MAP'], + type: a.type || bc, + za: a.offset || this.defaultOffset, + dX: q + } + this.uc(a.anchor) + '[object Array]' == Object.prototype.toString.call(a.mapTypes) && (this.j.mh = a.mapTypes.slice(0)) + this.De() + } + z.lang.ta(mb, Vb, 'MapTypeControl') + z.object.extend(mb.prototype, { + initialize: function(a) { + this.B = a + return this.C + }, + Xy: function(a) { + this.B.ao = a + }, + De: function() { + var a = this + K.load('control', function() { + a.zf() + }, q) + } + }) + function cc(a) { + Vb.call(this) + a = a || {} + this.j = { + Cg: t, + za: a.offset, + anchor: a.anchor + } + this.Ni = t + this.hw = s + this.QI = new dc({ + of: 'api' + }) + this.RI = new ec(s,{ + of: 'api' + }) + this.defaultAnchor = Xb + this.defaultOffset = new O(10,10) + this.uc(a.anchor) + this.De() + Ra(va) + } + z.lang.ta(cc, Vb, 'PanoramaControl') + z.extend(cc.prototype, { + initialize: function(a) { + this.B = a + return this.C + }, + De: function() { + var a = this + K.load('control', function() { + a.zf() + }) + } + }) + function fc(a) { + z.lang.Ca.call(this) + this.j = { + Wa: s, + cursor: 'default' + } + this.j = z.extend(this.j, a) + this.Mb = 'contextmenu' + this.B = s + this.xa = [] + this.Kf = [] + this.Fe = [] + this.fx = this.qs = s + this.Kh = t + var b = this + K.load('menu', function() { + b.ib() + }) + } + z.lang.ta(fc, z.lang.Ca, 'ContextMenu') + z.object.extend(fc.prototype, { + na: function(a, b) { + this.B = a + this.Cl = b || s + }, + remove: function() { + this.B = this.Cl = s + }, + Dw: function(a) { + if (a && !('menuitem' != a.Mb || '' == a.Wg || 0 >= a.Vi)) { + for (var b = 0, c = this.xa.length; b < c; b++) + if (this.xa[b] === a) + return + this.xa.push(a) + this.Kf.push(a) + } + }, + removeItem: function(a) { + if (a && 'menuitem' == a.Mb) { + for (var b = 0, c = this.xa.length; b < c; b++) + this.xa[b] === a && (this.xa[b].remove(), + this.xa.splice(b, 1), + c--) + b = 0 + for (c = this.Kf.length; b < c; b++) + this.Kf[b] === a && (this.Kf[b].remove(), + this.Kf.splice(b, 1), + c--) + } + }, + bC: function() { + this.xa.push({ + Mb: 'divider', + Lj: this.Fe.length + }) + this.Fe.push({ + D: s + }) + }, + sF: function(a) { + if (this.Fe[a]) { + for (var b = 0, c = this.xa.length; b < c; b++) + this.xa[b] && ('divider' == this.xa[b].Mb && this.xa[b].Lj == a) && (this.xa.splice(b, 1), + c--), + this.xa[b] && ('divider' == this.xa[b].Mb && this.xa[b].Lj > a) && this.xa[b].Lj-- + this.Fe.splice(a, 1) + } + }, + Jd: w('C'), + show: function() { + this.Kh != q && (this.Kh = q) + }, + U: function() { + this.Kh != t && (this.Kh = t) + }, + t_: function(a) { + a && (this.j.cursor = a) + }, + getItem: function(a) { + return this.Kf[a] + } + }) + var gc = G.qa + 'menu_zoom_in.png' + , hc = G.qa + 'menu_zoom_out.png' + function ic(a, b, c) { + if (a && Xa(b)) { + z.lang.Ca.call(this) + this.j = { + width: 100, + id: '', + Dm: '' + } + c = c || {} + this.j.width = 1 * c.width ? c.width : 100 + this.j.id = c.id ? c.id : '' + this.j.Dm = c.iconUrl ? c.iconUrl : '' + this.Wg = a + '' + this.Kz = b + this.B = s + this.Mb = 'menuitem' + this.Ur = this.yv = this.C = this.Eh = s + this.Ih = q + var e = this + K.load('menu', function() { + e.ib() + }) + } + } + z.lang.ta(ic, z.lang.Ca, 'MenuItem') + z.object.extend(ic.prototype, { + na: function(a, b) { + this.B = a + this.Eh = b + }, + remove: function() { + this.B = this.Eh = s + }, + cu: function(a) { + a && (this.Wg = a + '') + }, + Rb: function(a) { + a && (this.j.Dm = a) + }, + Jd: w('C'), + enable: function() { + this.Ih = q + }, + disable: function() { + this.Ih = t + } + }) + function fb(a, b) { + a && !b && (b = a) + this.Ie = this.Xd = this.Ne = this.Zd = this.Pl = this.Al = s + a && (this.Pl = new J(a.lng,a.lat), + this.Al = new J(b.lng,b.lat), + this.Ne = a.lng, + this.Zd = a.lat, + this.Ie = b.lng, + this.Xd = b.lat) + } + z.object.extend(fb.prototype, { + tj: function() { + return !this.Pl || !this.Al + }, + pb: function(a) { + return !(a instanceof fb) || this.tj() ? t : this.Ve().pb(a.Ve()) && this.Rf().pb(a.Rf()) + }, + Ve: w('Pl'), + Rf: w('Al'), + kW: function(a) { + return !(a instanceof fb) || this.tj() || a.tj() ? t : a.Ne > this.Ne && a.Ie < this.Ie && a.Zd > this.Zd && a.Xd < this.Xd + }, + Ka: function() { + return this.tj() ? s : new J((this.Ne + this.Ie) / 2,(this.Zd + this.Xd) / 2) + }, + ot: function(a) { + if (!(a instanceof fb) || Math.max(a.Ne, a.Ie) < Math.min(this.Ne, this.Ie) || Math.min(a.Ne, a.Ie) > Math.max(this.Ne, this.Ie) || Math.max(a.Zd, a.Xd) < Math.min(this.Zd, this.Xd) || Math.min(a.Zd, a.Xd) > Math.max(this.Zd, this.Xd)) + return s + var b = Math.max(this.Ne, a.Ne) + , c = Math.min(this.Ie, a.Ie) + , e = Math.max(this.Zd, a.Zd) + , a = Math.min(this.Xd, a.Xd) + return new fb(new J(b,e),new J(c,a)) + }, + js: function(a) { + return !(a instanceof J) || this.tj() ? t : a.lng >= this.Ne && a.lng <= this.Ie && a.lat >= this.Zd && a.lat <= this.Xd + }, + extend: function(a) { + if (a instanceof J) { + var b = a.lng + , a = a.lat + this.Pl || (this.Pl = new J(0,0)) + this.Al || (this.Al = new J(0,0)) + if (!this.Ne || this.Ne > b) + this.Pl.lng = this.Ne = b + if (!this.Ie || this.Ie < b) + this.Al.lng = this.Ie = b + if (!this.Zd || this.Zd > a) + this.Pl.lat = this.Zd = a + if (!this.Xd || this.Xd < a) + this.Al.lat = this.Xd = a + } + }, + YF: function() { + return this.tj() ? new J(0,0) : new J(Math.abs(this.Ie - this.Ne),Math.abs(this.Xd - this.Zd)) + } + }) + function J(a, b) { + isNaN(a) && (a = Lb(a), + a = isNaN(a) ? 0 : a) + $a(a) && (a = parseFloat(a)) + isNaN(b) && (b = Lb(b), + b = isNaN(b) ? 0 : b) + $a(b) && (b = parseFloat(b)) + this.lng = a + this.lat = b + } + J.yM = function(a) { + return a && 180 >= a.lng && -180 <= a.lng && 74 >= a.lat && -74 <= a.lat + } + + J.prototype.pb = function(a) { + return a && this.lat == a.lat && this.lng == a.lng + } + + function jc() {} + jc.prototype.kh = function() { + aa('lngLatToPoint\u65b9\u6cd5\u672a\u5b9e\u73b0') + } + + jc.prototype.xj = function() { + aa('pointToLngLat\u65b9\u6cd5\u672a\u5b9e\u73b0') + } + + function kc() {} + ;var eb = { + EK: function(a, b, c) { + K.load('coordtransutils', function() { + eb.AV(a, b, c) + }, q) + }, + DK: function(a, b, c) { + K.load('coordtransutils', function() { + eb.zV(a, b, c) + }, q) + } + } + function lc() { + this.Pa = [] + var a = this + K.load('convertor', function() { + a.qQ() + }) + } + z.ta(lc, z.lang.Ca, 'Convertor') + z.extend(lc.prototype, { + translate: function(a, b, c, e) { + this.Pa.push({ + method: 'translate', + arguments: [a, b, c, e] + }) + } + }) + T(lc.prototype, { + translate: lc.prototype.translate + }) + function S() {} + S.prototype = new jc + z.extend(S, { + GP: 6370996.81, + IG: [1.289059486E7, 8362377.87, 5591021, 3481989.83, 1678043.12, 0], + Nu: [75, 60, 45, 30, 15, 0], + MP: [[1.410526172116255E-8, 8.98305509648872E-6, -1.9939833816331, 200.9824383106796, -187.2403703815547, 91.6087516669843, -23.38765649603339, 2.57121317296198, -0.03801003308653, 1.73379812E7], [-7.435856389565537E-9, 8.983055097726239E-6, -0.78625201886289, 96.32687599759846, -1.85204757529826, -59.36935905485877, 47.40033549296737, -16.50741931063887, 2.28786674699375, 1.026014486E7], [-3.030883460898826E-8, 8.98305509983578E-6, 0.30071316287616, 59.74293618442277, 7.357984074871, -25.38371002664745, 13.45380521110908, -3.29883767235584, 0.32710905363475, 6856817.37], [-1.981981304930552E-8, 8.983055099779535E-6, 0.03278182852591, 40.31678527705744, 0.65659298677277, -4.44255534477492, 0.85341911805263, 0.12923347998204, -0.04625736007561, 4482777.06], [3.09191371068437E-9, 8.983055096812155E-6, 6.995724062E-5, 23.10934304144901, -2.3663490511E-4, -0.6321817810242, -0.00663494467273, 0.03430082397953, -0.00466043876332, 2555164.4], [2.890871144776878E-9, 8.983055095805407E-6, -3.068298E-8, 7.47137025468032, -3.53937994E-6, -0.02145144861037, -1.234426596E-5, 1.0322952773E-4, -3.23890364E-6, 826088.5]], + FG: [[-0.0015702102444, 111320.7020616939, 1704480524535203, -10338987376042340, 26112667856603880, -35149669176653700, 26595700718403920, -10725012454188240, 1800819912950474, 82.5], [8.277824516172526E-4, 111320.7020463578, 6.477955746671607E8, -4.082003173641316E9, 1.077490566351142E10, -1.517187553151559E10, 1.205306533862167E10, -5.124939663577472E9, 9.133119359512032E8, 67.5], [0.00337398766765, 111320.7020202162, 4481351.045890365, -2.339375119931662E7, 7.968221547186455E7, -1.159649932797253E8, 9.723671115602145E7, -4.366194633752821E7, 8477230.501135234, 52.5], [0.00220636496208, 111320.7020209128, 51751.86112841131, 3796837.749470245, 992013.7397791013, -1221952.21711287, 1340652.697009075, -620943.6990984312, 144416.9293806241, 37.5], [-3.441963504368392E-4, 111320.7020576856, 278.2353980772752, 2485758.690035394, 6070.750963243378, 54821.18345352118, 9540.606633304236, -2710.55326746645, 1405.483844121726, 22.5], [-3.218135878613132E-4, 111320.7020701615, 0.00369383431289, 823725.6402795718, 0.46104986909093, 2351.343141331292, 1.58060784298199, 8.77738589078284, 0.37238884252424, 7.45]], + t3: function(a, b) { + if (!a || !b) + return 0 + var c, e, a = this.Tb(a) + if (!a) + return 0 + c = this.Xk(a.lng) + e = this.Xk(a.lat) + b = this.Tb(b) + return !b ? 0 : this.pf(c, this.Xk(b.lng), e, this.Xk(b.lat)) + }, + $o: function(a, b) { + if (!a || !b) + return 0 + a.lng = this.WD(a.lng, -180, 180) + a.lat = this.aE(a.lat, -74, 74) + b.lng = this.WD(b.lng, -180, 180) + b.lat = this.aE(b.lat, -74, 74) + return this.pf(this.Xk(a.lng), this.Xk(b.lng), this.Xk(a.lat), this.Xk(b.lat)) + }, + Tb: function(a) { + if (a === s || a === l) + return new J(0,0) + var b, c + b = new J(Math.abs(a.lng),Math.abs(a.lat)) + for (var e = 0; e < this.IG.length; e++) + if (b.lat >= this.IG[e]) { + c = this.MP[e] + break + } + a = this.FK(a, c) + return a = new J(a.lng.toFixed(6),a.lat.toFixed(6)) + }, + Eb: function(a) { + if (a === s || a === l || 180 < a.lng || -180 > a.lng || 90 < a.lat || -90 > a.lat) + return new J(0,0) + var b, c + a.lng = this.WD(a.lng, -180, 180) + a.lat = this.aE(a.lat, -74, 74) + b = new J(a.lng,a.lat) + for (var e = 0; e < this.Nu.length; e++) + if (b.lat >= this.Nu[e]) { + c = this.FG[e] + break + } + if (!c) + for (e = 0; e < this.Nu.length; e++) + if (b.lat <= -this.Nu[e]) { + c = this.FG[e] + break + } + a = this.FK(a, c) + return a = new J(a.lng.toFixed(2),a.lat.toFixed(2)) + }, + FK: function(a, b) { + if (a && b) { + var c = b[0] + b[1] * Math.abs(a.lng) + , e = Math.abs(a.lat) / b[9] + , e = b[2] + b[3] * e + b[4] * e * e + b[5] * e * e * e + b[6] * e * e * e * e + b[7] * e * e * e * e * e + b[8] * e * e * e * e * e * e + , c = c * (0 > a.lng ? -1 : 1) + , e = e * (0 > a.lat ? -1 : 1) + return new J(c,e) + } + }, + pf: function(a, b, c, e) { + return this.GP * Math.acos(Math.sin(c) * Math.sin(e) + Math.cos(c) * Math.cos(e) * Math.cos(b - a)) + }, + Xk: function(a) { + return Math.PI * a / 180 + }, + B5: function(a) { + return 180 * a / Math.PI + }, + aE: function(a, b, c) { + b != s && (a = Math.max(a, b)) + c != s && (a = Math.min(a, c)) + return a + }, + WD: function(a, b, c) { + for (; a > c; ) + a -= c - b + for (; a < b; ) + a += c - b + return a + } + }) + z.extend(S.prototype, { + vj: function(a) { + return S.Eb(a) + }, + kh: function(a) { + a = S.Eb(a) + return new Q(a.lng,a.lat) + }, + nh: function(a) { + return S.Tb(a) + }, + xj: function(a) { + a = new J(a.x,a.y) + return S.Tb(a) + }, + $b: function(a, b, c, e, f) { + if (a) + return a = this.vj(a, f), + b = this.dc(b), + new Q(Math.round((a.lng - c.lng) / b + e.width / 2),Math.round((c.lat - a.lat) / b + e.height / 2)) + }, + xb: function(a, b, c, e, f) { + if (a) + return b = this.dc(b), + this.nh(new J(c.lng + b * (a.x - e.width / 2),c.lat - b * (a.y - e.height / 2)), f) + }, + dc: function(a) { + return Math.pow(2, 18 - a) + } + }) + function hb() { + this.$i = 'bj' + } + hb.prototype = new S + z.extend(hb.prototype, { + vj: function(a, b) { + return this.bR(b, S.Eb(a)) + }, + nh: function(a, b) { + return S.Tb(this.cR(b, a)) + }, + lngLatToPointFor3D: function(a, b) { + var c = this + , e = S.Eb(a) + K.load('coordtrans', function() { + var a = kc.ZD(c.$i || 'bj', e) + , a = new Q(a.x,a.y) + b && b(a) + }, q) + }, + pointToLngLatFor3D: function(a, b) { + var c = this + , e = new J(a.x,a.y) + K.load('coordtrans', function() { + var a = kc.XD(c.$i || 'bj', e) + , a = new J(a.lng,a.lat) + , a = S.Tb(a) + b && b(a) + }, q) + }, + bR: function(a, b) { + if (K.kb('coordtrans').Me == K.Cj.cq) { + var c = kc.ZD(a || 'bj', b) + return new J(c.x,c.y) + } + K.load('coordtrans', u()) + return new J(0,0) + }, + cR: function(a, b) { + if (K.kb('coordtrans').Me == K.Cj.cq) { + var c = kc.XD(a || 'bj', b) + return new J(c.lng,c.lat) + } + K.load('coordtrans', u()) + return new J(0,0) + }, + dc: function(a) { + return Math.pow(2, 20 - a) + } + }) + function mc() { + this.Mb = 'overlay' + } + z.lang.ta(mc, z.lang.Ca, 'Overlay') + mc.Ck = function(a) { + a *= 1 + return !a ? 0 : -1E5 * a << 1 + } + + z.extend(mc.prototype, { + He: function(a) { + if (!this.V && Xa(this.initialize) && (this.V = this.initialize(a))) + this.V.style.WebkitUserSelect = 'none' + this.draw() + }, + initialize: function() { + aa('initialize\u65b9\u6cd5\u672a\u5b9e\u73b0') + }, + draw: function() { + aa('draw\u65b9\u6cd5\u672a\u5b9e\u73b0') + }, + remove: function() { + this.V && this.V.parentNode && this.V.parentNode.removeChild(this.V) + this.V = s + this.dispatchEvent(new P('onremove')) + }, + U: function() { + this.V && z.D.U(this.V) + }, + show: function() { + this.V && z.D.show(this.V) + }, + jh: function() { + return !this.V || 'none' == this.V.style.display || 'hidden' == this.V.style.visibility ? t : q + } + }) + B.Ye(function(a) { + function b(a, b) { + var c = L('div') + , i = c.style + i.position = 'absolute' + i.top = i.left = i.width = i.height = '0' + i.zIndex = b + a.appendChild(c) + return c + } + var c = a.R + c.rd = a.rd = b(a.platform, 200) + a.Yd.BD = b(c.rd, 800) + a.Yd.RE = b(c.rd, 700) + a.Yd.sL = b(c.rd, 600) + a.Yd.KE = b(c.rd, 500) + a.Yd.fN = b(c.rd, 400) + a.Yd.gN = b(c.rd, 300) + a.Yd.nP = b(c.rd, 201) + a.Yd.Et = b(c.rd, 200) + }) + function gb() { + z.lang.Ca.call(this) + mc.call(this) + this.map = s + this.Qa = q + this.zb = s + this.vH = 0 + } + z.lang.ta(gb, mc, 'OverlayInternal') + z.extend(gb.prototype, { + initialize: function(a) { + this.map = a + z.lang.Ca.call(this, this.aa) + return s + }, + Dx: w('map'), + draw: u(), + Ej: u(), + remove: function() { + this.map = s + z.lang.hx(this.aa) + mc.prototype.remove.call(this) + }, + U: function() { + this.Qa !== t && (this.Qa = t) + }, + show: function() { + this.Qa !== q && (this.Qa = q) + }, + jh: function() { + return !this.V ? t : !!this.Qa + }, + La: w('V'), + lO: function(a) { + var a = a || {}, b + for (b in a) + this.z[b] = a[b] + }, + Sp: ba('zIndex'), + gj: function() { + this.z.gj = q + }, + MW: function() { + this.z.gj = t + }, + yo: ba('lg'), + Cp: function() { + this.lg = s + } + }) + function nc() { + this.map = s + this.ya = {} + this.Ee = [] + } + B.Ye(function(a) { + var b = new nc + b.map = a + a.ya = b.ya + a.Ee = b.Ee + a.addEventListener('load', function(a) { + b.draw(a) + }) + a.addEventListener('moveend', function(a) { + b.draw(a) + }) + z.ca.ia && 8 > z.ca.ia || 'BackCompat' === document.compatMode ? a.addEventListener('zoomend', function(a) { + setTimeout(function() { + b.draw(a) + }, 20) + }) : a.addEventListener('zoomend', function(a) { + b.draw(a) + }) + a.addEventListener('maptypechange', function(a) { + b.draw(a) + }) + a.addEventListener('addoverlay', function(a) { + a = a.target + if (a instanceof gb) + b.ya[a.aa] || (b.ya[a.aa] = a) + else { + for (var e = t, f = 0, g = b.Ee.length; f < g; f++) + if (b.Ee[f] === a) { + e = q + break + } + e || b.Ee.push(a) + } + }) + a.addEventListener('removeoverlay', function(a) { + a = a.target + if (a instanceof gb) + delete b.ya[a.aa] + else + for (var e = 0, f = b.Ee.length; e < f; e++) + if (b.Ee[e] === a) { + b.Ee.splice(e, 1) + break + } + }) + a.addEventListener('clearoverlays', function() { + this.Yc() + for (var a in b.ya) + b.ya[a].z.gj && (b.ya[a].remove(), + delete b.ya[a]) + a = 0 + for (var e = b.Ee.length; a < e; a++) + b.Ee[a].enableMassClear !== t && (b.Ee[a].remove(), + b.Ee[a] = s, + b.Ee.splice(a, 1), + a--, + e--) + }) + a.addEventListener('infowindowopen', function() { + var a = this.zb + a && (z.D.U(a.Ac), + z.D.U(a.ac)) + }) + a.addEventListener('movestart', function() { + this.hh() && this.hh().mJ() + }) + a.addEventListener('moveend', function() { + this.hh() && this.hh().cJ() + }) + }) + nc.prototype.draw = function(a) { + if (B.hq) { + var b = B.hq.Ws(this.map) + 'canvas' === b.Mb && b.canvas && b.XQ(b.canvas.getContext('2d')) + } + for (var c in this.ya) + this.ya[c].draw(a) + z.mc.Fb(this.Ee, function(a) { + a.draw() + }) + this.map.R.qb && this.map.R.qb.sa() + B.hq && b.IF() + } + + function oc(a) { + gb.call(this) + a = a || {} + this.z = { + strokeColor: a.strokeColor || '#3a6bdb', + rc: a.strokeWeight || 5, + td: a.strokeOpacity || 0.65, + strokeStyle: a.strokeStyle || 'solid', + gj: a.enableMassClear === t ? t : q, + zk: s, + um: s, + mf: a.enableEditing === q ? q : t, + kN: 5, + G0: t, + jf: a.enableClicking === t ? t : q, + ji: a.icons && 0 < a.icons.length ? a.icons : s + } + 0 >= this.z.rc && (this.z.rc = 5) + if (0 > this.z.td || 1 < this.z.td) + this.z.td = 0.65 + if (0 > this.z.tg || 1 < this.z.tg) + this.z.tg = 0.65 + 'solid' != this.z.strokeStyle && 'dashed' != this.z.strokeStyle && (this.z.strokeStyle = 'solid') + this.V = s + this.Vu = new fb(0,0) + this.gf = [] + this.tc = [] + this.Ra = {} + } + z.lang.ta(oc, gb, 'Graph') + oc.yx = function(a) { + var b = [] + if (!a) + return b + $a(a) && z.mc.Fb(a.split(';'), function(a) { + a = a.split(',') + b.push(new J(a[0],a[1])) + }) + '[object Array]' == Object.prototype.toString.apply(a) && 0 < a.length && (b = a) + return b + } + + oc.eF = [0.09, 0.0050, 1.0E-4, 1.0E-5] + z.extend(oc.prototype, { + initialize: function(a) { + this.map = a + return s + }, + draw: u(), + Mr: function(a) { + this.gf.length = 0 + this.ja = oc.yx(a).slice(0) + this.Bh() + }, + ke: function(a) { + this.Mr(a) + }, + Bh: function() { + if (this.ja) { + var a = this + a.Vu = new fb + z.mc.Fb(this.ja, function(b) { + a.Vu.extend(b) + }) + } + }, + Ue: w('ja'), + gn: function(a, b) { + b && this.ja[a] && (this.gf.length = 0, + this.ja[a] = new J(b.lng,b.lat), + this.Bh()) + }, + setStrokeColor: function(a) { + this.z.strokeColor = a + }, + jY: function() { + return this.z.strokeColor + }, + Rp: function(a) { + 0 < a && (this.z.rc = a) + }, + WL: function() { + return this.z.rc + }, + Pp: function(a) { + a == l || (1 < a || 0 > a) || (this.z.td = a) + }, + kY: function() { + return this.z.td + }, + Xt: function(a) { + 1 < a || 0 > a || (this.z.tg = a) + }, + HX: function() { + return this.z.tg + }, + Qp: function(a) { + 'solid' != a && 'dashed' != a || (this.z.strokeStyle = a) + }, + VL: function() { + return this.z.strokeStyle + }, + setFillColor: function(a) { + this.z.fillColor = a || '' + }, + GX: function() { + return this.z.fillColor + }, + ve: w('Vu'), + remove: function() { + this.map && this.map.removeEventListener('onmousemove', this.vv) + gb.prototype.remove.call(this) + this.gf.length = 0 + }, + mf: function() { + if (!(2 > this.ja.length)) { + this.z.mf = q + var a = this + K.load('poly', function() { + a.Ul() + }, q) + } + }, + LW: function() { + this.z.mf = t + var a = this + K.load('poly', function() { + a.nk() + }, q) + }, + DX: function() { + return this.z.mf + } + }) + function pc(a) { + gb.call(this) + this.V = this.map = s + this.z = { + width: 0, + height: 0, + za: new O(0,0), + opacity: 1, + background: 'transparent', + ey: 1, + SM: '#000', + hZ: 'solid', + point: s + } + this.lO(a) + this.point = this.z.point + } + z.lang.ta(pc, gb, 'Division') + z.extend(pc.prototype, { + Ej: function() { + var a = this.z + , b = this.content + , c = ['
') + c.push(b) + c.push('
') + this.V = Ab(this.map.Tf().RE, c.join('')) + }, + initialize: function(a) { + this.map = a + this.Ej() + this.V && z.M(this.V, H() ? 'touchstart' : 'mousedown', function(a) { + ma(a) + }) + return this.V + }, + draw: function() { + var a = this.map.Xe(this.z.point) + this.z.za = new O(-Math.round(this.z.width / 2) - Math.round(this.z.ey),-Math.round(this.z.height / 2) - Math.round(this.z.ey)) + this.V.style.left = a.x + this.z.za.width + 'px' + this.V.style.top = a.y + this.z.za.height + 'px' + }, + ga: function() { + return this.z.point + }, + L1: function() { + return this.map.$b(this.ga()) + }, + sa: function(a) { + this.z.point = a + this.draw() + }, + u_: function(a, b) { + this.z.width = Math.round(a) + this.z.height = Math.round(b) + this.V && (this.V.style.width = this.z.width + 'px', + this.V.style.height = this.z.height + 'px', + this.draw()) + } + }) + function qc(a, b, c) { + a && b && (this.imageUrl = a, + this.size = b, + a = new O(Math.floor(b.width / 2),Math.floor(b.height / 2)), + c = c || {}, + a = c.anchor || a, + b = c.imageOffset || new O(0,0), + this.imageSize = c.imageSize, + this.anchor = a, + this.imageOffset = b, + this.infoWindowAnchor = c.infoWindowAnchor || this.anchor, + this.printImageUrl = c.printImageUrl || '') + } + z.extend(qc.prototype, { + mO: function(a) { + a && (this.imageUrl = a) + }, + K_: function(a) { + a && (this.printImageUrl = a) + }, + Ce: function(a) { + a && (this.size = new O(a.width,a.height)) + }, + uc: function(a) { + a && (this.anchor = new O(a.width,a.height)) + }, + Yt: function(a) { + a && (this.imageOffset = new O(a.width,a.height)) + }, + z_: function(a) { + a && (this.infoWindowAnchor = new O(a.width,a.height)) + }, + w_: function(a) { + a && (this.imageSize = new O(a.width,a.height)) + }, + toString: ca('Icon') + }) + function rc(a, b) { + if (a) { + b = b || {} + this.style = { + anchor: b.anchor || new O(0,0), + fillColor: b.fillColor || '#000', + tg: b.fillOpacity || 0, + scale: b.scale || 1, + rotation: b.rotation || 0, + strokeColor: b.strokeColor || '#000', + td: b.strokeOpacity || 1, + rc: b.strokeWeight + } + this.Mb = 'number' === typeof a ? a : 'UserDefined' + this.Di = this.style.anchor + this.rr = new O(0,0) + this.anchor = s + this.vB = a + var c = this + K.load('symbol', function() { + c.Mn() + }, q) + } + } + z.extend(rc.prototype, { + setPath: ba('vB'), + setAnchor: function(a) { + this.Di = this.style.anchor = a + }, + setRotation: function(a) { + this.style.rotation = a + }, + setScale: function(a) { + this.style.scale = a + }, + setStrokeWeight: function(a) { + this.style.rc = a + }, + setStrokeColor: function(a) { + a = z.is.AC(a, this.style.td) + this.style.strokeColor = a + }, + setStrokeOpacity: function(a) { + this.style.td = a + }, + setFillOpacity: function(a) { + this.style.tg = a + }, + setFillColor: function(a) { + this.style.fillColor = a + } + }) + function sc(a, b, c, e) { + a && (this.Ov = {}, + this.qL = e ? !!e : t, + this.Vc = [], + this.c0 = a instanceof rc ? a : s, + this.WI = b === l ? q : !!(b.indexOf('%') + 1), + this.Zj = isNaN(parseFloat(b)) ? 1 : this.WI ? parseFloat(b) / 100 : parseFloat(b), + this.XI = !!(c.indexOf('%') + 1), + this.repeat = c != l ? this.XI ? parseFloat(c) / 100 : parseFloat(c) : 0) + } + ;function tc(a, b) { + z.lang.Ca.call(this) + this.content = a + this.map = s + b = b || {} + this.z = { + width: b.width || 0, + height: b.height || 0, + maxWidth: b.maxWidth || 730, + za: b.offset || new O(0,0), + title: b.title || '', + SE: b.maxContent || '', + dh: b.enableMaximize || t, + Ls: b.enableAutoPan === t ? t : q, + lD: b.enableCloseOnClick === t ? t : q, + margin: b.margin || [10, 10, 40, 10], + vC: b.collisions || [[10, 10], [10, 10], [10, 10], [10, 10]], + GY: t, + AZ: b.onClosing || ca(q), + hL: t, + qD: b.enableParano === q ? q : t, + message: b.message, + sD: b.enableSearchTool === q ? q : t, + Ox: b.headerContent || '', + mD: b.enableContentScroll || t + } + if (0 != this.z.width && (220 > this.z.width && (this.z.width = 220), + 730 < this.z.width)) + this.z.width = 730 + if (0 != this.z.height && (60 > this.z.height && (this.z.height = 60), + 650 < this.z.height)) + this.z.height = 650 + if (0 != this.z.maxWidth && (220 > this.z.maxWidth && (this.z.maxWidth = 220), + 730 < this.z.maxWidth)) + this.z.maxWidth = 730 + this.de = t + this.yi = G.qa + this.fb = s + var c = this + K.load('infowindow', function() { + c.ib() + }) + } + z.lang.ta(tc, z.lang.Ca, 'InfoWindow') + z.extend(tc.prototype, { + setWidth: function(a) { + !a && 0 != a || (isNaN(a) || 0 > a) || (0 != a && (220 > a && (a = 220), + 730 < a && (a = 730)), + this.z.width = a) + }, + setHeight: function(a) { + !a && 0 != a || (isNaN(a) || 0 > a) || (0 != a && (60 > a && (a = 60), + 650 < a && (a = 650)), + this.z.height = a) + }, + qO: function(a) { + !a && 0 != a || (isNaN(a) || 0 > a) || (0 != a && (220 > a && (a = 220), + 730 < a && (a = 730)), + this.z.maxWidth = a) + }, + Ec: function(a) { + this.z.title = a + }, + getTitle: function() { + return this.z.title + }, + dd: ba('content'), + xk: w('content'), + $t: function(a) { + this.z.SE = a + '' + }, + je: u(), + Ls: function() { + this.z.Ls = q + }, + disableAutoPan: function() { + this.z.Ls = t + }, + enableCloseOnClick: function() { + this.z.lD = q + }, + disableCloseOnClick: function() { + this.z.lD = t + }, + dh: function() { + this.z.dh = q + }, + kx: function() { + this.z.dh = t + }, + show: function() { + this.Qa = q + }, + U: function() { + this.Qa = t + }, + close: function() { + this.U() + }, + hy: function() { + this.de = q + }, + restore: function() { + this.de = t + }, + jh: function() { + return this.Xa() + }, + Xa: ca(t), + ga: function() { + if (this.fb && this.fb.ga) + return this.fb.ga() + }, + Sf: function() { + return this.z.za + } + }) + Ka.prototype.pc = function(a, b) { + if (a instanceof tc && b instanceof J) { + var c = this.R + c.Nm ? c.Nm.sa(b) : (c.Nm = new U(b,{ + icon: new qc(G.qa + 'blank.gif',{ + width: 1, + height: 1 + }), + offset: new O(0,0), + clickable: t + }), + c.Nm.bS = 1) + this.Ga(c.Nm) + c.Nm.pc(a) + } + } + + Ka.prototype.Yc = function() { + var a = this.R.qb || this.R.rl + a && a.fb && a.fb.Yc() + } + + gb.prototype.pc = function(a) { + this.map && (this.map.Yc(), + a.Qa = q, + this.map.R.rl = a, + a.fb = this, + z.lang.Ca.call(a, a.aa)) + } + + gb.prototype.Yc = function() { + this.map && this.map.R.rl && (this.map.R.rl.Qa = t, + z.lang.hx(this.map.R.rl.aa), + this.map.R.rl = s) + } + + function uc(a, b) { + gb.call(this) + this.content = a + this.V = this.map = s + b = b || {} + this.z = { + width: 0, + za: b.offset || new O(0,0), + Wp: { + backgroundColor: '#fff', + border: '1px solid #f00', + padding: '1px', + whiteSpace: 'nowrap', + font: '12px ' + G.fontFamily, + zIndex: '80', + MozUserSelect: 'none' + }, + position: b.position || s, + gj: b.enableMassClear === t ? t : q, + jf: q + } + 0 > this.z.width && (this.z.width = 0) + Hb(b.enableClicking) && (this.z.jf = b.enableClicking) + this.point = this.z.position + var c = this + K.load('marker', function() { + c.ib() + }) + } + z.lang.ta(uc, gb, 'Label') + z.extend(uc.prototype, { + ga: function() { + return this.Dv ? this.Dv.ga() : this.point + }, + sa: function(a) { + a instanceof J && !this.Ex() && (this.point = this.z.position = new J(a.lng,a.lat)) + }, + dd: ba('content'), + HF: function(a) { + 0 <= a && 1 >= a && (this.z.opacity = a) + }, + Ze: function(a) { + a instanceof O && (this.z.za = new O(a.width,a.height)) + }, + Sf: function() { + return this.z.za + }, + Md: function(a) { + a = a || {} + this.z.Wp = z.extend(this.z.Wp, a) + }, + ti: function(a) { + return this.Md(a) + }, + Ec: function(a) { + this.z.title = a || '' + }, + getTitle: function() { + return this.z.title + }, + pO: function(a) { + this.point = (this.Dv = a) ? this.z.position = a.ga() : this.z.position = s + }, + Ex: function() { + return this.Dv || s + }, + xk: w('content') + }) + function vc(a, b) { + if (0 !== arguments.length) { + gb.apply(this, arguments) + b = b || {} + this.z = { + bb: a, + opacity: b.opacity || 1, + Gm: b.Gm || '', + Bs: b.displayOnMinLevel || 1, + gj: b.enableMassClear === t ? t : q, + As: b.displayOnMaxLevel || 19, + X_: b.stretch || t + } + var c = this + K.load('groundoverlay', function() { + c.ib() + }) + } + } + z.lang.ta(vc, gb, 'GroundOverlay') + z.extend(vc.prototype, { + setBounds: function(a) { + this.z.bb = a + }, + getBounds: function() { + return this.z.bb + }, + setOpacity: function(a) { + this.z.opacity = a + }, + getOpacity: function() { + return this.z.opacity + }, + setImageURL: function(a) { + this.z.Gm = a + }, + getImageURL: function() { + return this.z.Gm + }, + setDisplayOnMinLevel: function(a) { + this.z.Bs = a + }, + getDisplayOnMinLevel: function() { + return this.z.Bs + }, + setDisplayOnMaxLevel: function(a) { + this.z.As = a + }, + getDisplayOnMaxLevel: function() { + return this.z.As + } + }) + var wc = 3 + , xc = 4 + function yc() { + var a = document.createElement('canvas') + return !(!a.getContext || !a.getContext('2d')) + } + function zc(a, b) { + var c = this + yc() && (a === l && aa(Error('\u6ca1\u6709\u4f20\u5165points\u6570\u636e')), + '[object Array]' !== Object.prototype.toString.call(a) && aa(Error('points\u6570\u636e\u4e0d\u662f\u6570\u7ec4')), + b = b || {}, + gb.apply(c, arguments), + c.ea = { + ja: a + }, + c.z = { + shape: b.shape || wc, + size: b.size || xc, + color: b.color || '#fa937e', + gj: q + }, + this.sB = [], + this.pe = [], + K.load('pointcollection', function() { + for (var a = 0, b; b = c.sB[a]; a++) + c[b.method].apply(c, b.arguments) + for (a = 0; b = c.pe[a]; a++) + c[b.method].apply(c, b.arguments) + })) + } + z.lang.ta(zc, gb, 'PointCollection') + z.extend(zc.prototype, { + initialize: function(a) { + this.sB && this.sB.push({ + method: 'initialize', + arguments: arguments + }) + }, + setPoints: function(a) { + this.pe && this.pe.push({ + method: 'setPoints', + arguments: arguments + }) + }, + setStyles: function(a) { + this.pe && this.pe.push({ + method: 'setStyles', + arguments: arguments + }) + }, + clear: function() { + this.pe && this.pe.push({ + method: 'clear', + arguments: arguments + }) + }, + remove: function() { + this.pe && this.pe.push({ + method: 'remove', + arguments: arguments + }) + } + }) + var Ac = new qc(G.qa + 'marker_red_sprite.png',new O(19,25),{ + anchor: new O(10,25), + infoWindowAnchor: new O(10,0) + }) + , Bc = new qc(G.qa + 'marker_red_sprite.png',new O(20,11),{ + anchor: new O(6,11), + imageOffset: new O(-19,-13) + }) + function U(a, b) { + gb.call(this) + b = b || {} + this.point = a + this.yq = this.map = s + this.z = { + za: b.offset || new O(0,0), + rj: b.icon || Ac, + Sk: Bc, + title: b.title || '', + label: s, + lK: b.baseZIndex || 0, + jf: q, + X5: t, + EE: t, + gj: b.enableMassClear === t ? t : q, + Wb: t, + UN: b.raiseOnDrag === q ? q : t, + aO: t, + Hd: b.draggingCursor || G.Hd, + rotation: b.rotation || 0 + } + b.icon && !b.shadow && (this.z.Sk = s) + b.enableDragging && (this.z.Wb = b.enableDragging) + Hb(b.enableClicking) && (this.z.jf = b.enableClicking) + var c = this + K.load('marker', function() { + c.ib() + }) + } + U.Qu = mc.Ck(-90) + 1E6 + U.AG = U.Qu + 1E6 + z.lang.ta(U, gb, 'Marker') + z.extend(U.prototype, { + Rb: function(a) { + if (a instanceof qc || a instanceof rc) + this.z.rj = a + }, + ap: function() { + return this.z.rj + }, + Oy: function(a) { + a instanceof qc && (this.z.Sk = a) + }, + getShadow: function() { + return this.z.Sk + }, + dn: function(a) { + this.z.label = a || s + }, + VD: function() { + return this.z.label + }, + Wb: function() { + this.z.Wb = q + }, + TC: function() { + this.z.Wb = t + }, + ga: w('point'), + sa: function(a) { + a instanceof J && (this.point = new J(a.lng,a.lat)) + }, + ui: function(a, b) { + this.z.EE = !!a + a && (this.XG = b || 0) + }, + Ec: function(a) { + this.z.title = a + '' + }, + getTitle: function() { + return this.z.title + }, + Ze: function(a) { + a instanceof O && (this.z.za = a) + }, + Sf: function() { + return this.z.za + }, + bn: ba('yq'), + Op: function(a) { + this.z.rotation = a + }, + TL: function() { + return this.z.rotation + } + }) + function Cc(a) { + this.options = a || {} + this.GZ = this.options.paneName || 'labelPane' + this.zIndex = this.options.zIndex || 0 + } + z.lang.ta(Cc, gb, 'CanvasLayer') + Cc.prototype.initialize = function(a) { + this.B = a + var b = this.canvas = document.createElement('canvas') + , c = this.canvas.getContext('2d') + b.style.cssText = 'position:absolute;left:0;top:0;z-index:' + this.zIndex + ';' + Dc(this) + Ec(c) + a.getPanes()[this.GZ].appendChild(b) + var e = this + a.addEventListener('resize', function() { + Dc(e) + e.ib() + }) + return this.canvas + } + + function Dc(a) { + var b = a.B.cb() + , a = a.canvas + a.width = b.width + a.height = b.height + a.style.width = a.width + 'px' + a.style.height = a.height + 'px' + } + function Ec(a) { + var b = (window.devicePixelRatio || 1) / (a.CV || a.T5 || a.x4 || a.y4 || a.B4 || a.CV || 1) + , c = a.canvas.width + , e = a.canvas.height + a.canvas.width = c * b + a.canvas.height = e * b + a.canvas.style.width = c + 'px' + a.canvas.style.height = e + 'px' + a.scale(b, b) + } + Cc.prototype.draw = function() { + var a = this + , b = arguments + clearTimeout(a.j0) + a.j0 = setTimeout(function() { + a.ib.apply(a, b) + }, 15) + } + + da = Cc.prototype + da.ib = function() { + var a = this.B + this.canvas.style.left = -a.offsetX + 'px' + this.canvas.style.top = -a.offsetY + 'px' + this.dispatchEvent('draw') + this.options.update && this.options.update.apply(this, arguments) + } + + da.La = w('canvas') + da.show = function() { + this.canvas || this.B.Ga(this) + this.canvas.style.display = 'block' + } + + da.U = function() { + this.canvas.style.display = 'none' + } + + da.Sp = function(a) { + this.canvas.style.zIndex = a + } + + da.Ck = w('zIndex') + function Fc(a, b) { + oc.call(this, b) + b = b || {} + this.z.tg = b.fillOpacity ? b.fillOpacity : 0.65 + this.z.fillColor = '' == b.fillColor ? '' : b.fillColor ? b.fillColor : '#fff' + this.ke(a) + var c = this + K.load('poly', function() { + c.ib() + }) + } + z.lang.ta(Fc, oc, 'Polygon') + z.extend(Fc.prototype, { + ke: function(a, b) { + this.vo = oc.yx(a).slice(0) + var c = oc.yx(a).slice(0) + 1 < c.length && c.push(new J(c[0].lng,c[0].lat)) + oc.prototype.ke.call(this, c, b) + }, + gn: function(a, b) { + this.vo[a] && (this.vo[a] = new J(b.lng,b.lat), + this.ja[a] = new J(b.lng,b.lat), + 0 == a && !this.ja[0].pb(this.ja[this.ja.length - 1]) && (this.ja[this.ja.length - 1] = new J(b.lng,b.lat)), + this.Bh()) + }, + Ue: function() { + var a = this.vo + 0 == a.length && (a = this.ja) + return a + } + }) + function Gc(a, b) { + oc.call(this, b) + this.Mr(a) + var c = this + K.load('poly', function() { + c.ib() + }) + } + z.lang.ta(Gc, oc, 'Polyline') + function Hc(a, b, c) { + this.point = a + this.wa = Math.abs(b) + Fc.call(this, [], c) + } + Hc.eF = [0.01, 1.0E-4, 1.0E-5, 4.0E-6] + z.lang.ta(Hc, Fc, 'Circle') + z.extend(Hc.prototype, { + initialize: function(a) { + this.map = a + this.ja = this.qv(this.point, this.wa) + this.Bh() + return s + }, + Ka: w('point'), + Zf: function(a) { + a && (this.point = a) + }, + RL: w('wa'), + xf: function(a) { + this.wa = Math.abs(a) + }, + qv: function(a, b) { + if (!a || !b || !this.map) + return [] + for (var c = [], e = b / 6378800, f = Math.PI / 180 * a.lat, g = Math.PI / 180 * a.lng, i = 0; 360 > i; i += 9) { + var k = Math.PI / 180 * i + , m = Math.asin(Math.sin(f) * Math.cos(e) + Math.cos(f) * Math.sin(e) * Math.cos(k)) + , k = new J(((g - Math.atan2(Math.sin(k) * Math.sin(e) * Math.cos(f), Math.cos(e) - Math.sin(f) * Math.sin(m)) + Math.PI) % (2 * Math.PI) - Math.PI) * (180 / Math.PI),m * (180 / Math.PI)) + c.push(k) + } + e = c[0] + c.push(new J(e.lng,e.lat)) + return c + } + }) + var Ic = {} + function Jc(a) { + this.map = a + this.Mm = [] + this.$f = [] + this.Fg = [] + this.OV = 300 + this.oF = 0 + this.yg = {} + this.Zi = {} + this.ph = 0 + this.yE = q + this.MK = {} + this.eo = this.Kj(1) + this.od = this.Kj(2) + this.Bl = this.Kj(3) + this.Ki = this.Kj(4) + a.platform.appendChild(this.eo) + a.platform.appendChild(this.od) + a.platform.appendChild(this.Bl) + a.platform.appendChild(this.Ki) + var b = 256 * Math.pow(2, 15) + , c = 3 * b + , a = S.Eb(new J(180,0)).lng + , c = c - a + , b = -3 * b + , e = S.Eb(new J(-180,0)).lng + this.yI = a + this.zI = e + this.ZA = c + (e - b) + this.AI = a - e + } + B.Ye(function(a) { + var b = new Jc(a) + b.na() + a.Va = b + }) + z.extend(Jc.prototype, { + na: function() { + var a = this + , b = a.map + b.addEventListener('loadcode', function() { + a.up() + }) + b.addEventListener('addtilelayer', function(b) { + a.Oe(b) + }) + b.addEventListener('removetilelayer', function(b) { + a.Yf(b) + }) + b.addEventListener('setmaptype', function(b) { + a.Dg(b) + }) + b.addEventListener('zoomstartcode', function(b) { + a.Mc(b) + }) + b.addEventListener('setcustomstyles', function(b) { + a.Zt(b.target) + a.Wf(q) + }) + b.addEventListener('initindoorlayer', function(b) { + a.tE(b) + }) + }, + up: function() { + var a = this + if (z.ca.ia) + try { + document.execCommand('BackgroundImageCache', t, q) + } catch (b) {} + this.loaded || a.Ux() + a.Wf() + this.loaded || (this.loaded = q, + K.load('tile', function() { + a.rQ() + })) + }, + tE: function(a) { + this.zu = new Kc(this) + this.zu.Oe(new Lc(this.map,this.zu,a.vf)) + }, + Ux: function() { + for (var a = this.map.oa().ff, b = 0; b < a.length; b++) { + var c = new Mc + z.extend(c, a[b]) + this.Mm.push(c) + c.na(this.map, this.eo) + } + this.Zt() + }, + Kj: function(a) { + var b = L('div') + b.style.position = 'absolute' + b.style.overflow = 'visible' + b.style.left = b.style.top = '0' + b.style.zIndex = a + return b + }, + Af: function() { + this.ph-- + var a = this + this.yE && (this.map.dispatchEvent(new P('onfirsttileloaded')), + this.yE = t) + 0 == this.ph && (this.Hi && (clearTimeout(this.Hi), + this.Hi = s), + this.Hi = setTimeout(function() { + if (a.ph == 0) { + a.map.dispatchEvent(new P('ontilesloaded')) + a.yE = q + } + a.Hi = s + }, 80)) + }, + fE: function(a, b) { + return 'TILE-' + b.aa + '-' + a[0] + '-' + a[1] + '-' + a[2] + }, + Rx: function(a) { + var b = a.Gb + b && zb(b) && b.parentNode.removeChild(b) + delete this.yg[a.name] + a.loaded || (Nc(a), + a.Gb = s, + a.Pm = s) + }, + pj: function(a, b, c) { + var e = this.map + , f = e.oa() + , g = e.Oa + , i = e.fc + , k = f.dc(g) + , m = this.DL() + , n = m[0] + , o = m[1] + , p = m[2] + , v = m[3] + , x = m[4] + , c = 'undefined' != typeof c ? c : 0 + , f = f.$c() + , m = e.aa.replace(/^TANGRAM_/, '') + for (this.hc ? this.hc.length = 0 : this.hc = []; n < p; n++) + for (var y = o; y < v; y++) { + var A = n + , E = y + this.hc.push([A, E]) + A = m + '_' + b + '_' + A + '_' + E + '_' + g + this.MK[A] = A + } + this.hc.sort(function(a) { + return function(b, c) { + return 0.4 * Math.abs(b[0] - a[0]) + 0.6 * Math.abs(b[1] - a[1]) - (0.4 * Math.abs(c[0] - a[0]) + 0.6 * Math.abs(c[1] - a[1])) + } + }([x[0] - 1, x[1] - 1])) + i = [Math.round(-i.lng / k), Math.round(i.lat / k)] + n = -e.offsetY + e.height / 2 + a.style.left = -e.offsetX + e.width / 2 + 'px' + a.style.top = n + 'px' + this.Cc ? this.Cc.length = 0 : this.Cc = [] + n = 0 + for (e = a.childNodes.length; n < e; n++) + y = a.childNodes[n], + y.Sj = t, + this.Cc.push(y) + if (n = this.qh) + for (var C in n) + delete n[C] + else + this.qh = {} + this.Dc ? this.Dc.length = 0 : this.Dc = [] + n = 0 + for (e = this.hc.length; n < e; n++) { + C = this.hc[n][0] + k = this.hc[n][1] + y = 0 + for (o = this.Cc.length; y < o; y++) + if (p = this.Cc[y], + p.id == m + '_' + b + '_' + C + '_' + k + '_' + g) { + p.Sj = q + this.qh[p.id] = p + break + } + } + n = 0 + for (e = this.Cc.length; n < e; n++) + p = this.Cc[n], + p.Sj || this.Dc.push(p) + this.nn = [] + y = (f + c) * this.map.K.devicePixelRatio + n = 0 + for (e = this.hc.length; n < e; n++) + C = this.hc[n][0], + k = this.hc[n][1], + v = C * f + i[0] - c / 2, + x = (-1 - k) * f + i[1] - c / 2, + A = m + '_' + b + '_' + C + '_' + k + '_' + g, + o = this.qh[A], + p = s, + o ? (p = o.style, + p.left = v + 'px', + p.top = x + 'px', + o.yd || this.nn.push([C, k, o])) : (0 < this.Dc.length ? (o = this.Dc.shift(), + o.getContext('2d').clearRect(-c / 2, -c / 2, y, y), + p = o.style) : (o = document.createElement('canvas'), + p = o.style, + p.position = 'absolute', + p.width = f + c + 'px', + p.height = f + c + 'px', + this.Zx() && (p.WebkitTransform = 'scale(1.001)'), + o.setAttribute('width', y), + o.setAttribute('height', y), + a.appendChild(o)), + o.id = A, + p.left = v + 'px', + p.top = x + 'px', + -1 < A.indexOf('bg') && (v = '#F3F1EC', + this.map.K.Eo && (v = this.map.K.Eo), + p.background = v ? v : ''), + this.nn.push([C, k, o])), + o.style.visibility = '' + n = 0 + for (e = this.Dc.length; n < e; n++) + this.Dc[n].style.visibility = 'hidden' + return this.nn + }, + Zx: function() { + return /M040/i.test(navigator.userAgent) + }, + DL: function() { + var a = this.map + , b = a.oa() + , c = b.mE(a.Oa) + , e = a.fc + , f = Math.ceil(e.lng / c) + , g = Math.ceil(e.lat / c) + , b = b.$c() + , c = [f, g, (e.lng - f * c) / c * b, (e.lat - g * c) / c * b] + return [c[0] - Math.ceil((a.width / 2 - c[2]) / b), c[1] - Math.ceil((a.height / 2 - c[3]) / b), c[0] + Math.ceil((a.width / 2 + c[2]) / b), c[1] + Math.ceil((a.height / 2 + c[3]) / b), c] + }, + R_: function(a, b, c, e) { + var f = this + f.u2 = b + var g = this.map.oa() + , i = f.fE(a, c) + , k = g.$c() + , b = [a[0] * k + b[0], (-1 - a[1]) * k + b[1]] + , m = this.yg[i] + if (this.map.oa() !== Ya && this.map.oa() !== Sa) { + var n = this.Lw(a[0], a[2]).offsetX + b[0] += n + b.Q1 = n + } + m && m.Gb ? (xb(m.Gb, b), + e && (e = new Q(a[0],a[1]), + g = this.map.K.ye ? this.map.K.ye.style : 'normal', + e = c.getTilesUrl(e, a[2], g), + m.loaded = t, + Oc(m, e)), + m.loaded ? this.Af() : Pc(m, function() { + f.Af() + })) : (m = this.Zi[i]) && m.Gb ? (c.Jb.insertBefore(m.Gb, c.Jb.lastChild), + this.yg[i] = m, + xb(m.Gb, b), + e && (e = new Q(a[0],a[1]), + g = this.map.K.ye ? this.map.K.ye.style : 'normal', + e = c.getTilesUrl(e, a[2], g), + m.loaded = t, + Oc(m, e)), + m.loaded ? this.Af() : Pc(m, function() { + f.Af() + })) : (m = k * Math.pow(2, g.sm() - a[2]), + new J(a[0] * m,a[1] * m), + e = new Q(a[0],a[1]), + g = this.map.K.ye ? this.map.K.ye.style : 'normal', + e = c.getTilesUrl(e, a[2], g), + m = new Qc(this,e,b,a,c), + Pc(m, function() { + f.Af() + }), + m.co(), + this.yg[i] = m) + }, + Af: function() { + this.ph-- + var a = this + 0 == this.ph && (this.Hi && (clearTimeout(this.Hi), + this.Hi = s), + this.Hi = setTimeout(function() { + if (a.ph == 0) { + a.map.dispatchEvent(new P('ontilesloaded')) + if (ua) { + if (ra && sa && ta) { + var b = bb() + , c = a.map.cb() + setTimeout(function() { + Ra(5030, { + load_script_time: sa - ra, + load_tiles_time: b - ta, + map_width: c.width, + map_height: c.height, + map_size: c.width * c.height + }) + }, 1E4) + B.Fn('cus.fire', 'time', { + z_imgfirstloaded: b - ta + }) + } + ua = t + } + } + a.Hi = s + }, 80)) + }, + fE: function(a, b) { + return this.map.oa() === Qa ? 'TILE-' + b.aa + '-' + this.map.Rw + '-' + a[0] + '-' + a[1] + '-' + a[2] : 'TILE-' + b.aa + '-' + a[0] + '-' + a[1] + '-' + a[2] + }, + Rx: function(a) { + var b = a.Gb + b && (Rc(b), + zb(b) && b.parentNode.removeChild(b)) + delete this.yg[a.name] + a.loaded || (Rc(b), + Nc(a), + a.Gb = s, + a.Pm = s) + }, + Lw: function(a, b) { + for (var c = 0, e = 6 * Math.pow(2, b - 3), f = e / 2 - 1, g = -e / 2; a > f; ) + a -= e, + c -= this.ZA + for (; a < g; ) + a += e, + c += this.ZA + c = Math.round(c / Math.pow(2, 18 - b)) + return { + offsetX: c, + hs: a + } + }, + QV: function(a) { + for (var b = a.lng; b > this.yI; ) + b -= this.AI + for (; b < this.zI; ) + b += this.AI + a.lng = b + return a + }, + RV: function(a, b) { + for (var c = 256 * Math.pow(2, 18 - b), e = Math.floor(this.yI / c), f = Math.floor(this.zI / c), c = Math.floor(this.ZA / c), g = [], i = 0; i < a.length; i++) { + var k = a[i] + , m = k[0] + , k = k[1] + if (m >= e) { + var m = m + c + , n = 'id_' + m + '_' + k + '_' + b + a[n] || (a[n] = q, + g.push([m, k])) + } else + m <= f && (m -= c, + n = 'id_' + m + '_' + k + '_' + b, + a[n] || (a[n] = q, + g.push([m, k]))) + } + for (i = 0; i < g.length; i++) + a.push(g[i]) + return a + }, + Wf: function(a) { + var b = this + if (b.map.oa() == Qa) + K.load('coordtrans', function() { + b.map.Ub || (b.map.Ub = Qa.wk(b.map.$g), + b.map.Rw = Qa.BL(b.map.Ub)) + b.CI() + }, q) + else { + if (a && a) + for (var c in this.Zi) + delete this.Zi[c] + b.CI(a) + } + }, + CI: function(a) { + var b = this.Mm.concat(this.$f) + , c = b.length + , e = this.map + , f = e.oa() + , g = e.fc + this.map.oa() !== Ya && this.map.oa() !== Sa && (g = this.QV(g)) + for (var i = 0; i < c; i++) { + var k = b[i] + if (k.gc && e.Oa < k.gc) + break + if (k.Jw) { + var m = this.Jb = k.Jb + if (a) { + var n = m + if (n && n.childNodes) + for (var o = n.childNodes.length, p = o - 1; 0 <= p; p--) + o = n.childNodes[p], + n.removeChild(o), + o = s + } + if (this.map.Sb()) { + this.od.style.display = 'block' + m.style.display = 'none' + this.map.dispatchEvent(new P('vectorchanged'), { + isvector: q + }) + continue + } else + m.style.display = 'block', + this.od.style.display = 'none', + this.map.dispatchEvent(new P('vectorchanged'), { + isvector: t + }) + } + if (!k.pI && !(k.pp && !this.map.Sb() || k.GM && this.map.Sb())) { + e = this.map + f = e.oa() + m = f.wm() + o = e.Oa + g = e.fc + f == Qa && g.pb(new J(0,0)) && (g = e.fc = m.vj(e.re, e.Ub)) + var v = f.dc(o) + , m = f.mE(o) + , n = Math.ceil(g.lng / m) + , x = Math.ceil(g.lat / m) + , y = f.$c() + , m = [n, x, (g.lng - n * m) / m * y, (g.lat - x * m) / m * y] + , p = m[0] - Math.ceil((e.width / 2 - m[2]) / y) + , n = m[1] - Math.ceil((e.height / 2 - m[3]) / y) + , x = m[0] + Math.ceil((e.width / 2 + m[2]) / y) + , A = 0 + f === Qa && 15 == e.fa() && (A = 1) + f = m[1] + Math.ceil((e.height / 2 + m[3]) / y) + A + this.gK = new J(g.lng,g.lat) + var E = this.yg, y = -this.gK.lng / v, A = this.gK.lat / v, v = [Math.ceil(y), Math.ceil(A)], g = e.fa(), C + for (C in E) { + var F = E[C] + , D = F.info; + (D[2] != g || D[2] == g && (p > D[0] || x <= D[0] || n > D[1] || f <= D[1])) && this.Rx(F) + } + E = -e.offsetX + e.width / 2 + F = -e.offsetY + e.height / 2 + k.Jb && (k.Jb.style.left = Math.ceil(y + E) - v[0] + 'px', + k.Jb.style.top = Math.ceil(A + F) - v[1] + 'px', + k.Jb.style.WebkitTransform = 'translate3d(0,0,0)') + y = [] + for (e.WB = []; p < x; p++) + for (A = n; A < f; A++) + y.push([p, A]), + e.WB.push({ + x: p, + y: A + }) + this.map.oa() !== Ya && this.map.oa() !== Sa && (y = this.RV(y, o)) + y.sort(function(a) { + return function(b, c) { + return 0.4 * Math.abs(b[0] - a[0]) + 0.6 * Math.abs(b[1] - a[1]) - (0.4 * Math.abs(c[0] - a[0]) + 0.6 * Math.abs(c[1] - a[1])) + } + }([m[0] - 1, m[1] - 1])) + o = y.length + this.ph += o + for (p = 0; p < o; p++) + this.R_([y[p][0], y[p][1], g], v, k, a) + } + } + }, + Oe: function(a) { + var b = this + , c = a.target + , a = b.map.Sb() + if (c instanceof db) + a && !c.Im && (c.na(this.map, this.od), + c.Im = q) + else if (c.ag && this.map.Oe(c.ag), + c.pp) { + for (a = 0; a < b.Fg.length; a++) + if (b.Fg[a] == c) + return + K.load('vector', function() { + c.na(b.map, b.od) + b.Fg.push(c) + }, q) + } else { + for (a = 0; a < b.$f.length; a++) + if (b.$f[a] == c) + return + c.na(this.map, this.Bl) + b.$f.push(c) + } + }, + Yf: function(a) { + var a = a.target + , b = this.map.Sb() + if (a instanceof db) + b && a.Im && (a.remove(), + a.Im = t) + else { + a.ag && this.map.Yf(a.ag) + if (a.pp) + for (var b = 0, c = this.Fg.length; b < c; b++) + a == this.Fg[b] && this.Fg.splice(b, 1) + else { + b = 0 + for (c = this.$f.length; b < c; b++) + a == this.$f[b] && this.$f.splice(b, 1) + } + a.remove() + } + }, + Dg: function() { + for (var a = this.Mm, b = 0, c = a.length; b < c; b++) + a[b].remove() + delete this.Jb + this.Mm = [] + this.Zi = this.yg = {} + this.Ux() + this.Wf() + }, + Mc: function() { + var a = this + a.vd && z.D.U(a.vd) + setTimeout(function() { + a.Wf() + a.map.dispatchEvent(new P('onzoomend')) + }, 10) + }, + L5: u(), + Zt: function(a) { + var b = this.map.oa() + if (!this.map.Sb() && (a ? this.map.K.$_ = a : a = this.map.K.$_, + a)) + for (var c = s, c = '2' == B.xu ? [B.url.proto + B.url.domain.main_domain_cdn.other[0] + '/'] : [B.url.proto + B.url.domain.main_domain_cdn.baidu[0] + '/', B.url.proto + B.url.domain.main_domain_cdn.baidu[1] + '/', B.url.proto + B.url.domain.main_domain_cdn.baidu[2] + '/'], e = 0, f; f = this.Mm[e]; e++) + if (f.M_ == q) { + b.j.Yb = 18 + f.getTilesUrl = function(b, e) { + var f = b.x + , f = this.map.Va.Lw(f, e).hs + , m = b.y + , n = Sb('normal') + , o = 1 + this.map.Sx() && (o = 2) + n = 'customimage/tile?&x=' + f + '&y=' + m + '&z=' + e + '&udt=' + n + '&scale=' + o + '&ak=' + qa + n = a.styleStr ? n + ('&styles=' + encodeURIComponent(a.styleStr)) : n + ('&customid=' + a.style) + return c[Math.abs(f + m) % c.length] + n + } + + break + } + } + }) + function Qc(a, b, c, e, f) { + this.Pm = a + this.position = c + this.$u = [] + this.name = a.fE(e, f) + this.info = e + this.GJ = f.zt() + e = L('img') + yb(e) + e.uL = t + var g = e.style + , a = a.map.oa() + g.position = 'absolute' + g.border = 'none' + g.width = a.$c() + 'px' + g.height = a.$c() + 'px' + g.left = c[0] + 'px' + g.top = c[1] + 'px' + g.maxWidth = 'none' + this.Gb = e + this.src = b + Sc && (this.Gb.style.opacity = 0) + var i = this + this.Gb.onload = function() { + B.iZ.eR() + i.loaded = q + if (i.Pm) { + var a = i.Pm + , b = a.Zi + if (!b[i.name]) { + a.oF++ + b[i.name] = i + } + if (i.Gb && !zb(i.Gb) && f.Jb) { + f.Jb.appendChild(i.Gb) + if (z.ca.ia <= 6 && z.ca.ia > 0 && i.GJ) + i.Gb.style.cssText = i.Gb.style.cssText + (';filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + i.src + '",sizingMethod=scale);') + } + var c = a.oF - a.OV, e + for (e in b) { + if (c <= 0) + break + if (!a.yg[e]) { + b[e].Pm = s + var g = b[e].Gb + if (g && g.parentNode) { + g.parentNode.removeChild(g) + Rc(g) + } + g = s + b[e].Gb = s + delete b[e] + a.oF-- + c-- + } + } + Sc && new tb({ + Ic: 20, + duration: 200, + va: function(a) { + if (i.Gb && i.Gb.style) + i.Gb.style.opacity = a * 1 + }, + finish: function() { + i.Gb && i.Gb.style && delete i.Gb.style.opacity + } + }) + Nc(i) + } + } + + this.Gb.onerror = function() { + Nc(i) + if (i.Pm) { + var a = i.Pm.map.oa() + if (a.j.vD) { + i.error = q + i.Gb.src = a.j.vD + i.Gb && !zb(i.Gb) && f.Jb.appendChild(i.Gb) + } + } + } + + e = s + } + function Pc(a, b) { + a.$u.push(b) + } + Qc.prototype.co = function() { + this.Gb.src = 0 < z.ca.ia && 6 >= z.ca.ia && this.GJ ? G.qa + 'blank.gif' : '' !== this.src && this.Gb.src == this.src ? this.src + '&t = ' + Date.now() : this.src + } + + function Nc(a) { + for (var b = 0; b < a.$u.length; b++) + a.$u[b]() + a.$u.length = 0 + } + function Rc(a) { + if (a) { + a.onload = a.onerror = s + var b = a.attributes, c, e, f + if (b) { + e = b.length + for (c = 0; c < e; c += 1) + f = b[c].name, + Xa(a[f]) && (a[f] = s) + } + if (b = a.children) { + e = b.length + for (c = 0; c < e; c += 1) + Rc(a.children[c]) + } + } + } + function Oc(a, b) { + a.src = b + a.co() + } + var Sc = !z.ca.ia || 8 < z.ca.ia + function Mc(a) { + this.vf = a || {} + this.mW = this.vf.copyright || s + this.B0 = this.vf.transparentPng || t + this.Jw = this.vf.baseLayer || t + this.zIndex = this.vf.zIndex || 0 + this.aa = Mc.SS++ + } + Mc.SS = 0 + z.lang.ta(Mc, z.lang.Ca, 'TileLayer') + z.extend(Mc.prototype, { + na: function(a, b) { + this.Jw && (this.zIndex = -100) + this.map = a + if (!this.Jb) { + var c = L('div') + , e = c.style + e.position = 'absolute' + e.overflow = 'visible' + e.zIndex = this.zIndex + e.left = Math.ceil(-a.offsetX + a.width / 2) + 'px' + e.top = Math.ceil(-a.offsetY + a.height / 2) + 'px' + b.appendChild(c) + this.Jb = c + } + }, + remove: function() { + this.Jb && this.Jb.parentNode && (this.Jb.innerHTML = '', + this.Jb.parentNode.removeChild(this.Jb)) + delete this.Jb + }, + zt: w('B0'), + getTilesUrl: function(a, b) { + if (this.map.oa() !== Ya && this.map.oa() !== Sa) + var c = this.map.Va.Lw(a.x, b).hs + var e = '' + this.vf.tileUrlTemplate && (e = this.vf.tileUrlTemplate.replace(/\{X\}/, c), + e = e.replace(/\{Y\}/, a.y), + e = e.replace(/\{Z\}/, b)) + return e + }, + pm: w('mW'), + oa: function() { + return this.Hb || La + } + }) + function Tc(a, b) { + Ib(a) ? b = a || {} : (b = b || {}, + b.databoxId = a) + this.j = { + OK: b.databoxId, + eh: b.geotableId, + Wm: b.q || '', + pu: b.tags || '', + filter: b.filter || '', + Vy: b.sortby || '', + Y_: b.styleId || '', + Vl: b.ak || qa, + Gw: b.age || 36E5, + zIndex: 11, + fZ: 'VectorCloudLayer', + Fk: b.hotspotName || 'vector_md_' + (1E5 * Math.random()).toFixed(0), + uV: 'LBS\u4e91\u9ebb\u70b9\u5c42' + } + this.pp = q + Mc.call(this, this.j) + this.GW = B.Wc + 'geosearch/detail/' + this.HW = B.Wc + 'geosearch/v2/detail/' + this.lp = {} + } + z.ta(Tc, Mc, 'VectorCloudLayer') + function Uc(a) { + a = a || {} + this.j = z.extend(a, { + zIndex: 1, + fZ: 'VectorTrafficLayer', + uV: '\u77e2\u91cf\u8def\u51b5\u5c42' + }) + this.pp = q + Mc.call(this, this.j) + this.x0 = B.url.proto + B.url.domain.vector_traffic + '/gvd/?qt=lgvd&styles=pl&layers=tf' + this.Db = { + '0': [2, 1354709503, 2, 2, 0, [], 0, 0], + 1: [2, 1354709503, 3, 2, 0, [], 0, 0], + 10: [2, -231722753, 2, 2, 0, [], 0, 0], + 11: [2, -231722753, 3, 2, 0, [], 0, 0], + 12: [2, -231722753, 4, 2, 0, [], 0, 0], + 13: [2, -231722753, 5, 2, 0, [], 0, 0], + 14: [2, -231722753, 6, 2, 0, [], 0, 0], + 15: [2, -1, 4, 0, 0, [], 0, 0], + 16: [2, -1, 5.5, 0, 0, [], 0, 0], + 17: [2, -1, 7, 0, 0, [], 0, 0], + 18: [2, -1, 8.5, 0, 0, [], 0, 0], + 19: [2, -1, 10, 0, 0, [], 0, 0], + 2: [2, 1354709503, 4, 2, 0, [], 0, 0], + 3: [2, 1354709503, 5, 2, 0, [], 0, 0], + 4: [2, 1354709503, 6, 2, 0, [], 0, 0], + 5: [2, -6350337, 2, 2, 0, [], 0, 0], + 6: [2, -6350337, 3, 2, 0, [], 0, 0], + 7: [2, -6350337, 4, 2, 0, [], 0, 0], + 8: [2, -6350337, 5, 2, 0, [], 0, 0], + 9: [2, -6350337, 6, 2, 0, [], 0, 0] + } + } + z.ta(Uc, Mc, 'VectorTrafficLayer') + function db(a) { + this.PV = [B.url.proto + B.url.domain.TILE_ONLINE_URLS[1] + '/gvd/?', B.url.proto + B.url.domain.TILE_ONLINE_URLS[2] + '/gvd/?', B.url.proto + B.url.domain.TILE_ONLINE_URLS[3] + '/gvd/?', B.url.proto + B.url.domain.TILE_ONLINE_URLS[4] + '/gvd/?'] + this.j = { + pL: t + } + for (var b in a) + this.j[b] = a[b] + this.Th = this.Fh = this.Ya = this.C = this.B = s + this.LM = 0 + var c = this + K.load('vector', function() { + c.De() + }) + } + z.extend(db.prototype, { + na: function(a, b) { + this.B = a + this.C = b + }, + remove: function() { + this.C = this.B = s + } + }) + function Vc(a) { + Mc.call(this, a) + this.j = a || {} + this.GM = q + this.ag = new Uc + this.ag.$y = this + if (this.j.predictDate) { + if (1 > this.j.predictDate.weekday || 7 < this.j.predictDate.weekday) + this.j.predictDate = 1 + if (0 > this.j.predictDate.hour || 23 < this.j.predictDate.hour) + this.j.predictDate.hour = 0 + } + this.VU = B.url.proto + B.url.domain.traffic + '/traffic/' + } + Vc.prototype = new Mc + Vc.prototype.na = function(a, b) { + Mc.prototype.na.call(this, a, b) + this.B = a + } + + Vc.prototype.zt = ca(q) + Vc.prototype.getTilesUrl = function(a, b) { + var c = '' + this.j.predictDate ? c = 'HistoryService?day=' + (this.j.predictDate.weekday - 1) + '&hour=' + this.j.predictDate.hour + '&t=' + (new Date).getTime() + '&' : (c = 'TrafficTileService?time=' + (new Date).getTime() + '&', + c += 'label=web2D&v=016&') + var c = this.VU + c + 'level=' + b + '&x=' + a.x + '&y=' + a.y + , e = 1 + this.B.Sx() && (e = 2) + return (c + '&scaler=' + e).replace(/-(\d+)/gi, 'M$1') + } + + var Wc = [B.url.proto + B.url.domain.TILES_YUN_HOST[0] + '/georender/gss', B.url.proto + B.url.domain.TILES_YUN_HOST[1] + '/georender/gss', B.url.proto + B.url.domain.TILES_YUN_HOST[2] + '/georender/gss', B.url.proto + B.url.domain.TILES_YUN_HOST[3] + '/georender/gss'] + , Xc = B.url.proto + B.url.domain.main_domain_nocdn.baidu + '/style/poi/rangestyle' + , Yc = 100 + function nb(a, b) { + Mc.call(this) + var c = this + this.GM = q + var e = t + try { + document.createElement('canvas').getContext('2d'), + e = q + } catch (f) { + e = t + } + e && (this.ag = new Tc(a,b), + this.ag.$y = this) + Ib(a) ? b = a || {} : (c.Rn = a, + b = b || {}) + b.geotableId && (c.Cf = b.geotableId) + b.databoxId && (c.Rn = b.databoxId) + e = B.Wc + 'geosearch' + c.ub = { + ON: b.pointDensity || Yc, + BY: e + '/detail/', + CY: e + '/v2/detail/', + Gw: b.age || 36E5, + Wm: b.q || '', + i0: 'png', + X3: [5, 5, 5, 5], + eZ: { + backgroundColor: '#FFFFD5', + borderColor: '#808080' + }, + Vl: b.ak || qa, + pu: b.tags || '', + filter: b.filter || '', + Vy: b.sortby || '', + Fk: b.hotspotName || 'tile_md_' + (1E5 * Math.random()).toFixed(0), + dG: q + } + K.load('clayer', function() { + c.Sd() + }) + } + nb.prototype = new Mc + nb.prototype.na = function(a, b) { + Mc.prototype.na.call(this, a, b) + this.B = a + } + + nb.prototype.getTilesUrl = function(a, b) { + var c = a.x + , e = a.y + , f = this.ub + , c = Wc[Math.abs(c + e) % Wc.length] + '/image?grids=' + c + '_' + e + '_' + b + '&q=' + f.Wm + '&tags=' + f.pu + '&filter=' + f.filter + '&sortby=' + f.Vy + '&ak=' + this.ub.Vl + '&age=' + f.Gw + '&page_size=' + f.ON + '&format=' + f.i0 + f.dG || (f = (1E5 * Math.random()).toFixed(0), + c += '&timeStamp=' + f) + this.Cf ? c += '&geotable_id=' + this.Cf : this.Rn && (c += '&databox_id=' + this.Rn) + return c + } + + nb.prototype.enableUseCache = function() { + this.ub.dG = q + } + + nb.prototype.disableUseCache = function() { + this.ub.dG = t + } + + nb.tU = /^point\(|\)$/ig + nb.uU = /\s+/ + nb.wU = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g + var Zc = {} + function $c(a, b) { + this.kd = a + this.uQ = 18 + this.j = { + le: 256, + cd: new S + } + z.extend(this.j, b || {}) + } + var ad = [0, 0, 0, 8, 7, 7, 6, 6, 5, 5, 4, 3, 3, 3, 2, 2, 1, 1, 0, 0, 0, 0] + , bd = [512, 2048, 4096, 32768, 65536, 262144, 1048576, 4194304, 8388608] + , cd = [0, 0, 0, 3, 5, 5, 7, 7, 9, 9, 10, 12, 12, 12, 15, 15, 17, 17, 19, 19, 19, 19] + , dd = [0, 0, 0, 256, 256, 512, 256, 512, 256, 512, 256, 256, 512, 1024, 256, 512, 512, 1024, 512, 1024, 2048, 4096] + $c.prototype = { + getName: w('kd'), + $c: function(a) { + return 'na' === this.kd ? dd[a] : this.j.le + }, + FL: function(a) { + return 'na' === this.kd ? cd[a] : a + }, + wm: function() { + return this.j.cd + }, + dc: function(a) { + return Math.pow(2, this.uQ - a) + }, + RX: function(a) { + return 'na' === this.kd ? bd[ad[a]] : this.dc(a) * this.$c(a) + } + } + P = z.lang.Ju + function Lc(a, b, c) { + this.B = a + this.cV = b + this.Cd = b.qc + this.ub = { + h0: 'na', + zIndex: 0, + OO: c.tileUrls, + AO: q + } + this.UB = '' + this.qT = {} + var c = c.urlOpts || {}, e + for (e in c) + c.hasOwnProperty(e) && (this.UB = this.UB + '&' + e + '=' + c[e]) + this.GC = [] + this.JE = 0 + this.zM = t + a = this.ub.h0 + Zc[a] ? a = Zc[a] : (b = new $c(a,l), + a = Zc[a] = b) + this.Wr = a + } + window.VectorIndoorTileLayer = 'VectorIndoorTileLayer' + da = Lc.prototype + da.na = function() { + var a = this.B + , b = a.Va + if (!this.Vh) { + var c = b.Kj(this.ub.zIndex) + c.style.WebkitTransform = 'translate3d(0px, 0px, 0)' + this.Vh = c + } + b.Ki.appendChild(this.Vh) + b.b4 = c + if (this.ub.AO) { + ed(this) + var e = this + a.addEventListener('checkvectorclick', function(a) { + var b + a: { + b = a.offsetX + var c = a.offsetY + , k = e.GC.N4 + if (k) + for (var m = 0; m < k.length; m++) + for (var n = k[m], o = 0; o < n.length; o++) + if (a = n[o], + !a.f4 && a.EY && b > a.WE && b < a.TE && c > a.XE && c < a.UE) { + b = a.EY + b = { + type: 9, + name: a.name, + uid: a.uid, + point: { + x: b.H2 + b.width / 2, + y: b.I2 + 6 + } + } + break a + } + b = s + } + b && (a = new P('onvectorclick'), + a.Y3 = b, + a.of = 'base', + this.dispatchEvent(a)) + }) + } + } + + function ed(a) { + var b = a.B + , c = b.Va + , e = a.Cd + , f = b.cb() + , g = f.width + , f = f.height + , i = L('canvas') + i.style.cssText = 'position: absolute;left:0;top:0;width:' + g + 'px;height:' + f + 'px;z-index:2;' + i.width = g * e + i.height = f * e + a.by = i + a.At = i.getContext('2d') + a.At.scale(e, e) + a.At.textBaseline = 'top' + c.Ki.appendChild(i) + b.ZS = i + } + da.update = function(a, b) { + b = b || {} + if (this.ub.AO && (b.Tw && this.Tw(), + b.S_)) { + var c = this.Cd + , e = this.B.cb() + , f = e.width + , e = e.height + , g = this.by + , i = g.style + i.width = f + 'px' + i.height = e + 'px' + g.width = f * c + g.height = e * c + this.At.scale(c, c) + this.At.textBaseline = 'top' + } + if (b.M5) { + c = this.Vh + f = 0 + for (e = c.childNodes.length; f < e; f++) + c.childNodes[f].yd = t + } + this.NK = a + this.up(a) + } + + da.up = function(a) { + this.GC = [] + var b = this.B + , c = b.fa() + , e = b.cd.vj(b.re) + , f = this.Wr.dc(c) + , e = [Math.round(-e.lng / f), Math.round(e.lat / f)] + , f = this.Wr.$c(c) + , g = b.aa.replace(/^TANGRAM_/, '') + , i = this.Wr.FL(c) + , b = this.B + , k = -b.offsetY + b.height / 2 + , m = this.Vh + m.style.left = -b.offsetX + b.width / 2 + 'px' + m.style.top = k + 'px' + this.Cc ? this.Cc.length = 0 : this.Cc = [] + b = 0 + for (k = m.childNodes.length; b < k; b++) { + var n = m.childNodes[b] + n.Sj = t + this.Cc.push(n) + } + if (b = this.qh) + for (var o in b) + delete b[o] + else + this.qh = {} + this.Dc ? this.Dc.length = 0 : this.Dc = [] + b = 0 + for (k = a.length; b < k; b++) { + var n = a[b][0] + , p = a[b][1] + o = 0 + for (var v = this.Cc.length; o < v; o++) { + var x = this.Cc[o] + if (x.id === g + '_' + n + '_' + p + '_' + i + '_' + c) { + x.Sj = q + this.qh[x.id] = x + break + } + } + } + b = 0 + for (k = this.Cc.length; b < k; b++) + x = this.Cc[b], + x.Sj || (x.Lc = s, + delete x.Lc, + x.yd = t, + this.Dc.push(x)) + o = [] + v = f * this.Cd + b = 0 + for (k = a.length; b < k; b++) { + var n = a[b][0] + , p = a[b][1] + , x = n * f + e[0] + , y = (-1 - p) * f + e[1] + , A = g + '_' + n + '_' + p + '_' + i + '_' + c + , E = this.qh[A] + , C = s + if (E) + C = E.style, + C.left = x + 'px', + C.top = y + 'px', + C.width = f + 'px', + C.height = f + 'px', + E.yd ? E.MO && E.MO && this.GC.push(E.MO) : (E.NR = q, + E.Lc = s, + delete E.Lc, + o.push([n, p, E])) + else { + if (0 < this.Dc.length) { + var E = this.Dc.shift() + , F = E.getContext('2d') + E.getAttribute('width') !== v && (E._scale = t) + E.setAttribute('width', v) + E.setAttribute('height', v) + C = E.style + C.width = f + 'px' + C.height = f + 'px' + F.clearRect(0, 0, v, v) + } else + E = document.createElement('canvas'), + C = E.style, + C.position = 'absolute', + this.ub.backgroundColor && (C.background = this.ub.backgroundColor), + C.width = f + 'px', + C.height = f + 'px', + E.setAttribute('width', v), + E.setAttribute('height', v), + m.appendChild(E) + E.id = A + C.left = x + 'px' + C.top = y + 'px' + o.push([n, p, E]) + } + E.style.visibility = '' + } + b = 0 + for (k = this.Dc.length; b < k; b++) + this.Dc[b].style.visibility = 'hidden' + if (0 === o.length) + fd(this) + else { + this.JE = o.length + this.zM = t + c = this.Wr.FL(this.B.fa()) + for (e = 0; e < a.length; e++) + a[e][3] = c + for (e = 0; e < o.length; e++) + a = o[e][2], + f = o[e][0], + g = o[e][1], + o[e][3] = c, + a.yd = t, + a.NR = t, + gd(this, f, g, c, a) + } + } + + function gd(a, b, c, e, f) { + var g = b + '_' + c + '_' + e + , i = a.qT + if (i[g]) { + if ('loading' === i[g].status) + return + } else + i[g] = { + status: 'init', + bO: 0 + } + var k = a + , m = k.B + , n = [] + , n = '0' === B.xu ? k.ub.OO.http : k.ub.OO.https + , o = Math.abs(b + c) % n.length + , p = 'x=' + b + '&y=' + c + '&z=' + e + , v = hd(a.cV) + , x = v.O0 + , v = v.C0 + , y = '_' + (0 > b ? '_' : '') + (0 > c ? '$' : '') + parseInt(Math.abs(b) + '' + Math.abs(c) + '' + e, 10).toString(36) + , p = p + a.UB + 'v=' + x + '&udt=' + v + '&fn=window.' + y + , x = n[o] + '&' + p + , x = n[o] + '¶m=' + window.encodeURIComponent(Kb(p)) + window[y] = function(a) { + clearTimeout(i[g].Od) + i[g] = s + if (a) { + m.fa() + var n + a: { + for (n = 0; n < k.NK.length; n++) { + var o = k.NK[n] + if (o[0] === b && o[1] === c && o[3] === e) { + n = q + break a + } + } + n = t + } + n !== t && (n = new P('updateindoor'), + n.IndoorCanvas = [], + n.IndoorCanvas.push({ + canvasDom: f, + data: a, + canvasID: f.id, + ratio: k.Cd + }), + m.dispatchEvent(n), + k.JE--, + (0 === k.JE || k.zM === q) && fd(k), + delete window[y]) + } + } + + oa(x) + i[g].status = 'loading' + k = a + i[g].Od = setTimeout(function() { + 3 > i[g].bO ? (i[g].bO++, + i[g].status = 'init', + gd(k, b, c, e, f)) : i[g] = s + }, 4E3) + } + function fd(a) { + if (a.by) { + var b = a.B + a.by.style.left = -b.offsetX + 'px' + a.by.style.top = -b.offsetY + 'px' + a = new P('updateindoorlabel') + a.labelCanvasDom = b.ZS + b.dispatchEvent(a) + } + } + da.Tw = function() { + var a = this.B.cb() + , b = this.Cd + this.At.clearRect(0, 0, a.width * b, a.height * b) + } + + da.remove = function() { + var a = this.B.Va + this.Vh && a.Ki.removeChild(this.Vh) + } + + function Kc(a) { + this.B = a.map + this.ff = [] + this.Xr = {} + this.qc = this.B.K.devicePixelRatio + this.na() + } + window.VectorIndoorTileMgr = 'VectorIndoorTileMgr' + da = Kc.prototype + da.na = function() { + var a = this + , b = this.B + b.addEventListener('addtilelayer', function(b) { + a.Oe(b.target) + }) + b.addEventListener('removetilelayer', function(b) { + a.Yf(b.target) + }) + setTimeout(function() { + b.addEventListener('onmoveend', function(b) { + 'centerAndZoom' !== b.mv && a.update() + }) + b.addEventListener('onzoomend', function(b) { + 'centerAndZoom' !== b.mv && a.update({ + Tw: q + }) + }) + b.addEventListener('centerandzoom', function() { + a.update({ + Tw: q + }) + }) + }, 1) + b.addEventListener('indoor_data_refresh', u()) + b.addEventListener('onresize', function() { + a.update({ + S_: q + }) + }) + a.update() + } + + da.Oe = function(a) { + if (a instanceof Lc) { + for (var b = 0; b < this.ff.length; b++) + if (this.ff[b] === a) + return + this.ff.push(a) + a.na() + this.B.loaded && this.update() + } + } + + da.Yf = function(a) { + if (a instanceof Lc) { + for (var b = 0; b < this.ff.length; b++) + if (this.ff[b] === a) { + this.ff.splice(b, 1) + break + } + a.remove() + } + } + + da.pj = function(a) { + var b = a.getName() + if (this.Xr[b]) + return this.Xr[b] + var c = this.B + , e = c.fa() + , f = c.fc + , g = a.RX(e) + c.aa.replace(/^TANGRAM_/, '') + var i = Math.ceil(f.lng / g) + , k = Math.ceil(f.lat / g) + , a = a.$c(e) + , m = [i, k, (f.lng / g - i) * a, (f.lat / g - k) * a] + , e = m[0] - Math.ceil((c.width / 2 - m[2]) / a) + , f = m[1] - Math.ceil((c.height / 2 - m[3]) / a) + , g = m[0] + Math.ceil((c.width / 2 + m[2]) / a) + , c = m[1] + Math.ceil((c.height / 2 + m[3]) / a) + this.hc ? this.hc.length = 0 : this.hc = [] + for (a = e; a < g; a++) + for (e = f; e < c; e++) + this.hc.push([a, e]) + this.hc.sort(function(a) { + return function(b, c) { + return 0.4 * Math.abs(b[0] - a[0]) + 0.6 * Math.abs(b[1] - a[1]) - (0.4 * Math.abs(c[0] - a[0]) + 0.6 * Math.abs(c[1] - a[1])) + } + }([i, k])) + this.Xr[b] = this.hc.slice(0) + return this.Xr[b] + } + + function hd(a) { + if (a.gG) + return a.gG + var b = 'undefined' !== typeof TVC ? TVC.K2.z4 : {} + a.gG = { + O0: b.version ? b.version : '001', + C0: b.wn ? b.wn : '20171110' + } + return a.gG + } + da.update = function(a) { + this.Xr = {} + for (var b = 0; b < this.ff.length; b++) { + var c = this.ff[b] + , e = this.pj(c.Wr) + c.update(e, a) + } + } + + function id(a, b, c) { + this.kd = a + this.ff = b instanceof Mc ? [b] : b.slice(0) + c = c || {} + this.j = { + k0: c.tips || '', + LE: '', + gc: c.minZoom || 3, + Yb: c.maxZoom || 18, + W3: c.minZoom || 3, + V3: c.maxZoom || 18, + le: 256, + UF: c.textColor || 'black', + vD: c.errorImageUrl || '', + bb: new fb(new J(-21364736,-16023552),new J(23855104,19431424)), + cd: c.projection || new S + } + 1 <= this.ff.length && (this.ff[0].Jw = q) + z.extend(this.j, c) + } + z.extend(id.prototype, { + getName: w('kd'), + gt: function() { + return this.j.k0 + }, + B3: function() { + return this.j.LE + }, + oY: function() { + return this.ff[0] + }, + P3: w('ff'), + $c: function() { + return this.j.le + }, + bp: function() { + return this.j.gc + }, + sm: function() { + return this.j.Yb + }, + setMaxZoom: function(a) { + this.j.Yb = a + }, + zm: function() { + return this.j.UF + }, + wm: function() { + return this.j.cd + }, + u3: function() { + return this.j.vD + }, + $c: function() { + return this.j.le + }, + dc: function(a) { + return Math.pow(2, 18 - a) + }, + mE: function(a) { + return this.dc(a) * this.$c() + } + }) + var jd = [B.url.proto + B.url.domain.TILE_BASE_URLS[0] + '/it/', B.url.proto + B.url.domain.TILE_BASE_URLS[1] + '/it/', B.url.proto + B.url.domain.TILE_BASE_URLS[2] + '/it/', B.url.proto + B.url.domain.TILE_BASE_URLS[3] + '/it/', B.url.proto + B.url.domain.TILE_BASE_URLS[4] + '/it/'] + , kd = [B.url.proto + B.url.domain.TILE_ONLINE_URLS[0] + '/tile/', B.url.proto + B.url.domain.TILE_ONLINE_URLS[1] + '/tile/', B.url.proto + B.url.domain.TILE_ONLINE_URLS[2] + '/tile/', B.url.proto + B.url.domain.TILE_ONLINE_URLS[3] + '/tile/', B.url.proto + B.url.domain.TILE_ONLINE_URLS[4] + '/tile/'] + , ld = { + dark: 'dl', + light: 'll', + normal: 'pl' + } + , md = new Mc + md.M_ = q + md.getTilesUrl = function(a, b, c) { + var e = a.x + , a = a.y + , f = Sb('normal') + , g = 1 + , c = ld[c] + //this.map.Sx() && (g = 2); //修改 + //e = this.map.Va.Lw(e, b).hs; + //return (kd[Math.abs(e + a) % kd.length] + "?qt=tile&x=" + (e + "").replace(/-/gi, "M") + "&y=" + (a + "").replace(/-/gi, "M") + "&z=" + b + "&styles=" + c + "&scaler=" + g + (6 == z.ca.ia ? "&color_dep=32&colors=50" : "") + "&udt=" + f).replace(/-(\d+)/gi, "M$1") + + var tdir = bmapcfg.tiles_dir.length>0?bmapcfg.tiles_dir:bmapcfg.home + 'tiles' + return tdir + '/' + b + '/' + e + '/' + a + bmapcfg.imgext // 使用本地的瓦片 + } + + var La = new id('\u5730\u56fe',md,{ + tips: '\u663e\u793a\u666e\u901a\u5730\u56fe', + maxZoom: 19 + }) + , nd = new Mc + nd.NO = [B.url.proto + B.url.domain.TIlE_PERSPECT_URLS[0] + '/resource/mappic/', B.url.proto + B.url.domain.TIlE_PERSPECT_URLS[1] + '/resource/mappic/', B.url.proto + B.url.domain.TIlE_PERSPECT_URLS[2] + '/resource/mappic/', B.url.proto + B.url.domain.TIlE_PERSPECT_URLS[3] + '/resource/mappic/'] + nd.getTilesUrl = function(a, b) { + var c = a.x + , e = a.y + , f = 256 * Math.pow(2, 20 - b) + , e = Math.round((9998336 - f * e) / f) - 1 + /*var tdir = bmapcfg.tiles_hybrid.length > 0 ? bmapcfg.tiles_hybrid : bmapcfg.home + "tiles_hybrid";//修改 使用本地卫星的瓦片 + tdir = tdir + "/" + b + "/" + c + "/" + e + bmapcfg.imgext; //修改 使用本地卫星的瓦片 + return tdir;*/ + return url = this.NO[Math.abs(c + e) % this.NO.length] + this.map.Ub + '/' + this.map.Rw + '/3/lv' + (21 - b) + '/' + c + ',' + e + '.jpg' + } + + var Qa = new id('\u4e09\u7ef4',nd,{ + tips: '\u663e\u793a\u4e09\u7ef4\u5730\u56fe', + minZoom: 15, + maxZoom: 20, + textColor: 'white', + projection: new hb + }) + Qa.dc = function(a) { + return Math.pow(2, 20 - a) + } + + Qa.wk = function(a) { + if (!a) + return '' + var b = G.pC, c + for (c in b) + if (-1 < a.search(c)) + return b[c].yy + return '' + } + + Qa.BL = function(a) { + return { + bj: 2, + gz: 1, + sz: 14, + sh: 4 + }[a] + } + + var od = new Mc({ + Jw: q + }) + od.getTilesUrl = function(a, b) { + var c = a.x + , e = a.y + return (jd[Math.abs(c + e) % jd.length] + 'u=x=' + c + ';y=' + e + ';z=' + b + ';v=009;type=sate&fm=46&udt=' + Sb('satellite')).replace(/-(\d+)/gi, 'M$1') + } + + var Ya = new id('\u536b\u661f',od,{ + tips: '\u663e\u793a\u536b\u661f\u5f71\u50cf', + minZoom: 1, + maxZoom: 19, + textColor: 'white' + }) + , pd = new Mc({ + transparentPng: q + }) + pd.getTilesUrl = function(a, b) { + var c = a.x + , e = a.y + , f = Sb('satelliteStreet') + return (kd[Math.abs(c + e) % kd.length] + '?qt=vtile&x=' + (c + '').replace(/-/gi, 'M') + '&y=' + (e + '').replace(/-/gi, 'M') + '&z=' + b + '&styles=sl' + (6 == z.ca.ia ? '&color_dep=32&colors=50' : '') + '&udt=' + f).replace(/-(\d+)/gi, 'M$1') + } + + var Sa = new id('\u6df7\u5408',[od, pd],{ + tips: '\u663e\u793a\u5e26\u6709\u8857\u9053\u7684\u536b\u661f\u5f71\u50cf', + labelText: '\u8def\u7f51', + minZoom: 1, + maxZoom: 19, + textColor: 'white' + }) + var qd = 1 + , V = {} + window.c1 = V + function W(a, b) { + z.lang.Ca.call(this) + this.Ad = {} + this.fn(a) + b = b || {} + b.la = b.renderOptions || {} + this.j = { + la: { + Ma: b.la.panel || s, + map: b.la.map || s, + Zg: b.la.autoViewport || q, + Ut: b.la.selectFirstResult, + kt: b.la.highlightMode, + Wb: b.la.enableDragging || t + }, + py: b.onSearchComplete || u(), + BN: b.onMarkersSet || u(), + AN: b.onInfoHtmlSet || u(), + DN: b.onResultsHtmlSet || u(), + zN: b.onGetBusListComplete || u(), + yN: b.onGetBusLineComplete || u(), + wN: b.onBusListHtmlSet || u(), + vN: b.onBusLineHtmlSet || u(), + bF: b.onPolylinesSet || u(), + Dp: b.reqFrom || '' + } + this.j.la.Zg = 'undefined' != typeof b && 'undefined' != typeof b.renderOptions && 'undefined' != typeof b.renderOptions.autoViewport ? b.renderOptions.autoViewport : q + this.j.la.Ma = z.Fc(this.j.la.Ma) + } + z.ta(W, z.lang.Ca) + z.extend(W.prototype, { + getResults: function() { + return this.Hc ? this.Ei : this.ha + }, + enableAutoViewport: function() { + this.j.la.Zg = q + }, + disableAutoViewport: function() { + this.j.la.Zg = t + }, + fn: function(a) { + a && (this.Ad.src = a) + }, + JF: function(a) { + this.j.py = a || u() + }, + setMarkersSetCallback: function(a) { + this.j.BN = a || u() + }, + setPolylinesSetCallback: function(a) { + this.j.bF = a || u() + }, + setInfoHtmlSetCallback: function(a) { + this.j.AN = a || u() + }, + setResultsHtmlSetCallback: function(a) { + this.j.DN = a || u() + }, + xm: w('Me') + }) + var rd = { + KG: B.Wc, + ab: function(a, b, c, e, f) { + this.SZ(b) + var g = (1E5 * Math.random()).toFixed(0) + B._rd['_cbk' + g] = function(b) { + b.result && b.result.error && 202 === b.result.error ? alert('\u8be5AK\u56e0\u4e3a\u6076\u610f\u884c\u4e3a\u5df2\u7ecf\u88ab\u7ba1\u7406\u5458\u5c01\u7981\uff01') : (c = c || {}, + a && a(b, c), + delete B._rd['_cbk' + g]) + } + + e = e || '' + b = c && c.H0 ? Gb(b, encodeURI) : Gb(b, encodeURIComponent) + this.KG = c && c.jL ? c.$N ? c.$N : B.vp : B.Wc + e = this.KG + e + '?' + b + '&ie=utf-8&oue=1&fromproduct=jsapi' + f || (e += '&res=api') + e = e + ('&callback=BMap._rd._cbk' + g) + ('&ak=' + qa) + oa(e) + }, + SZ: function(a) { + if (a.qt) { + var b = '' + switch (a.qt) { + case 'bt': + b = 'z_qt|bt' + break + case 'nav': + b = 'z_qt|nav' + break + case 'walk': + b = 'z_qt|walk' + break + case 'bse': + b = 'z_qt|bse' + break + case 'nse': + b = 'z_qt|nse' + break + case 'drag': + b = 'z_qt|drag' + } + '' !== b && B.alog('cus.fire', 'count', b) + } + } + } + window.o1 = rd + B._rd = {} + var ab = {} + window.n1 = ab + ab.WN = function(a) { + a = a.replace(/<\/?[^>]*>/g, '') + return a = a.replace(/[ | ]* /g, ' ') + } + + ab.JZ = function(a) { + return a.replace(/([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0|[1-9]\d*),([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0|[1-9]\d*)(,)/g, '$1,$2;') + } + + ab.KZ = function(a, b) { + return a.replace(RegExp('(((-?\\d+)(\\.\\d+)?),((-?\\d+)(\\.\\d+)?);)(((-?\\d+)(\\.\\d+)?),((-?\\d+)(\\.\\d+)?);){' + b + '}', 'ig'), '$1') + } + + var sd = 2 + , td = 6 + , ud = 8 + , vd = 2 + , wd = 3 + , xd = 6 + , yd = 0 + , zd = 'bt' + , Ad = 'nav' + , Bd = 'walk' + , Cd = 'bl' + , Dd = 'bsl' + , Ed = 'ride' + , Fd = 15 + , Gd = 18 + B.I = window.Instance = z.lang.Nc + function Hd(a, b, c) { + z.lang.Ca.call(this) + if (a) { + this.Wa = 'object' == typeof a ? a : z.Fc(a) + this.page = 1 + this.Kd = 100 + this.hK = 'pg' + this.Xf = 4 + this.qK = b + this.update = q + a = { + page: 1, + $e: 100, + Kd: 100, + Xf: 4, + hK: 'pg', + update: q + } + c || (c = a) + for (var e in c) + 'undefined' != typeof c[e] && (this[e] = c[e]) + this.va() + } + } + z.extend(Hd.prototype, { + va: function() { + this.na() + }, + na: function() { + this.YV() + this.Wa.innerHTML = this.uW() + }, + YV: function() { + isNaN(parseInt(this.page)) && (this.page = 1) + isNaN(parseInt(this.Kd)) && (this.Kd = 1) + 1 > this.page && (this.page = 1) + 1 > this.Kd && (this.Kd = 1) + this.page > this.Kd && (this.page = this.Kd) + this.page = parseInt(this.page) + this.Kd = parseInt(this.Kd) + }, + G3: function() { + location.search.match(RegExp('[?&]?' + this.hK + '=([^&]*)[&$]?', 'gi')) + this.page = RegExp.$1 + }, + uW: function() { + var a = [] + , b = this.page - 1 + , c = this.page + 1 + a.push('

') + if (!(1 > b)) { + if (this.page >= this.Xf) { + var e + a.push('\u9996\u9875'.replace('{temp1}', "BMap.I('" + this.aa + "').toPage(1);")) + } + a.push('\u4e0a\u4e00\u9875'.replace('{temp2}', "BMap.I('" + this.aa + "').toPage(" + b + ');')) + } + if (this.page < this.Xf) + e = 0 == this.page % this.Xf ? this.page - this.Xf - 1 : this.page - this.page % this.Xf + 1, + b = e + this.Xf - 1 + else { + e = Math.floor(this.Xf / 2) + var f = this.Xf % 2 - 1 + , b = this.Kd > this.page + e ? this.page + e : this.Kd + e = this.page - e - f + } + this.page > this.Kd - this.Xf && this.page >= this.Xf && (e = this.Kd - this.Xf + 1, + b = this.Kd) + for (f = e; f <= b; f++) + 0 < f && (f == this.page ? a.push('' + f + '') : 1 <= f && f <= this.Kd && (e = '[' + f + ']', + a.push(e.replace('{temp3}', "BMap.I('" + this.aa + "').toPage(" + f + ');')))) + c > this.Kd || a.push('\u4e0b\u4e00\u9875'.replace('{temp4}', "BMap.I('" + this.aa + "').toPage(" + c + ');')) + a.push('

') + return a.join('') + }, + toPage: function(a) { + a = a ? a : 1 + 'function' == typeof this.qK && (this.qK(a), + this.page = a) + this.update && this.va() + } + }) + function cb(a, b) { + W.call(this, a, b) + b = b || {} + b.renderOptions = b.renderOptions || {} + this.Np(b.pageCapacity) + 'undefined' != typeof b.renderOptions.selectFirstResult && !b.renderOptions.selectFirstResult ? this.UC() : this.oD() + this.ya = [] + this.yf = [] + this.mb = -1 + this.Pa = [] + var c = this + K.load('local', function() { + c.Nz() + }, q) + } + z.ta(cb, W, 'LocalSearch') + cb.fq = 10 + cb.k1 = 1 + cb.En = 100 + cb.zG = 2E3 + cb.HG = 1E5 + z.extend(cb.prototype, { + search: function(a, b) { + this.Pa.push({ + method: 'search', + arguments: [a, b] + }) + }, + an: function(a, b, c) { + this.Pa.push({ + method: 'searchInBounds', + arguments: [a, b, c] + }) + }, + Jp: function(a, b, c, e) { + this.Pa.push({ + method: 'searchNearby', + arguments: [a, b, c, e] + }) + }, + Pe: function() { + delete this.Ia + delete this.Me + delete this.ha + delete this.ua + this.mb = -1 + this.Ta() + this.j.la.Ma && (this.j.la.Ma.innerHTML = '') + }, + Am: u(), + oD: function() { + this.j.la.Ut = q + }, + UC: function() { + this.j.la.Ut = t + }, + Np: function(a) { + this.j.Jk = 'number' == typeof a && !isNaN(a) ? 1 > a ? cb.fq : a > cb.En ? cb.fq : a : cb.fq + }, + qf: function() { + return this.j.Jk + }, + toString: ca('LocalSearch') + }) + var Id = cb.prototype + T(Id, { + clearResults: Id.Pe, + setPageCapacity: Id.Np, + getPageCapacity: Id.qf, + gotoPage: Id.Am, + searchNearby: Id.Jp, + searchInBounds: Id.an, + search: Id.search, + enableFirstResultSelection: Id.oD, + disableFirstResultSelection: Id.UC + }) + function Jd(a, b) { + W.call(this, a, b) + } + z.ta(Jd, W, 'BaseRoute') + z.extend(Jd.prototype, { + Pe: u() + }) + function Kd(a, b) { + W.call(this, a, b) + b = b || {} + this.bu(b.policy) + this.oO(b.intercityPolicy) + this.xO(b.transitTypePolicy) + this.Np(b.pageCapacity) + this.Ab = zd + this.mq = qd + this.ya = [] + this.mb = -1 + this.j.Vn = b.enableTraffic || t + this.Pa = [] + var c = this + K.load('route', function() { + c.Sd() + }) + } + Kd.En = 100 + Kd.HP = [0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1] + Kd.IP = [0, 3, 4, 0, 0, 0, 5] + z.ta(Kd, Jd, 'TransitRoute') + z.extend(Kd.prototype, { + bu: function(a) { + this.j.ie = 0 <= a && 5 >= a ? a : 0 + }, + oO: function(a) { + this.j.Hm = 0 <= a && 2 >= a ? a : 0 + }, + xO: function(a) { + this.j.tn = 0 <= a && 2 >= a ? a : 0 + }, + NA: function(a, b) { + this.Pa.push({ + method: '_internalSearch', + arguments: [a, b] + }) + }, + search: function(a, b) { + this.Pa.push({ + method: 'search', + arguments: [a, b] + }) + }, + Np: function(a) { + if ('string' === typeof a && (a = parseInt(a, 10), + isNaN(a))) { + this.j.Jk = Kd.En + return + } + this.j.Jk = 'number' !== typeof a ? Kd.En : 1 <= a && a <= Kd.En ? Math.round(a) : Kd.En + }, + toString: ca('TransitRoute'), + Z1: function(a) { + return a.replace(/\(.*\)/, '') + } + }) + var Ld = Kd.prototype + T(Ld, { + _internalSearch: Ld.NA + }) + function Md(a, b) { + W.call(this, a, b) + this.ya = [] + this.mb = -1 + this.Pa = [] + var c = this + , e = this.j.la + 1 !== e.kt && 2 !== e.kt && (e.kt = 1) + this.kv = this.j.la.Wb ? q : t + K.load('route', function() { + c.Sd() + }) + this.vE && this.vE() + } + Md.WP = ' \u73af\u5c9b \u65e0\u5c5e\u6027\u9053\u8def \u4e3b\u8def \u9ad8\u901f\u8fde\u63a5\u8def \u4ea4\u53c9\u70b9\u5185\u8def\u6bb5 \u8fde\u63a5\u9053\u8def \u505c\u8f66\u573a\u5185\u90e8\u9053\u8def \u670d\u52a1\u533a\u5185\u90e8\u9053\u8def \u6865 \u6b65\u884c\u8857 \u8f85\u8def \u531d\u9053 \u5168\u5c01\u95ed\u9053\u8def \u672a\u5b9a\u4e49\u4ea4\u901a\u533a\u57df POI\u8fde\u63a5\u8def \u96a7\u9053 \u6b65\u884c\u9053 \u516c\u4ea4\u4e13\u7528\u9053 \u63d0\u524d\u53f3\u8f6c\u9053'.split(' ') + z.ta(Md, Jd, 'DWRoute') + z.extend(Md.prototype, { + search: function(a, b, c) { + this.Pa.push({ + method: 'search', + arguments: [a, b, c] + }) + } + }) + function Nd(a, b) { + Md.call(this, a, b) + b = b || {} + this.j.Vn = b.enableTraffic || t + this.bu(b.policy) + this.Ab = Ad + this.mq = wd + } + z.ta(Nd, Md, 'DrivingRoute') + Nd.prototype.bu = function(a) { + this.j.ie = 0 <= a && 5 >= a ? a : 0 + } + + function Od(a, b) { + Md.call(this, a, b) + this.Ab = Bd + this.mq = vd + this.kv = t + } + z.ta(Od, Md, 'WalkingRoute') + function Pd(a, b) { + Md.call(this, a, b) + this.Ab = Ed + this.mq = xd + this.kv = t + } + z.ta(Pd, Md, 'RidingRoute') + function Qd(a, b) { + z.lang.Ca.call(this) + this.Vf = [] + this.Kk = [] + this.j = b + this.uj = a + this.map = this.j.la.map || s + this.hO = this.j.hO + this.zb = s + this.pk = 0 + this.SF = '' + this.nf = 1 + this.uD = '' + this.Ep = [0, 0, 0, 0, 0, 0, 0] + this.XM = [] + this.os = [1, 1, 1, 1, 1, 1, 1] + this.VO = [1, 1, 1, 1, 1, 1, 1] + this.Fp = [0, 0, 0, 0, 0, 0, 0] + this.Zm = [0, 0, 0, 0, 0, 0, 0] + this.Ib = [{ + m: '', + Ed: 0, + vn: 0, + x: 0, + y: 0, + pa: -1 + }, { + m: '', + Ed: 0, + vn: 0, + x: 0, + y: 0, + pa: -1 + }, { + m: '', + Ed: 0, + vn: 0, + x: 0, + y: 0, + pa: -1 + }, { + m: '', + Ed: 0, + vn: 0, + x: 0, + y: 0, + pa: -1 + }, { + m: '', + Ed: 0, + vn: 0, + x: 0, + y: 0, + pa: -1 + }, { + m: '', + Ed: 0, + vn: 0, + x: 0, + y: 0, + pa: -1 + }, { + m: '', + Ed: 0, + vn: 0, + x: 0, + y: 0, + pa: -1 + }] + this.bi = -1 + this.ru = [] + this.aG = [] + K.load('route', u()) + } + z.lang.ta(Qd, z.lang.Ca, 'RouteAddr') + var Rd = navigator.userAgent; + /ipad|iphone|ipod|iph/i.test(Rd) + var Sd = /android/i.test(Rd) + function Td(a) { + this.vf = a || {} + } + z.extend(Td.prototype, { + gO: function(a, b, c) { + var e = this + K.load('route', function() { + e.Sd(a, b, c) + }) + } + }) + function Ud(a) { + this.j = {} + z.extend(this.j, a) + this.Pa = [] + var b = this + K.load('othersearch', function() { + b.Sd() + }) + } + z.ta(Ud, z.lang.Ca, 'Geocoder') + z.extend(Ud.prototype, { + vm: function(a, b, c) { + this.Pa.push({ + method: 'getPoint', + arguments: [a, b, c] + }) + }, + rm: function(a, b, c) { + this.Pa.push({ + method: 'getLocation', + arguments: [a, b, c] + }) + }, + toString: ca('Geocoder') + }) + var Vd = Ud.prototype + T(Vd, { + getPoint: Vd.vm, + getLocation: Vd.rm + }) + function Geolocation(a) { + a = a || {} + this.K = { + timeout: a.timeout || 1E4, + maximumAge: a.maximumAge || 6E5, + enableHighAccuracy: a.enableHighAccuracy || t, + zi: a.SDKLocation || t + } + this.pe = [] + var b = this + K.load('othersearch', function() { + for (var a = 0, e; e = b.pe[a]; a++) + b[e.method].apply(b, e.arguments) + }) + } + z.extend(Geolocation.prototype, { + getCurrentPosition: function(a, b) { + this.pe.push({ + method: 'getCurrentPosition', + arguments: arguments + }) + }, + getStatus: function() { + return sd + }, + enableSDKLocation: function() { + H() && (this.K.zi = q) + }, + disableSDKLocation: function() { + this.K.zi = t + } + }) + function Wd(a) { + a = a || {} + a.la = a.renderOptions || {} + this.j = { + la: { + map: a.la.map || s + } + } + this.Pa = [] + var b = this + K.load('othersearch', function() { + b.Sd() + }) + } + z.ta(Wd, z.lang.Ca, 'LocalCity') + z.extend(Wd.prototype, { + get: function(a) { + this.Pa.push({ + method: 'get', + arguments: [a] + }) + }, + toString: ca('LocalCity') + }) + function Xd() { + this.Pa = [] + var a = this + K.load('othersearch', function() { + a.Sd() + }) + } + z.ta(Xd, z.lang.Ca, 'Boundary') + z.extend(Xd.prototype, { + get: function(a, b) { + this.Pa.push({ + method: 'get', + arguments: [a, b] + }) + }, + toString: ca('Boundary') + }) + function Yd(a, b) { + W.call(this, a, b) + this.TP = Cd + this.VP = Fd + this.SP = Dd + this.UP = Gd + this.Pa = [] + var c = this + K.load('buslinesearch', function() { + c.Sd() + }) + } + Yd.zv = G.qa + 'iw_plus.gif' + Yd.YS = G.qa + 'iw_minus.gif' + Yd.RU = G.qa + 'stop_icon.png' + z.ta(Yd, W) + z.extend(Yd.prototype, { + getBusList: function(a) { + this.Pa.push({ + method: 'getBusList', + arguments: [a] + }) + }, + getBusLine: function(a) { + this.Pa.push({ + method: 'getBusLine', + arguments: [a] + }) + }, + setGetBusListCompleteCallback: function(a) { + this.j.zN = a || u() + }, + setGetBusLineCompleteCallback: function(a) { + this.j.yN = a || u() + }, + setBusListHtmlSetCallback: function(a) { + this.j.wN = a || u() + }, + setBusLineHtmlSetCallback: function(a) { + this.j.vN = a || u() + }, + setPolylinesSetCallback: function(a) { + this.j.bF = a || u() + } + }) + function Zd(a) { + W.call(this, a) + a = a || {} + this.ub = { + input: a.input || s, + gC: a.baseDom || s, + types: a.types || [], + py: a.onSearchComplete || u() + } + this.Ad.src = a.location || '\u5168\u56fd' + this.Wi = '' + this.pg = s + this.lI = '' + this.Mi() + Ra(Ha) + var b = this + K.load('autocomplete', function() { + b.Sd() + }) + } + z.ta(Zd, W, 'Autocomplete') + z.extend(Zd.prototype, { + Mi: u(), + show: u(), + U: u(), + KF: function(a) { + this.ub.types = a + }, + fn: function(a) { + this.Ad.src = a + }, + search: ba('Wi'), + Ly: ba('lI') + }) + var Ta + function Oa(a, b) { + function c() { + f.j.visible ? ('inter' === f.Ke && f.j.haveBreakId && f.j.indoorExitControl === q ? z.D.show(f.GA) : z.D.U(f.GA), + this.j.closeControl && this.Bf && this.B && this.B.La() === this.C ? z.D.show(f.Bf) : z.D.U(f.Bf), + this.j.forceCloseControl && z.D.show(f.Bf)) : (z.D.U(f.Bf), + z.D.U(f.GA)) + } + this.C = 'string' == typeof a ? z.$(a) : a + this.aa = $d++ + this.j = { + enableScrollWheelZoom: q, + panoramaRenderer: 'flash', + swfSrc: B.vg('main_domain_nocdn', 'res/swf/') + 'APILoader.swf', + visible: q, + indoorExitControl: q, + indoorFloorControl: t, + linksControl: q, + clickOnRoad: q, + navigationControl: q, + closeControl: q, + indoorSceneSwitchControl: q, + albumsControl: t, + albumsControlOptions: {}, + copyrightControlOptions: {}, + forceCloseControl: t, + haveBreakId: t + } + var b = b || {}, e + for (e in b) + this.j[e] = b[e] + b.closeControl === q && (this.j.forceCloseControl = q) + b.useWebGL === t && Na(t) + this.Da = { + heading: 0, + pitch: 0 + } + this.bo = [] + this.Lb = this.Za = s + this.dk = this.er() + this.ya = [] + this.Mc = 1 + this.Ke = this.xT = this.jl = '' + this.Je = {} + this.Of = s + this.Sg = [] + this.xr = [] + 'cvsRender' == this.dk || Na() ? (this.Vj = 90, + this.Xj = -90) : 'cssRender' == this.dk && (this.Vj = 45, + this.Xj = -45) + this.Br = t + var f = this + this.co = function() { + this.dk === 'flashRender' ? K.load('panoramaflash', function() { + f.Mi() + }, q) : K.load('panorama', function() { + f.ib() + }, q) + b.of == 'api' ? Ra(Da) : Ra(Ea) + this.co = u() + } + + this.j.jT !== q && (this.co(), + B.Fn('cus.fire', 'count', 'z_loadpanoramacount')) + this.aU(this.C) + this.addEventListener('id_changed', function() { + Ra(Ca, { + from: b.of + }) + }) + this.mQ() + this.addEventListener('indoorexit_options_changed', c) + this.addEventListener('scene_type_changed', c) + this.addEventListener('onclose_options_changed', c) + this.addEventListener('onvisible_changed', c) + } + var ae = 4 + , be = 1 + , $d = 0 + z.lang.ta(Oa, z.lang.Ca, 'Panorama') + z.extend(Oa.prototype, { + mQ: function() { + var a = this + , b = this.Bf = L('div') + b.className = 'pano_close' + b.style.cssText = 'z-index: 1201;display: none' + b.title = '\u9000\u51fa\u5168\u666f' + b.onclick = function() { + a.U() + } + + this.C.appendChild(b) + var c = this.GA = L('a') + c.className = 'pano_pc_indoor_exit' + c.style.cssText = 'z-index: 1201;display: none' + c.innerHTML = '\u51fa\u53e3' + c.title = '\u9000\u51fa\u5ba4\u5185\u666f' + c.onclick = function() { + a.Vo() + } + + this.C.appendChild(c) + window.ActiveXObject && !document.addEventListener && (b.style.backgroundColor = 'rgb(37,37,37)', + c.style.backgroundColor = 'rgb(37,37,37)') + }, + Vo: u(), + aU: function(a) { + var b, c + b = a.style + c = Va(a).position + 'absolute' != c && 'relative' != c && (b.position = 'relative', + b.zIndex = 0) + if ('absolute' === c || 'relative' === c) + if (a = Va(a).zIndex, + !a || 'auto' === a) + b.zIndex = 0 + }, + OX: w('bo'), + Xb: w('Za'), + pY: w('jw'), + wO: w('jw'), + ga: w('Lb'), + Ea: w('Da'), + fa: w('Mc'), + jj: w('jl'), + I3: function() { + return this.U1 || [] + }, + D3: w('xT'), + ft: w('Ke'), + Ny: function(a) { + a !== this.Ke && (this.Ke = a, + this.dispatchEvent(new P('onscene_type_changed'))) + }, + vc: function(a, b, c) { + 'object' === typeof b && (c = b, + b = l) + a != this.Za && (this.ul = this.Za, + this.vl = this.Lb, + this.Za = a, + this.Ke = b || 'street', + this.Lb = s, + c && c.pov && this.Pc(c.pov)) + }, + sa: function(a) { + a.pb(this.Lb) || (this.ul = this.Za, + this.vl = this.Lb, + this.Lb = a, + this.Za = s) + }, + Pc: function(a) { + a && (this.Da = a, + a = this.Da.pitch, + a > this.Vj ? a = this.Vj : a < this.Xj && (a = this.Xj), + this.Br = q, + this.Da.pitch = a) + }, + H_: function(a, b) { + this.Xj = 0 <= a ? 0 : a + this.Vj = 0 >= b ? 0 : b + }, + Qc: function(a) { + a != this.Mc && (a > ae && (a = ae), + a < be && (a = be), + a != this.Mc && (this.Mc = a), + 'cssRender' === this.dk && this.Pc(this.Da)) + }, + GB: function() { + if (this.B) + for (var a = this.B.Hx(), b = 0; b < a.length; b++) + (a[b]instanceof U || a[b]instanceof uc) && a[b].point && this.ya.push(a[b]) + }, + GF: ba('B'), + au: function(a) { + this.Of = a || 'none' + }, + Qk: function(a) { + for (var b in a) { + if ('object' == typeof a[b]) + for (var c in a[b]) + this.j[b][c] = a[b][c] + else + this.j[b] = a[b] + a.closeControl === q && (this.j.forceCloseControl = q) + a.closeControl === t && (this.j.forceCloseControl = t) + switch (b) { + case 'linksControl': + this.dispatchEvent(new P('onlinks_visible_changed')) + break + case 'clickOnRoad': + this.dispatchEvent(new P('onclickonroad_changed')) + break + case 'navigationControl': + this.dispatchEvent(new P('onnavigation_visible_changed')) + break + case 'indoorSceneSwitchControl': + this.dispatchEvent(new P('onindoor_default_switch_mode_changed')) + break + case 'albumsControl': + this.dispatchEvent(new P('onalbums_visible_changed')) + break + case 'albumsControlOptions': + this.dispatchEvent(new P('onalbums_options_changed')) + break + case 'copyrightControlOptions': + this.dispatchEvent(new P('oncopyright_options_changed')) + break + case 'closeControl': + this.dispatchEvent(new P('onclose_options_changed')) + break + case 'indoorExitControl': + this.dispatchEvent(new P('onindoorexit_options_changed')) + break + case 'indoorFloorControl': + this.dispatchEvent(new P('onindoorfloor_options_changed')) + } + } + }, + Ek: function() { + this.Dl.style.visibility = 'hidden' + }, + Ry: function() { + this.Dl.style.visibility = 'visible' + }, + cX: function() { + this.j.enableScrollWheelZoom = q + }, + NW: function() { + this.j.enableScrollWheelZoom = t + }, + show: function() { + this.j.visible = q + }, + U: function() { + this.j.visible = t + }, + er: function() { + return Ua() && !H() && 'javascript' != this.j.panoramaRenderer ? 'flashRender' : !H() && Ob() ? 'cvsRender' : 'cssRender' + }, + Ga: function(a) { + this.Je[a.ld] = a + }, + Qb: function(a) { + delete this.Je[a] + }, + kE: function() { + return this.j.visible + }, + fh: function() { + return new O(this.C.clientWidth,this.C.clientHeight) + }, + La: w('C'), + yL: function() { + var a = B.vg('baidumap', '?') + , b = this.Xb() + if (b) { + var b = { + panotype: this.ft(), + heading: this.Ea().heading, + pitch: this.Ea().pitch, + pid: b, + panoid: b, + from: 'api' + }, c + for (c in b) + a += c + '=' + b[c] + '&' + } + return a.slice(0, -1) + }, + Px: function() { + this.Qk({ + copyrightControlOptions: { + logoVisible: t + } + }) + }, + NF: function() { + this.Qk({ + copyrightControlOptions: { + logoVisible: q + } + }) + }, + aC: function(a) { + function b(a, b) { + return function() { + a.xr.push({ + iN: b, + hN: arguments + }) + } + } + for (var c = a.getPanoMethodList(), e = '', f = 0, g = c.length; f < g; f++) + e = c[f], + this[e] = b(this, e) + this.Sg.push(a) + }, + rF: function(a) { + for (var b = this.Sg.length; b--; ) + this.Sg[b] === a && this.Sg.splice(b, 1) + }, + FF: u() + }) + var ce = Oa.prototype + T(ce, { + setId: ce.vc, + setPosition: ce.sa, + setPov: ce.Pc, + setZoom: ce.Qc, + setOptions: ce.Qk, + getId: ce.Xb, + getPosition: ce.ga, + getPov: ce.Ea, + getZoom: ce.fa, + getLinks: ce.OX, + getBaiduMapUrl: ce.yL, + hideMapLogo: ce.Px, + showMapLogo: ce.NF, + enableDoubleClickZoom: ce.W2, + disableDoubleClickZoom: ce.J2, + enableScrollWheelZoom: ce.cX, + disableScrollWheelZoom: ce.NW, + show: ce.show, + hide: ce.U, + addPlugin: ce.aC, + removePlugin: ce.rF, + getVisible: ce.kE, + addOverlay: ce.Ga, + removeOverlay: ce.Qb, + getSceneType: ce.ft, + setPanoramaPOIType: ce.au, + exitInter: ce.Vo, + setInteractiveState: ce.FF + }) + T(window, { + BMAP_PANORAMA_POI_HOTEL: 'hotel', + BMAP_PANORAMA_POI_CATERING: 'catering', + BMAP_PANORAMA_POI_MOVIE: 'movie', + BMAP_PANORAMA_POI_TRANSIT: 'transit', + BMAP_PANORAMA_POI_INDOOR_SCENE: 'indoor_scene', + BMAP_PANORAMA_POI_NONE: 'none', + BMAP_PANORAMA_INDOOR_SCENE: 'inter', + BMAP_PANORAMA_STREET_SCENE: 'street' + }) + function de() { + z.lang.Ca.call(this) + this.ld = 'PanoramaOverlay_' + this.aa + this.P = s + this.Qa = q + } + z.lang.ta(de, z.lang.Ca, 'PanoramaOverlayBase') + z.extend(de.prototype, { + E3: w('ld'), + na: function() { + aa('initialize\u65b9\u6cd5\u672a\u5b9e\u73b0') + }, + remove: function() { + aa('remove\u65b9\u6cd5\u672a\u5b9e\u73b0') + }, + Nf: function() { + aa('_setOverlayProperty\u65b9\u6cd5\u672a\u5b9e\u73b0') + } + }) + function ee(a, b) { + de.call(this) + var c = { + position: s, + altitude: 2, + displayDistance: q + }, b = b || {}, e + for (e in b) + c[e] = b[e] + this.Lb = c.position + this.Ij = a + this.xq = c.altitude + this.zR = c.displayDistance + this.UF = c.color + this.kM = c.hoverColor + this.backgroundColor = c.backgroundColor + this.jK = c.backgroundHoverColor + this.borderColor = c.borderColor + this.oK = c.borderHoverColor + this.fontSize = c.fontSize + this.padding = c.padding + this.pE = c.imageUrl + this.size = c.size + this.xe = c.image + this.width = c.width + this.height = c.height + this.HY = c.imageData + this.borderWidth = c.borderWidth + } + z.lang.ta(ee, de, 'PanoramaLabel') + z.extend(ee.prototype, { + j3: w('borderWidth'), + getImageData: w('HY'), + zm: w('UF'), + y3: w('kM'), + f3: w('backgroundColor'), + g3: w('jK'), + h3: w('borderColor'), + i3: w('oK'), + w3: w('fontSize'), + F3: w('padding'), + z3: w('pE'), + cb: w('size'), + zx: w('xe'), + sa: function(a) { + this.Lb = a + this.Nf('position', a) + }, + ga: w('Lb'), + dd: function(a) { + this.Ij = a + this.Nf('content', a) + }, + xk: w('Ij'), + AF: function(a) { + this.xq = a + this.Nf('altitude', a) + }, + Yo: w('xq'), + Ea: function() { + var a = this.ga() + , b = s + , c = s + this.P && (c = this.P.ga()) + if (a && c) + if (a.pb(c)) + b = this.P.Ea() + else { + b = {} + b.heading = fe(a.lng - c.lng, a.lat - c.lat) || 0 + var a = b + , c = this.Yo() + , e = this.Xn() + a.pitch = Math.round(180 * (Math.atan(c / e) / Math.PI)) || 0 + } + return b + }, + Xn: function() { + var a = 0, b, c + this.P && (b = this.P.ga(), + (c = this.ga()) && !c.pb(b) && (a = S.$o(b, c))) + return a + }, + U: function() { + aa('hide\u65b9\u6cd5\u672a\u5b9e\u73b0') + }, + show: function() { + aa('show\u65b9\u6cd5\u672a\u5b9e\u73b0') + }, + Nf: u() + }) + var ge = ee.prototype + T(ge, { + setPosition: ge.sa, + getPosition: ge.ga, + setContent: ge.dd, + getContent: ge.xk, + setAltitude: ge.AF, + getAltitude: ge.Yo, + getPov: ge.Ea, + show: ge.show, + hide: ge.U + }) + function he(a, b) { + de.call(this) + var c = { + icon: '', + title: '', + panoInfo: s, + altitude: 2 + }, b = b || {}, e + for (e in b) + c[e] = b[e] + this.Lb = a + this.gI = c.icon + this.DJ = c.title + this.xq = c.altitude + this.OT = c.panoInfo + this.Da = { + heading: 0, + pitch: 0 + } + } + z.lang.ta(he, de, 'PanoramaMarker') + z.extend(he.prototype, { + sa: function(a) { + this.Lb = a + this.Nf('position', a) + }, + ga: w('Lb'), + Ec: function(a) { + this.DJ = a + this.Nf('title', a) + }, + gp: w('DJ'), + Rb: function(a) { + this.gI = icon + this.Nf('icon', a) + }, + ap: w('gI'), + AF: function(a) { + this.xq = a + this.Nf('altitude', a) + }, + Yo: w('xq'), + $D: w('OT'), + Ea: function() { + var a = s + if (this.P) { + var a = this.P.ga() + , b = this.ga() + , a = fe(b.lng - a.lng, b.lat - a.lat) + isNaN(a) && (a = 0) + a = { + heading: a, + pitch: 0 + } + } else + a = this.Da + return a + }, + Nf: u() + }) + var ie = he.prototype + T(ie, { + setPosition: ie.sa, + getPosition: ie.ga, + setTitle: ie.Ec, + getTitle: ie.gp, + setAltitude: ie.AF, + getAltitude: ie.Yo, + getPanoInfo: ie.$D, + getIcon: ie.ap, + setIcon: ie.Rb, + getPov: ie.Ea + }) + function fe(a, b) { + var c = 0 + if (0 !== a && 0 !== b) { + var c = 180 * (Math.atan(a / b) / Math.PI) + , e = 0 + 0 < a && 0 > b && (e = 90) + 0 > a && 0 > b && (e = 180) + 0 > a && 0 < b && (e = 270) + c = (c + 90) % 90 + e + } else + 0 === a ? c = 0 > b ? 180 : 0 : 0 === b && (c = 0 < a ? 90 : 270) + return Math.round(c) + } + function Na(a) { + if ('boolean' === typeof je) + return je + if (a === t || !window.WebGLRenderingContext) + return je = t + if (z.platform.Jm) { + a = 0 + try { + a = navigator.userAgent.split('Android ')[1].charAt(0) + } catch (b) {} + if (5 > a) + return je = t + } + var a = document.createElement('canvas') + , c = s + try { + c = a.getContext('webgl') + } catch (e) { + je = t + } + return je = c === s ? t : q + } + var je + function ke() { + if ('boolean' === typeof le) + return le + le = q + if (z.platform.zE) + return q + var a = navigator.userAgent + return -1 < a.indexOf('Chrome') || -1 < a.indexOf('SAMSUNG-GT-I9508') ? q : le = t + } + var le + function ec(a, b) { + this.P = a || s + var c = this + c.P && c.ba() + K.load('pservice', function() { + c.SQ() + }) + 'api' == (b || {}).of ? Ra(Fa) : Ra(Ga) + this.xd = { + getPanoramaById: [], + getPanoramaByLocation: [], + getVisiblePOIs: [], + getRecommendPanosById: [], + getPanoramaVersions: [], + checkPanoSupportByCityCode: [], + getPanoramaByPOIId: [], + getCopyrightProviders: [] + } + } + B.Tm(function(a) { + 'flashRender' !== a.er() && new ec(a,{ + of: 'api' + }) + }) + z.extend(ec.prototype, { + ba: function() { + function a(a) { + if (a) { + if (a.id != b.jw) { + b.wO(a.id) + b.ea = a + ke() || b.dispatchEvent(new P('onthumbnail_complete')) + b.Za != s && (b.vl = b._position) + for (var c in a) + if (a.hasOwnProperty(c)) + switch (b['_' + c] = a[c], + c) { + case 'position': + b.Lb = a[c] + break + case 'id': + b.Za = a[c] + break + case 'links': + b.bo = a[c] + break + case 'zoom': + b.Mc = a[c] + } + if (b.vl) { + var g = b.vl + , i = b._position + c = g.lat + var k = i.lat + , m = Pb(k - c) + , g = Pb(i.lng - g.lng) + c = Math.sin(m / 2) * Math.sin(m / 2) + Math.cos(Pb(c)) * Math.cos(Pb(k)) * Math.sin(g / 2) * Math.sin(g / 2) + b.wH = 6371E3 * 2 * Math.atan2(Math.sqrt(c), Math.sqrt(1 - c)) + } + c = new P('ondataload') + c.data = a + b.dispatchEvent(c) + b.dispatchEvent(new P('onposition_changed')) + b.dispatchEvent(new P('onlinks_changed')) + b.dispatchEvent(new P('oncopyright_changed'), { + copyright: a.copyright + }) + a.bm && b.j.closeControl ? z.D.show(b.WR) : z.D.U(b.WR) + } + } else + b.Za = b.ul, + b.Lb = b.vl, + b.dispatchEvent(new P('onnoresult')) + } + var b = this.P + , c = this + b.addEventListener('id_changed', function() { + c.ep(b.Xb(), a) + }) + b.addEventListener('iid_changed', function() { + c.Tg(ec.el + 'qt=idata&iid=' + b.CA + '&fn=', function(b) { + if (b && b.result && 0 == b.result.error) { + var b = b.content[0].interinfo + , f = {} + f.bm = b.BreakID + for (var g = b.Defaultfloor, i = s, k = 0; k < b.Floors.length; k++) + if (b.Floors[k].Floor == g) { + i = b.Floors[k] + break + } + f.id = i.StartID || i.Points[0].PID + c.ep(f.id, a, f) + } + }) + }) + b.addEventListener('position_changed_inner', function() { + c.kj(b.ga(), a) + }) + }, + ep: function(a, b) { + this.xd.getPanoramaById.push(arguments) + }, + kj: function(a, b, c) { + this.xd.getPanoramaByLocation.push(arguments) + }, + lE: function(a, b, c, e) { + this.xd.getVisiblePOIs.push(arguments) + }, + Kx: function(a, b) { + this.xd.getRecommendPanosById.push(arguments) + }, + Jx: function(a) { + this.xd.getPanoramaVersions.push(arguments) + }, + nC: function(a, b) { + this.xd.checkPanoSupportByCityCode.push(arguments) + }, + Ix: function(a, b) { + this.xd.getPanoramaByPOIId.push(arguments) + }, + CL: function(a) { + this.xd.getCopyrightProviders.push(arguments) + } + }) + var ne = ec.prototype + T(ne, { + getPanoramaById: ne.ep, + getPanoramaByLocation: ne.kj, + getPanoramaByPOIId: ne.Ix + }) + function dc(a) { + Mc.call(this) + 'api' == (a || {}).of ? Ra(Aa) : Ra(Ba) + } + dc.OG = B.vg('pano', 'tile/') + dc.prototype = new Mc + dc.prototype.getTilesUrl = function(a, b) { + var c = dc.OG[(a.x + a.y) % dc.OG.length] + '?udt=20150114&qt=tile&styles=pl&x=' + a.x + '&y=' + a.y + '&z=' + b + z.ca.ia && 6 >= z.ca.ia && (c += '&color_dep=32') + return c + } + + dc.prototype.zt = ca(q) + oe.Wd = new S + function oe() {} + z.extend(oe, { + OW: function(a, b, c) { + c = z.lang.Nc(c) + b = { + data: b + } + 'position_changed' == a && (b.data = oe.Wd.xj(new Q(b.data.mercatorX,b.data.mercatorY))) + c.dispatchEvent(new P('on' + a), b) + } + }) + var pe = oe + T(pe, { + dispatchFlashEvent: pe.OW + }) + var qe = { + KP: 50 + } + qe.Ou = B.vg('pano')[0] + qe.Mu = { + width: 220, + height: 60 + } + z.extend(qe, { + tM: function(a, b, c, e) { + if (!b || !c || !c.lngLat || !c.panoInstance) + e() + else { + this.jo === l && (this.jo = new ec(s,{ + of: 'api' + })) + var f = this + this.jo.nC(b, function(b) { + b ? f.jo.kj(c.lngLat, qe.KP, function(b) { + if (b && b.id) { + var g = b.id + , m = b.rh + , b = b.th + , n = ec.Wd.kh(c.lngLat) + , o = f.AS(n, { + x: m, + y: b + }) + , m = f.PL(g, o, 0, qe.Mu.width, qe.Mu.height) + a.content = f.BS(a.content, m, c.titleTip, c.beforeDomId) + a.addEventListener('open', function() { + ia.M(z.Fc('infoWndPano'), 'click', function() { + c.panoInstance.vc(g) + c.panoInstance.show() + c.panoInstance.Pc({ + heading: o, + pitch: 0 + }) + }) + }) + } + e() + }) : e() + }) + } + }, + BS: function(a, b, c, e) { + var c = c || '', f + !e || !a.split(e)[0] ? (e = a, + a = '') : (e = a.split(e)[0], + f = e.lastIndexOf('<'), + e = a.substring(0, f), + a = a.substring(f)) + f = [] + var g = qe.Mu.width + , i = qe.Mu.height + f.push(e) + f.push("
") + f.push("" + c + "\u5916\u666f") + f.push("
\u8fdb\u5165\u5168\u666f>>") + f.push('
') + f.push(a) + return f.join('') + }, + AS: function(a, b) { + var c = 90 - 180 * Math.atan2(a.y - b.y, a.x - b.x) / Math.PI + 0 > c && (c += 360) + return c + }, + PL: function(a, b, c, e, f) { + var g = { + panoId: a, + panoHeading: b || 0, + panoPitch: c || 0, + width: e, + height: f + } + return (qe.Ou + '?qt=pr3d&fovy=75&quality=80&panoid={panoId}&heading={panoHeading}&pitch={panoPitch}&width={width}&height={height}').replace(/\{(.*?)\}/g, function(a, b) { + return g[b] + }) + } + }) + var te = document, ue = Math, ve = te.createElement('div').style, we + a: { + for (var xe = ['t', 'webkitT', 'MozT', 'msT', 'OT'], ye, ze = 0, Ae = xe.length; ze < Ae; ze++) + if (ye = xe[ze] + 'ransform', + ye in ve) { + we = xe[ze].substr(0, xe[ze].length - 1) + break a + } + we = t + } + var Be = we ? '-' + we.toLowerCase() + '-' : '' + , De = Ce('transform') + , Ee = Ce('transitionProperty') + , Fe = Ce('transitionDuration') + , Ge = Ce('transformOrigin') + , He = Ce('transitionTimingFunction') + , Ie = Ce('transitionDelay') + , Sd = /android/gi.test(navigator.appVersion) + , Je = /iphone|ipad/gi.test(navigator.appVersion) + , Ke = /hp-tablet/gi.test(navigator.appVersion) + , Le = Ce('perspective')in ve + , Me = 'ontouchstart'in window && !Ke + , Ne = we !== t + , Oe = Ce('transition')in ve + , Pe = 'onorientationchange'in window ? 'orientationchange' : 'resize' + , Qe = Me ? 'touchstart' : 'mousedown' + , Re = Me ? 'touchmove' : 'mousemove' + , Se = Me ? 'touchend' : 'mouseup' + , Te = Me ? 'touchcancel' : 'mouseup' + , Ue = we === t ? t : { + '': 'transitionend', + webkit: 'webkitTransitionEnd', + Moz: 'transitionend', + O: 'otransitionend', + ms: 'MSTransitionEnd' + }[we] + , Ve = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(a) { + return setTimeout(a, 1) + } + , We = window.cancelRequestAnimationFrame || window.U5 || window.webkitCancelRequestAnimationFrame || window.mozCancelRequestAnimationFrame || window.oCancelRequestAnimationFrame || window.msCancelRequestAnimationFrame || clearTimeout + , Xe = Le ? ' translateZ(0)' : '' + function Ye(a, b) { + var c = this, e + c.zn = 'object' == typeof a ? a : te.getElementById(a) + c.zn.style.overflow = 'hidden' + c.Nb = c.zn.children[0] + c.options = { + kp: q, + xn: q, + x: 0, + y: 0, + Go: q, + LV: t, + iy: q, + OE: q, + Yk: q, + wi: t, + n0: 0, + Pw: t, + Mx: q, + ii: q, + xi: q, + AD: Sd, + Qx: Je, + kX: Je && Le, + xF: '', + zoom: t, + $k: 1, + aq: 4, + QW: 2, + qP: 'scroll', + iu: t, + Uy: 1, + CN: s, + uN: function(a) { + a.preventDefault() + }, + FN: s, + tN: s, + EN: s, + sN: s, + oy: s, + GN: s, + xN: s, + zp: s, + HN: s, + yp: s + } + for (e in b) + c.options[e] = b[e] + c.x = c.options.x + c.y = c.options.y + c.options.Yk = Ne && c.options.Yk + c.options.ii = c.options.kp && c.options.ii + c.options.xi = c.options.xn && c.options.xi + c.options.zoom = c.options.Yk && c.options.zoom + c.options.wi = Oe && c.options.wi + c.options.zoom && Sd && (Xe = '') + c.Nb.style[Ee] = c.options.Yk ? Be + 'transform' : 'top left' + c.Nb.style[Fe] = '0' + c.Nb.style[Ge] = '0 0' + c.options.wi && (c.Nb.style[He] = 'cubic-bezier(0.33,0.66,0.66,1)') + c.options.Yk ? c.Nb.style[De] = 'translate(' + c.x + 'px,' + c.y + 'px)' + Xe : c.Nb.style.cssText += ';position:absolute;top:' + c.y + 'px;left:' + c.x + 'px' + c.options.wi && (c.options.AD = q) + c.refresh() + c.ba(Pe, window) + c.ba(Qe) + !Me && 'none' != c.options.qP && (c.ba('DOMMouseScroll'), + c.ba('mousewheel')) + c.options.Pw && (c.XV = setInterval(function() { + c.PQ() + }, 500)) + this.options.Mx && (Event.prototype.stopImmediatePropagation || (document.body.removeEventListener = function(a, b, c) { + var e = Node.prototype.removeEventListener + a === 'click' ? e.call(document.body, a, b.iM || b, c) : e.call(document.body, a, b, c) + } + , + document.body.addEventListener = function(a, b, c) { + var e = Node.prototype.addEventListener + a === 'click' ? e.call(document.body, a, b.iM || (b.iM = function(a) { + a.RZ || b(a) + } + ), c) : e.call(document.body, a, b, c) + } + ), + c.ba('click', document.body, q)) + } + Ye.prototype = { + enabled: q, + x: 0, + y: 0, + yj: [], + scale: 1, + HC: 0, + IC: 0, + We: [], + wf: [], + fC: s, + cz: 0, + handleEvent: function(a) { + switch (a.type) { + case Qe: + if (!Me && 0 !== a.button) + break + this.aw(a) + break + case Re: + this.zT(a) + break + case Se: + case Te: + this.lv(a) + break + case Pe: + this.zB() + break + case 'DOMMouseScroll': + case 'mousewheel': + this.eV(a) + break + case Ue: + this.$U(a) + break + case 'click': + this.$Q(a) + } + }, + PQ: function() { + !this.oh && (!this.al && !(this.Yl || this.Ky == this.Nb.offsetWidth * this.scale && this.Ip == this.Nb.offsetHeight * this.scale)) && this.refresh() + }, + Sv: function(a) { + var b + this[a + 'Scrollbar'] ? (this[a + 'ScrollbarWrapper'] || (b = te.createElement('div'), + this.options.xF ? b.className = this.options.xF + a.toUpperCase() : b.style.cssText = 'position:absolute;z-index:100;' + ('h' == a ? 'height:7px;bottom:1px;left:2px;right:' + (this.xi ? '7' : '2') + 'px' : 'width:7px;bottom:' + (this.ii ? '7' : '2') + 'px;top:2px;right:1px'), + b.style.cssText += ';pointer-events:none;' + Be + 'transition-property:opacity;' + Be + 'transition-duration:' + (this.options.kX ? '350ms' : '0') + ';overflow:hidden;opacity:' + (this.options.Qx ? '0' : '1'), + this.zn.appendChild(b), + this[a + 'ScrollbarWrapper'] = b, + b = te.createElement('div'), + this.options.xF || (b.style.cssText = 'position:absolute;z-index:100;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);' + Be + 'background-clip:padding-box;' + Be + 'box-sizing:border-box;' + ('h' == a ? 'height:100%' : 'width:100%') + ';' + Be + 'border-radius:3px;border-radius:3px'), + b.style.cssText += ';pointer-events:none;' + Be + 'transition-property:' + Be + 'transform;' + Be + 'transition-timing-function:cubic-bezier(0.33,0.66,0.66,1);' + Be + 'transition-duration:0;' + Be + 'transform: translate(0,0)' + Xe, + this.options.wi && (b.style.cssText += ';' + Be + 'transition-timing-function:cubic-bezier(0.33,0.66,0.66,1)'), + this[a + 'ScrollbarWrapper'].appendChild(b), + this[a + 'ScrollbarIndicator'] = b), + 'h' == a ? (this.fM = this.gM.clientWidth, + this.yY = ue.max(ue.round(this.fM * this.fM / this.Ky), 8), + this.xY.style.width = this.yY + 'px') : (this.iP = this.jP.clientHeight, + this.L0 = ue.max(ue.round(this.iP * this.iP / this.Ip), 8), + this.K0.style.height = this.L0 + 'px'), + this.AB(a, q)) : this[a + 'ScrollbarWrapper'] && (Ne && (this[a + 'ScrollbarIndicator'].style[De] = ''), + this[a + 'ScrollbarWrapper'].parentNode.removeChild(this[a + 'ScrollbarWrapper']), + this[a + 'ScrollbarWrapper'] = s, + this[a + 'ScrollbarIndicator'] = s) + }, + zB: function() { + var a = this + setTimeout(function() { + a.refresh() + }, Sd ? 200 : 0) + }, + Ar: function(a, b) { + this.al || (a = this.kp ? a : 0, + b = this.xn ? b : 0, + this.options.Yk ? this.Nb.style[De] = 'translate(' + a + 'px,' + b + 'px) scale(' + this.scale + ')' + Xe : (a = ue.round(a), + b = ue.round(b), + this.Nb.style.left = a + 'px', + this.Nb.style.top = b + 'px'), + this.x = a, + this.y = b, + this.AB('h'), + this.AB('v')) + }, + AB: function(a, b) { + var c = 'h' == a ? this.x : this.y + this[a + 'Scrollbar'] && (c *= this[a + 'ScrollbarProp'], + 0 > c ? (this.options.AD || (c = this[a + 'ScrollbarIndicatorSize'] + ue.round(3 * c), + 8 > c && (c = 8), + this[a + 'ScrollbarIndicator'].style['h' == a ? 'width' : 'height'] = c + 'px'), + c = 0) : c > this[a + 'ScrollbarMaxScroll'] && (this.options.AD ? c = this[a + 'ScrollbarMaxScroll'] : (c = this[a + 'ScrollbarIndicatorSize'] - ue.round(3 * (c - this[a + 'ScrollbarMaxScroll'])), + 8 > c && (c = 8), + this[a + 'ScrollbarIndicator'].style['h' == a ? 'width' : 'height'] = c + 'px', + c = this[a + 'ScrollbarMaxScroll'] + (this[a + 'ScrollbarIndicatorSize'] - c))), + this[a + 'ScrollbarWrapper'].style[Ie] = '0', + this[a + 'ScrollbarWrapper'].style.opacity = b && this.options.Qx ? '0' : '1', + this[a + 'ScrollbarIndicator'].style[De] = 'translate(' + ('h' == a ? c + 'px,0)' : '0,' + c + 'px)') + Xe) + }, + $Q: function(a) { + if (a.XR === q) + return this.YB = a.target, + this.sx = Date.now(), + q + if (this.YB && this.sx) { + if (600 < Date.now() - this.sx) + return this.sx = this.YB = s, + q + } else { + for (var b = a.target; b != this.Nb && b != document.body; ) + b = b.parentNode + if (b == document.body) + return q + } + for (b = a.target; 1 != b.nodeType; ) + b = b.parentNode + b = b.tagName.toLowerCase() + if ('select' != b && 'input' != b && 'textarea' != b) + return a.stopImmediatePropagation ? a.stopImmediatePropagation() : a.RZ = q, + a.stopPropagation(), + a.preventDefault(), + this.sx = this.YB = s, + t + }, + aw: function(a) { + var b = Me ? a.touches[0] : a, c, e + if (this.enabled) { + this.options.uN && this.options.uN.call(this, a); + (this.options.wi || this.options.zoom) && this.FJ(0) + this.al = this.Yl = this.oh = t + this.RC = this.QC = this.vw = this.uw = this.XC = this.WC = 0 + this.options.zoom && (Me && 1 < a.touches.length) && (e = ue.abs(a.touches[0].pageX - a.touches[1].pageX), + c = ue.abs(a.touches[0].pageY - a.touches[1].pageY), + this.p0 = ue.sqrt(e * e + c * c), + this.qy = ue.abs(a.touches[0].pageX + a.touches[1].pageX - 2 * this.iG) / 2 - this.x, + this.ty = ue.abs(a.touches[0].pageY + a.touches[1].pageY - 2 * this.jG) / 2 - this.y, + this.options.zp && this.options.zp.call(this, a)) + if (this.options.iy && (this.options.Yk ? (c = getComputedStyle(this.Nb, s)[De].replace(/[^0-9\-.,]/g, '').split(','), + e = +(c[12] || c[4]), + c = +(c[13] || c[5])) : (e = +getComputedStyle(this.Nb, s).left.replace(/[^0-9-]/g, ''), + c = +getComputedStyle(this.Nb, s).top.replace(/[^0-9-]/g, '')), + e != this.x || c != this.y)) + this.options.wi ? this.$d(Ue) : We(this.fC), + this.yj = [], + this.Ar(e, c), + this.options.oy && this.options.oy.call(this) + this.ww = this.x + this.xw = this.y + this.lu = this.x + this.mu = this.y + this.rh = b.pageX + this.th = b.pageY + this.startTime = a.timeStamp || Date.now() + this.options.FN && this.options.FN.call(this, a) + this.ba(Re, window) + this.ba(Se, window) + this.ba(Te, window) + } + }, + zT: function(a) { + var b = Me ? a.touches[0] : a + , c = b.pageX - this.rh + , e = b.pageY - this.th + , f = this.x + c + , g = this.y + e + , i = a.timeStamp || Date.now() + this.options.tN && this.options.tN.call(this, a) + if (this.options.zoom && Me && 1 < a.touches.length) + f = ue.abs(a.touches[0].pageX - a.touches[1].pageX), + g = ue.abs(a.touches[0].pageY - a.touches[1].pageY), + this.o0 = ue.sqrt(f * f + g * g), + this.al = q, + b = 1 / this.p0 * this.o0 * this.scale, + b < this.options.$k ? b = 0.5 * this.options.$k * Math.pow(2, b / this.options.$k) : b > this.options.aq && (b = 2 * this.options.aq * Math.pow(0.5, this.options.aq / b)), + this.rp = b / this.scale, + f = this.qy - this.qy * this.rp + this.x, + g = this.ty - this.ty * this.rp + this.y, + this.Nb.style[De] = 'translate(' + f + 'px,' + g + 'px) scale(' + b + ')' + Xe, + this.options.HN && this.options.HN.call(this, a) + else { + this.rh = b.pageX + this.th = b.pageY + if (0 < f || f < this.he) + f = this.options.Go ? this.x + c / 2 : 0 <= f || 0 <= this.he ? 0 : this.he + if (g > this.sf || g < this.qd) + g = this.options.Go ? this.y + e / 2 : g >= this.sf || 0 <= this.qd ? this.sf : this.qd + this.WC += c + this.XC += e + this.uw = ue.abs(this.WC) + this.vw = ue.abs(this.XC) + 6 > this.uw && 6 > this.vw || (this.options.OE && (this.uw > this.vw + 5 ? (g = this.y, + e = 0) : this.vw > this.uw + 5 && (f = this.x, + c = 0)), + this.oh = q, + this.Ar(f, g), + this.QC = 0 < c ? -1 : 0 > c ? 1 : 0, + this.RC = 0 < e ? -1 : 0 > e ? 1 : 0, + 300 < i - this.startTime && (this.startTime = i, + this.lu = this.x, + this.mu = this.y), + this.options.EN && this.options.EN.call(this, a)) + } + }, + lv: function(a) { + if (!(Me && 0 !== a.touches.length)) { + var b = this, c = Me ? a.changedTouches[0] : a, e, f, g = { + Ba: 0, + time: 0 + }, i = { + Ba: 0, + time: 0 + }, k = (a.timeStamp || Date.now()) - b.startTime + e = b.x + f = b.y + b.$d(Re, window) + b.$d(Se, window) + b.$d(Te, window) + b.options.sN && b.options.sN.call(b, a) + if (b.al) + e = b.scale * b.rp, + e = Math.max(b.options.$k, e), + e = Math.min(b.options.aq, e), + b.rp = e / b.scale, + b.scale = e, + b.x = b.qy - b.qy * b.rp + b.x, + b.y = b.ty - b.ty * b.rp + b.y, + b.Nb.style[Fe] = '200ms', + b.Nb.style[De] = 'translate(' + b.x + 'px,' + b.y + 'px) scale(' + b.scale + ')' + Xe, + b.al = t, + b.refresh(), + b.options.yp && b.options.yp.call(b, a) + else { + if (b.oh) { + if (300 > k && b.options.iy) { + g = e ? b.BI(e - b.lu, k, -b.x, b.Ky - b.Cu + b.x, b.options.Go ? b.Cu : 0) : g + i = f ? b.BI(f - b.mu, k, -b.y, 0 > b.qd ? b.Ip - b.An + b.y - b.sf : 0, b.options.Go ? b.An : 0) : i + e = b.x + g.Ba + f = b.y + i.Ba + if (0 < b.x && 0 < e || b.x < b.he && e < b.he) + g = { + Ba: 0, + time: 0 + } + if (b.y > b.sf && f > b.sf || b.y < b.qd && f < b.qd) + i = { + Ba: 0, + time: 0 + } + } + g.Ba || i.Ba ? (c = ue.max(ue.max(g.time, i.time), 10), + b.options.iu && (g = e - b.ww, + i = f - b.xw, + ue.abs(g) < b.options.Uy && ue.abs(i) < b.options.Uy ? b.scrollTo(b.ww, b.xw, 200) : (g = b.vJ(e, f), + e = g.x, + f = g.y, + c = ue.max(g.time, c))), + b.scrollTo(ue.round(e), ue.round(f), c)) : b.options.iu ? (g = e - b.ww, + i = f - b.xw, + ue.abs(g) < b.options.Uy && ue.abs(i) < b.options.Uy ? b.scrollTo(b.ww, b.xw, 200) : (g = b.vJ(b.x, b.y), + (g.x != b.x || g.y != b.y) && b.scrollTo(g.x, g.y, g.time))) : b.lo(200) + } else { + if (Me) + if (b.VK && b.options.zoom) + clearTimeout(b.VK), + b.VK = s, + b.options.zp && b.options.zp.call(b, a), + b.zoom(b.rh, b.th, 1 == b.scale ? b.options.QW : 1), + b.options.yp && setTimeout(function() { + b.options.yp.call(b, a) + }, 200) + else if (this.options.Mx) { + for (e = c.target; 1 != e.nodeType; ) + e = e.parentNode + f = e.tagName.toLowerCase() + 'select' != f && 'input' != f && 'textarea' != f ? (f = te.createEvent('MouseEvents'), + f.initMouseEvent('click', q, q, a.view, 1, c.screenX, c.screenY, c.clientX, c.clientY, a.ctrlKey, a.altKey, a.shiftKey, a.metaKey, 0, s), + f.XR = q, + e.dispatchEvent(f)) : e.focus() + } + b.lo(400) + } + b.options.GN && b.options.GN.call(b, a) + } + } + }, + lo: function(a) { + var b = 0 <= this.x ? 0 : this.x < this.he ? this.he : this.x + , c = this.y >= this.sf || 0 < this.qd ? this.sf : this.y < this.qd ? this.qd : this.y + if (b == this.x && c == this.y) { + if (this.oh && (this.oh = t, + this.options.oy && this.options.oy.call(this)), + this.ii && this.options.Qx && ('webkit' == we && (this.gM.style[Ie] = '300ms'), + this.gM.style.opacity = '0'), + this.xi && this.options.Qx) + 'webkit' == we && (this.jP.style[Ie] = '300ms'), + this.jP.style.opacity = '0' + } else + this.scrollTo(b, c, a || 0) + }, + eV: function(a) { + var b = this, c, e + if ('wheelDeltaX'in a) + c = a.wheelDeltaX / 12, + e = a.wheelDeltaY / 12 + else if ('wheelDelta'in a) + c = e = a.wheelDelta / 12 + else if ('detail'in a) + c = e = 3 * -a.detail + else + return + if ('zoom' == b.options.qP) { + if (e = b.scale * Math.pow(2, 1 / 3 * (e ? e / Math.abs(e) : 0)), + e < b.options.$k && (e = b.options.$k), + e > b.options.aq && (e = b.options.aq), + e != b.scale) + !b.cz && b.options.zp && b.options.zp.call(b, a), + b.cz++, + b.zoom(a.pageX, a.pageY, e, 400), + setTimeout(function() { + b.cz-- + !b.cz && b.options.yp && b.options.yp.call(b, a) + }, 400) + } else + c = b.x + c, + e = b.y + e, + 0 < c ? c = 0 : c < b.he && (c = b.he), + e > b.sf ? e = b.sf : e < b.qd && (e = b.qd), + 0 > b.qd && b.scrollTo(c, e, 0) + }, + $U: function(a) { + a.target == this.Nb && (this.$d(Ue), + this.MB()) + }, + MB: function() { + var a = this, b = a.x, c = a.y, e = Date.now(), f, g, i + a.Yl || (a.yj.length ? (f = a.yj.shift(), + f.x == b && f.y == c && (f.time = 0), + a.Yl = q, + a.oh = q, + a.options.wi) ? (a.FJ(f.time), + a.Ar(f.x, f.y), + a.Yl = t, + f.time ? a.ba(Ue) : a.lo(0)) : (i = function() { + var k = Date.now(), m + if (k >= e + f.time) { + a.Ar(f.x, f.y) + a.Yl = t + a.options.zZ && a.options.zZ.call(a) + a.MB() + } else { + k = (k - e) / f.time - 1 + g = ue.sqrt(1 - k * k) + k = (f.x - b) * g + b + m = (f.y - c) * g + c + a.Ar(k, m) + if (a.Yl) + a.fC = Ve(i) + } + } + , + i()) : a.lo(400)) + }, + FJ: function(a) { + a += 'ms' + this.Nb.style[Fe] = a + this.ii && (this.xY.style[Fe] = a) + this.xi && (this.K0.style[Fe] = a) + }, + BI: function(a, b, c, e, f) { + var b = ue.abs(a) / b + , g = b * b / 0.0012 + 0 < a && g > c ? (c += f / (6 / (6.0E-4 * (g / b))), + b = b * c / g, + g = c) : 0 > a && g > e && (e += f / (6 / (6.0E-4 * (g / b))), + b = b * e / g, + g = e) + return { + Ba: g * (0 > a ? -1 : 1), + time: ue.round(b / 6.0E-4) + } + }, + Zj: function(a) { + for (var b = -a.offsetLeft, c = -a.offsetTop; a = a.offsetParent; ) + b -= a.offsetLeft, + c -= a.offsetTop + a != this.zn && (b *= this.scale, + c *= this.scale) + return { + left: b, + top: c + } + }, + vJ: function(a, b) { + var c, e, f + f = this.We.length - 1 + c = 0 + for (e = this.We.length; c < e; c++) + if (a >= this.We[c]) { + f = c + break + } + f == this.HC && (0 < f && 0 > this.QC) && f-- + a = this.We[f] + e = (e = ue.abs(a - this.We[this.HC])) ? 500 * (ue.abs(this.x - a) / e) : 0 + this.HC = f + f = this.wf.length - 1 + for (c = 0; c < f; c++) + if (b >= this.wf[c]) { + f = c + break + } + f == this.IC && (0 < f && 0 > this.RC) && f-- + b = this.wf[f] + c = (c = ue.abs(b - this.wf[this.IC])) ? 500 * (ue.abs(this.y - b) / c) : 0 + this.IC = f + f = ue.round(ue.max(e, c)) || 200 + return { + x: a, + y: b, + time: f + } + }, + ba: function(a, b, c) { + (b || this.Nb).addEventListener(a, this, !!c) + }, + $d: function(a, b, c) { + (b || this.Nb).removeEventListener(a, this, !!c) + }, + NC: ga(2), + refresh: function() { + var a, b, c, e = 0 + b = 0 + this.scale < this.options.$k && (this.scale = this.options.$k) + this.Cu = this.zn.clientWidth || 1 + this.An = this.zn.clientHeight || 1 + this.sf = -this.options.n0 || 0 + this.Ky = ue.round(this.Nb.offsetWidth * this.scale) + this.Ip = ue.round((this.Nb.offsetHeight + this.sf) * this.scale) + this.he = this.Cu - this.Ky + this.qd = this.An - this.Ip + this.sf + this.RC = this.QC = 0 + this.options.CN && this.options.CN.call(this) + this.kp = this.options.kp && 0 > this.he + this.xn = this.options.xn && (!this.options.LV && !this.kp || this.Ip > this.An) + this.ii = this.kp && this.options.ii + this.xi = this.xn && this.options.xi && this.Ip > this.An + a = this.Zj(this.zn) + this.iG = -a.left + this.jG = -a.top + if ('string' == typeof this.options.iu) { + this.We = [] + this.wf = [] + c = this.Nb.querySelectorAll(this.options.iu) + a = 0 + for (b = c.length; a < b; a++) + e = this.Zj(c[a]), + e.left += this.iG, + e.top += this.jG, + this.We[a] = e.left < this.he ? this.he : e.left * this.scale, + this.wf[a] = e.top < this.qd ? this.qd : e.top * this.scale + } else if (this.options.iu) { + for (this.We = []; e >= this.he; ) + this.We[b] = e, + e -= this.Cu, + b++ + this.he % this.Cu && (this.We[this.We.length] = this.he - this.We[this.We.length - 1] + this.We[this.We.length - 1]) + b = e = 0 + for (this.wf = []; e >= this.qd; ) + this.wf[b] = e, + e -= this.An, + b++ + this.qd % this.An && (this.wf[this.wf.length] = this.qd - this.wf[this.wf.length - 1] + this.wf[this.wf.length - 1]) + } + this.Sv('h') + this.Sv('v') + this.al || (this.Nb.style[Fe] = '0', + this.lo(400)) + }, + scrollTo: function(a, b, c, e) { + var f = a + this.stop() + f.length || (f = [{ + x: a, + y: b, + time: c, + TZ: e + }]) + a = 0 + for (b = f.length; a < b; a++) + f[a].TZ && (f[a].x = this.x - f[a].x, + f[a].y = this.y - f[a].y), + this.yj.push({ + x: f[a].x, + y: f[a].y, + time: f[a].time || 0 + }) + this.MB() + }, + disable: function() { + this.stop() + this.lo(0) + this.enabled = t + this.$d(Re, window) + this.$d(Se, window) + this.$d(Te, window) + }, + enable: function() { + this.enabled = q + }, + stop: function() { + this.options.wi ? this.$d(Ue) : We(this.fC) + this.yj = [] + this.Yl = this.oh = t + }, + zoom: function(a, b, c, e) { + var f = c / this.scale + this.options.Yk && (this.al = q, + e = e === l ? 200 : e, + a = a - this.iG - this.x, + b = b - this.jG - this.y, + this.x = a - a * f + this.x, + this.y = b - b * f + this.y, + this.scale = c, + this.refresh(), + this.x = 0 < this.x ? 0 : this.x < this.he ? this.he : this.x, + this.y = this.y > this.sf ? this.sf : this.y < this.qd ? this.qd : this.y, + this.Nb.style[Fe] = e + 'ms', + this.Nb.style[De] = 'translate(' + this.x + 'px,' + this.y + 'px) scale(' + c + ')' + Xe, + this.al = t) + } + } + function Ce(a) { + if ('' === we) + return a + a = a.charAt(0).toUpperCase() + a.substr(1) + return we + a + } + ve = s + function Ze(a) { + this.j = { + anchor: Yb, + offset: new O(0,0), + maxWidth: '100%', + imageHeight: 80 + } + var a = a || {}, b + for (b in a) + this.j[b] = a[b] + this.Ll = new ec(s,{ + of: 'api' + }) + this.bk = [] + this.P = s + this.ig = { + height: this.j.imageHeight, + width: this.j.imageHeight * $e + } + this.Rc = this.BB = this.bm = this.Zc = s + } + var af = [0, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 6, 6, 7, 8, 8, 8, 9, 10] + , bf = '\u5176\u4ed6 \u6b63\u95e8 \u623f\u578b \u8bbe\u65bd \u6b63\u95e8 \u9910\u996e\u8bbe\u65bd \u5176\u4ed6\u8bbe\u65bd \u6b63\u95e8 \u8bbe\u65bd \u89c2\u5f71\u5385 \u5176\u4ed6\u8bbe\u65bd'.split(' ') + B.Tm(function(a) { + var b = s + a.addEventListener('position_changed', function() { + a.j.visible && a.j.albumsControl === q && (b ? b.Ey(a.Xb()) : (b = new Ze(a.j.albumsControlOptions), + b.na(a))) + }) + a.addEventListener('albums_visible_changed', function() { + a.j.albumsControl === q ? (b ? b.Ey(a.Xb()) : (b = new Ze(a.j.albumsControlOptions), + b.na(a)), + b.show()) : b.U() + }) + a.addEventListener('albums_options_changed', function() { + b && b.Qk(a.j.albumsControlOptions) + }) + a.addEventListener('visible_changed', function() { + b && (a.kE() ? a.j.albumsControl === q && (b.C.style.visibility = 'visible') : b.C.style.visibility = 'hidden') + }) + }) + var $e = 1.8 + H() && ($e = 1) + z.extend(Ze.prototype, { + Qk: function(a) { + for (var b in a) + this.j[b] = a[b] + a = this.j.imageHeight + 'px' + this.uc(this.j.anchor) + this.C.style.width = isNaN(Number(this.j.maxWidth)) === q ? this.j.maxWidth : this.j.maxWidth + 'px' + this.C.style.height = a + this.gk.style.height = a + this.Rh.style.height = a + this.ig = { + height: this.j.imageHeight, + width: this.j.imageHeight * $e + } + this.fk.style.height = this.ig.height - 6 + 'px' + this.fk.style.width = this.ig.width - 6 + 'px' + this.Ey(this.P.Xb(), q) + }, + na: function(a) { + this.P = a + this.ls() + this.yQ() + this.OY() + this.Ey(a.Xb()) + }, + ls: function() { + var a = this.j.imageHeight + 'px' + this.C = L('div') + var b = this.C.style + b.cssText = 'background:rgb(37,37,37);background:rgba(37,37,37,0.9);' + b.position = 'absolute' + b.zIndex = '2000' + b.width = isNaN(Number(this.j.maxWidth)) === q ? this.j.maxWidth : this.j.maxWidth + 'px' + b.padding = '8px 0' + b.visibility = 'hidden' + b.height = a + this.gk = L('div') + b = this.gk.style + b.position = 'absolute' + b.overflow = 'hidden' + b.width = '100%' + b.height = a + this.Rh = L('div') + b = this.Rh.style + b.height = a + this.gk.appendChild(this.Rh) + this.C.appendChild(this.gk) + this.P.C.appendChild(this.C) + this.fk = L('div', { + 'class': 'pano_photo_item_seleted' + }) + this.fk.style.height = this.ig.height - 6 + 'px' + this.fk.style.width = this.ig.width - 6 + 'px' + this.uc(this.j.anchor) + }, + RH: function(a) { + for (var b = this.bk, c = b.length - 1; 0 <= c; c--) + if (b[c].panoId == a) + return c + return -1 + }, + Ey: function(a, b) { + if (b || !this.bk[this.Zc] || !(this.bk[this.Zc].panoId == a && 3 !== this.bk[this.Zc].recoType)) { + var c = this + , e = this.RH(a) + !b && -1 !== e && this.bk[e] && 3 !== this.bk[e].recoType ? this.Mp(e) : this.dY(function(a) { + for (var b = {}, e, k, m = t, n = [], o = 0, p = a.length; o < p; o++) + e = a[o].catlog, + k = a[o].floor, + l !== e && ('' === e && l !== k ? (m = q, + b[k] || (b[k] = []), + b[k].push(a[o])) : (b[af[e]] || (b[af[e]] = []), + b[af[e]].push(a[o]))) + for (var v in b) + m ? n.push({ + data: v + 'F', + index: v + }) : n.push({ + data: bf[v], + index: v + }) + c.jH = b + c.Ji = n + c.Il(a) + 0 == a.length ? c.U() : c.show() + }) + } + }, + vW: function() { + if (!this.Gi) { + var a = this.SX(this.Ji) + , b = L('div') + b.style.cssText = ['width:' + 134 * this.Ji.length + 'px;', 'overflow:hidden;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;'].join('') + b.innerHTML = a + a = L('div') + a.appendChild(b) + a.style.cssText = 'position:absolute;top:-25px;background:rgb(37,37,37);background:rgba(37,37,37,0.9);border-bottom:1px solid #4e596a;width:100%;line-height:25px;height:25px;overflow:scroll;outline:0' + new Ye(a,{ + Go: t, + iy: q, + ii: t, + xi: t, + xn: t, + OE: q, + Pw: q, + Mx: q + }) + this.C.appendChild(a) + for (var c = this, e = b.getElementsByTagName('span'), f = 0, g = e.length; f < g; f++) + b = e[f], + z.M(b, 'click', function() { + if (this.getAttribute('dataindex')) { + c.Il(c.jH[this.getAttribute('dataindex')]) + for (var a = 0, b = e.length; a < b; a++) + e[a].style.color = '#FFFFFF' + this.style.color = '#3383FF' + } + }) + this.Gi = a + } + }, + sW: function() { + if (this.Gi) + a = this.AL(this.Ji), + this.OQ.innerHTML = a + else { + var a = this.AL(this.Ji) + , b = L('ul') + , c = this + b.style.cssText = 'list-style: none;padding:0px;margin:0px;display:block;width:60px;position:absolute;top:7px' + b.innerHTML = a + z.M(b, 'click', function(a) { + if (a = (a.srcElement || a.target).getAttribute('dataindex')) { + c.Il(c.jH[a]) + for (var e = b.getElementsByTagName('li'), f = 0, g = e.length; f < g; f++) + e[f].childNodes[0].getAttribute('dataindex') === a ? z.D.Ua(e[f], 'pano_catlogLiActive') : z.D.Pb(e[f], 'pano_catlogLiActive') + } + }) + var a = L('div') + , e = L('a') + , f = L('span') + , g = L('a') + , i = L('span') + , k = ['background:url(' + G.qa + 'panorama/catlog_icon.png) no-repeat;', 'display:block;width:10px;height:7px;margin:0 auto;'].join('') + f.style.cssText = k + 'background-position:-18px 0;' + e.style.cssText = 'background:#1C1C1C;display:block;position:absolute;width:58px;' + i.style.cssText = k + 'background-position:0 0;' + g.style.cssText = 'background:#1C1C1C;display:block;position:absolute;width:58px;' + g.style.top = this.j.imageHeight - 7 + 'px' + a.style.cssText = 'position:absolute;top:0px;left:0px;width:60px;' + e.appendChild(f) + g.appendChild(i) + z.M(e, 'mouseover', function() { + var a = parseInt(b.style.top, 10) + 7 !== a && (f.style.backgroundPosition = '-27px 0') + new tb({ + Ic: 60, + kc: ub.Ks, + duration: 300, + va: function(c) { + b.style.top = a + (7 - a) * c + 'px' + } + }) + }) + z.M(e, 'mouseout', function() { + f.style.backgroundPosition = '-18px 0' + }) + z.M(g, 'mouseover', function() { + var a = parseInt(b.style.top, 10) + , e = c.j.imageHeight - 14 + if (!(parseInt(b.offsetHeight, 10) < e)) { + var f = e - parseInt(b.offsetHeight, 10) + 7 + f !== a && (i.style.backgroundPosition = '-9px 0') + new tb({ + Ic: 60, + kc: ub.Ks, + duration: 300, + va: function(c) { + b.style.top = a + (f - a) * c + 'px' + } + }) + } + }) + z.M(g, 'mouseout', function() { + i.style.backgroundPosition = '0 0' + }) + a.appendChild(e) + a.appendChild(g) + e = L('div') + e.style.cssText = ['position:absolute;z-index:2001;left:20px;', 'height:' + this.j.imageHeight + 'px;', 'width:62px;overflow:hidden;background:rgb(37,37,37);background:rgba(37,37,37,0.9);'].join('') + e.appendChild(b) + e.appendChild(a) + this.Gi = e + this.OQ = b + this.C.appendChild(e) + } + }, + tW: function() { + if (this.Ji && !(0 >= this.Ji.length)) { + var a = L('div') + a.innerHTML = this.hA + a.style.cssText = 'position:absolute;background:#252525' + this.C.appendChild(a) + this.Os = a + this.Rc.jg.style.left = this.ig.width + 8 + 'px' + this.Gi && (this.Gi.style.left = parseInt(this.Gi.style.left, 10) + this.ig.width + 8 + 'px') + var b = this + z.M(a, 'click', function() { + b.P.vc(b.gX) + }) + } + }, + Il: function(a) { + this.bk = a + this.j.showCatalog && (0 < this.Ji.length ? (Ua() ? this.sW() : this.vW(), + this.Rc.offsetLeft = 60) : (this.Os && (this.C.removeChild(this.Os), + this.Os = s, + this.Rc.jg.style.left = '0px'), + this.Gi && (this.C.removeChild(this.Gi), + this.Gi = s), + this.Rc.offsetLeft = 0)) + var b = this.LX(a) + Ua() && (this.Ji && 0 < this.Ji.length && this.j.showExit && this.hA) && (this.Rc.offsetLeft += this.ig.width + 8, + this.Os ? this.Os.innerHTML = this.hA : this.tW()) + this.Rh.innerHTML = b + this.Rh.style.width = (this.ig.width + 8) * a.length + 8 + 'px' + a = this.C.offsetWidth + b = this.Rh.offsetWidth + this.Rc.Vs && (b += this.Rc.Vs()) + b < a - 2 * this.Rc.Ai - this.Rc.offsetLeft ? this.C.style.width = b + this.Rc.offsetLeft + 'px' : (this.C.style.width = isNaN(Number(this.j.maxWidth)) === q ? this.j.maxWidth : this.j.maxWidth + 'px', + b < this.C.offsetWidth - 2 * this.Rc.Ai - this.Rc.offsetLeft && (this.C.style.width = b + this.Rc.offsetLeft + 'px')) + this.Rc.refresh() + this.BB = this.Rh.children + this.Rh.appendChild(this.fk) + this.fk.style.left = '-100000px' + a = this.RH(this.P.Xb(), this.Y1); + -1 !== a && this.Mp(a) + }, + SX: function(a) { + for (var b = '', c, e = 0, f = a.length; e < f; e++) + c = '
' + a[e].data + '
', + b += c + return b + }, + AL: function(a) { + for (var b = '', c, e = 0, f = a.length; e < f; e++) + c = '
  • ' + a[e].data + '
  • ', + b += c + return b + }, + LX: function(a) { + for (var b, c, e, f, g = [], i = this.ig.height, k = this.ig.width, m = 0; m < a.length; m++) + b = a[m], + recoType = b.recoType, + e = b.panoId, + f = b.name, + c = b.heading, + b = b.pitch, + c = qe.PL(e, c, b, 198, 108), + b = '' + f + '' + f + '', + 3 === recoType ? Ua() ? (this.hA = b, + this.gX = e, + a.splice(m, 1), + m--) : (b = '' + f + '
    ', + g.push(b)) : g.push(b) + return g.join('') + }, + dY: function(a) { + var b = this + , c = this.P.Xb() + c && this.Ll.Kx(c, function(e) { + b.P.Xb() === c && a(e) + }) + }, + uc: function(a) { + if (!Wa(a) || isNaN(a) || a < Wb || 3 < a) + a = this.defaultAnchor + var b = this.C + , c = this.j.offset.width + , e = this.j.offset.height + b.style.left = b.style.top = b.style.right = b.style.bottom = 'auto' + switch (a) { + case Wb: + b.style.top = e + 'px' + b.style.left = c + 'px' + break + case Xb: + b.style.top = e + 'px' + b.style.right = c + 'px' + break + case Yb: + b.style.bottom = e + 'px' + b.style.left = c + 'px' + break + case 3: + b.style.bottom = e + 'px', + b.style.right = c + 'px' + } + }, + yQ: function() { + this.wQ() + }, + wQ: function() { + var a = this + z.M(this.C, 'touchstart', function(a) { + a.stopPropagation() + }) + z.M(this.gk, 'click', function(b) { + if ((b = (b.srcElement || b.target).getAttribute('data-index')) && b != a.Zc) + a.Mp(b), + a.P.vc(a.bk[b].panoId) + }) + z.M(this.Rh, 'mouseover', function(b) { + b = (b.srcElement || b.target).getAttribute('data-index') + b !== s && a.BK(b, q) + }) + this.P.addEventListener('size_changed', function() { + isNaN(Number(a.j.maxWidth)) && a.Qk({ + maxWidth: a.j.maxWidth + }) + }) + }, + Mp: function(a) { + this.fk.style.left = this.BB[a].offsetLeft + 8 + 'px' + this.fk.setAttribute('data-index', this.BB[a].getAttribute('data-index')) + this.Zc = a + this.BK(a) + }, + BK: function(a, b) { + var c = this.ig.width + 8 + , e = 0 + this.Rc.Vs && (e = this.Rc.Vs() / 2) + var f = this.gk.offsetWidth - 2 * e + , g = this.Rh.offsetLeft || this.Rc.x + , g = g - e + , i = -a * c + i > g && this.Rc.scrollTo(i + e) + c = i - c + g -= f + c < g && (!b || b && 8 < i - g) && this.Rc.scrollTo(c + f + e) + }, + OY: function() { + this.Rc = H() ? new Ye(this.gk,{ + Go: t, + iy: q, + ii: t, + xi: t, + xn: t, + OE: q, + Pw: q, + Mx: q + }) : new cf(this.gk) + }, + U: function() { + this.C.style.visibility = 'hidden' + }, + show: function() { + this.C.style.visibility = 'visible' + } + }) + function cf(a) { + this.C = a + this.Vg = a.children[0] + this.Pr = s + this.Ai = 20 + this.offsetLeft = 0 + this.na() + } + cf.prototype = { + na: function() { + this.Vg.style.position = 'relative' + this.refresh() + this.ls() + this.$l() + }, + refresh: function() { + this.ho = this.C.offsetWidth - this.Vs() + this.aB = -(this.Vg.offsetWidth - this.ho - this.Ai) + this.Ev = this.Ai + this.offsetLeft + this.Vg.style.left = this.Ev + 'px' + this.Vg.children[0] && (this.Pr = this.Vg.children[0].offsetWidth) + this.jg && (this.jg.children[0].style.marginTop = this.Hr.children[0].style.marginTop = this.jg.offsetHeight / 2 - this.jg.children[0].offsetHeight / 2 + 'px') + }, + Vs: function() { + return 2 * this.Ai + }, + ls: function() { + this.Tv = L('div') + this.Tv.innerHTML = '' + this.jg = this.Tv.children[0] + this.Hr = this.Tv.children[1] + this.C.appendChild(this.Tv) + this.jg.children[0].style.marginTop = this.Hr.children[0].style.marginTop = this.jg.offsetHeight / 2 - this.jg.children[0].offsetHeight / 2 + 'px' + }, + $l: function() { + var a = this + z.M(this.jg, 'click', function() { + a.scrollTo(a.Vg.offsetLeft + a.ho) + }) + z.M(this.Hr, 'click', function() { + a.scrollTo(a.Vg.offsetLeft - a.ho) + }) + }, + aV: function() { + z.D.Pb(this.jg, 'pano_arrow_disable') + z.D.Pb(this.Hr, 'pano_arrow_disable') + var a = this.Vg.offsetLeft + a >= this.Ev && z.D.Ua(this.jg, 'pano_arrow_disable') + a - this.ho <= this.aB && z.D.Ua(this.Hr, 'pano_arrow_disable') + }, + scrollTo: function(a) { + a = a < this.Vg.offsetLeft ? Math.ceil((a - this.Ai - this.ho) / this.Pr) * this.Pr + this.ho + this.Ai - 8 : Math.ceil((a - this.Ai) / this.Pr) * this.Pr + this.Ai + a < this.aB ? a = this.aB : a > this.Ev && (a = this.Ev) + var b = this.Vg.offsetLeft + , c = this + new tb({ + Ic: 60, + kc: ub.Ks, + duration: 300, + va: function(e) { + c.Vg.style.left = b + (a - b) * e + 'px' + }, + finish: function() { + c.aV() + } + }) + } + } + B.Map = Ka + B.Hotspot = ib + B.MapType = id + B.Point = J + B.Pixel = Q + B.Size = O + B.Bounds = fb + B.TileLayer = Mc + B.Projection = jc + B.MercatorProjection = S + B.PerspectiveProjection = hb + B.Copyright = function(a, b, c) { + this.id = a + this.bb = b + this.content = c + } + + B.Overlay = mc + B.Label = uc + B.GroundOverlay = vc + B.PointCollection = zc + B.Marker = U + B.CanvasLayer = Cc + B.Icon = qc + B.IconSequence = sc + B.Symbol = rc + B.Polyline = Gc + B.Polygon = Fc + B.InfoWindow = tc + B.Circle = Hc + B.Control = Vb + B.NavigationControl = jb + B.GeolocationControl = Zb + B.OverviewMapControl = lb + B.CopyrightControl = $b + B.ScaleControl = kb + B.MapTypeControl = mb + B.CityListControl = ac + B.PanoramaControl = cc + B.TrafficLayer = Vc + B.CustomLayer = nb + B.ContextMenu = fc + B.MenuItem = ic + B.LocalSearch = cb + B.TransitRoute = Kd + B.DrivingRoute = Nd + B.WalkingRoute = Od + B.RidingRoute = Pd + B.Autocomplete = Zd + B.RouteSearch = Td + B.Geocoder = Ud + B.LocalCity = Wd + B.Geolocation = Geolocation + B.Convertor = lc + B.BusLineSearch = Yd + B.Boundary = Xd + B.VectorCloudLayer = Tc + B.VectorTrafficLayer = Uc + B.Panorama = Oa + B.PanoramaLabel = ee + B.PanoramaService = ec + B.PanoramaCoverageLayer = dc + B.PanoramaFlashInterface = oe + function T(a, b) { + for (var c in b) + a[c] = b[c] + } + T(window, { + BMap: B, + _jsload2: function(a, b) { + ia.Wy.ZY && ia.Wy.set(a, b) + K.WV(a, b) + }, + BMAP_API_VERSION: '2.0' + }) + var X = Ka.prototype + T(X, { + getBounds: X.ve, + getCenter: X.Ka, + getMapType: X.oa, + getSize: X.cb, + setSize: X.Ce, + getViewport: X.ht, + getZoom: X.fa, + centerAndZoom: X.Fd, + panTo: X.qi, + panBy: X.Ag, + setCenter: X.Zf, + setCurrentCity: X.DF, + setMapType: X.Dg, + setViewport: X.yh, + setZoom: X.Qc, + highResolutionEnabled: X.Sx, + zoomTo: X.Gg, + zoomIn: X.kG, + zoomOut: X.lG, + addHotspot: X.Cw, + removeHotspot: X.VZ, + clearHotspots: X.dm, + checkResize: X.ZV, + addControl: X.Aw, + removeControl: X.VN, + getContainer: X.La, + addContextMenu: X.yo, + removeContextMenu: X.Cp, + addOverlay: X.Ga, + removeOverlay: X.Qb, + clearOverlays: X.yK, + openInfoWindow: X.pc, + closeInfoWindow: X.Yc, + pointToOverlayPixel: X.Xe, + overlayPixelToPoint: X.JN, + getInfoWindow: X.hh, + getOverlays: X.Hx, + getPanes: function() { + return { + floatPane: this.Yd.BD, + markerMouseTarget: this.Yd.RE, + floatShadow: this.Yd.sL, + labelPane: this.Yd.KE, + markerPane: this.Yd.fN, + markerShadow: this.Yd.gN, + mapPane: this.Yd.Et, + vertexPane: this.Yd.nP + } + }, + addTileLayer: X.Oe, + removeTileLayer: X.Yf, + pixelToPoint: X.xb, + pointToPixel: X.$b, + setFeatureStyle: X.Lp, + selectBaseElement: X.j5, + setMapStyle: X.Zt, + enable3DBuilding: X.Ro, + disable3DBuilding: X.KW, + getPanorama: X.tm, + initIndoorLayer: X.PY, + setNormalMapDisplay: X.D_ + }) + var df = id.prototype + T(df, { + getTileLayer: df.oY, + getMinZoom: df.bp, + getMaxZoom: df.sm, + getProjection: df.wm, + getTextColor: df.zm, + getTips: df.gt + }) + T(window, { + BMAP_NORMAL_MAP: La, + BMAP_PERSPECTIVE_MAP: Qa, + BMAP_SATELLITE_MAP: Ya, + BMAP_HYBRID_MAP: Sa + }) + var ef = S.prototype + T(ef, { + lngLatToPoint: ef.kh, + pointToLngLat: ef.xj + }) + var ff = hb.prototype + T(ff, { + lngLatToPoint: ff.kh, + pointToLngLat: ff.xj + }) + var gf = fb.prototype + T(gf, { + equals: gf.pb, + containsPoint: gf.js, + containsBounds: gf.kW, + intersects: gf.ot, + extend: gf.extend, + getCenter: gf.Ka, + isEmpty: gf.tj, + getSouthWest: gf.Ve, + getNorthEast: gf.Rf, + toSpan: gf.YF + }) + var hf = mc.prototype + T(hf, { + isVisible: hf.jh, + show: hf.show, + hide: hf.U + }) + mc.getZIndex = mc.Ck + var jf = gb.prototype + T(jf, { + openInfoWindow: jf.pc, + closeInfoWindow: jf.Yc, + enableMassClear: jf.gj, + disableMassClear: jf.MW, + show: jf.show, + hide: jf.U, + getMap: jf.Dx, + addContextMenu: jf.yo, + removeContextMenu: jf.Cp + }) + var kf = U.prototype + T(kf, { + setIcon: kf.Rb, + getIcon: kf.ap, + setPosition: kf.sa, + getPosition: kf.ga, + setOffset: kf.Ze, + getOffset: kf.Sf, + getLabel: kf.VD, + setLabel: kf.dn, + setTitle: kf.Ec, + setTop: kf.ui, + enableDragging: kf.Wb, + disableDragging: kf.TC, + setZIndex: kf.Sp, + getMap: kf.Dx, + setAnimation: kf.bn, + setShadow: kf.Oy, + hide: kf.U, + setRotation: kf.Op, + getRotation: kf.TL + }) + T(window, { + BMAP_ANIMATION_DROP: 1, + BMAP_ANIMATION_BOUNCE: 2 + }) + var lf = uc.prototype + T(lf, { + setStyle: lf.Md, + setStyles: lf.ti, + setContent: lf.dd, + setPosition: lf.sa, + getPosition: lf.ga, + setOffset: lf.Ze, + getOffset: lf.Sf, + setTitle: lf.Ec, + setZIndex: lf.Sp, + getMap: lf.Dx, + getContent: lf.xk + }) + var mf = qc.prototype + T(mf, { + setImageUrl: mf.mO, + setSize: mf.Ce, + setAnchor: mf.uc, + setImageOffset: mf.Yt, + setImageSize: mf.w_, + setInfoWindowAnchor: mf.z_, + setPrintImageUrl: mf.K_ + }) + var nf = tc.prototype + T(nf, { + redraw: nf.je, + setTitle: nf.Ec, + setContent: nf.dd, + getContent: nf.xk, + getPosition: nf.ga, + enableMaximize: nf.dh, + disableMaximize: nf.kx, + isOpen: nf.Xa, + setMaxContent: nf.$t, + maximize: nf.hy, + enableAutoPan: nf.Ls + }) + var of = oc.prototype + T(of, { + getPath: of.Ue, + setPath: of.ke, + setPositionAt: of.gn, + getStrokeColor: of.jY, + setStrokeWeight: of.Rp, + getStrokeWeight: of.WL, + setStrokeOpacity: of.Pp, + getStrokeOpacity: of.kY, + setFillOpacity: of.Xt, + getFillOpacity: of.HX, + setStrokeStyle: of.Qp, + getStrokeStyle: of.VL, + getFillColor: of.GX, + getBounds: of.ve, + enableEditing: of.mf, + disableEditing: of.LW, + getEditing: of.DX + }) + var pf = Hc.prototype + T(pf, { + setCenter: pf.Zf, + getCenter: pf.Ka, + getRadius: pf.RL, + setRadius: pf.xf + }) + var qf = Fc.prototype + T(qf, { + getPath: qf.Ue, + setPath: qf.ke, + setPositionAt: qf.gn + }) + var rf = ib.prototype + T(rf, { + getPosition: rf.ga, + setPosition: rf.sa, + getText: rf.eE, + setText: rf.cu + }) + J.prototype.equals = J.prototype.pb + Q.prototype.equals = Q.prototype.pb + O.prototype.equals = O.prototype.pb + T(window, { + BMAP_ANCHOR_TOP_LEFT: Wb, + BMAP_ANCHOR_TOP_RIGHT: Xb, + BMAP_ANCHOR_BOTTOM_LEFT: Yb, + BMAP_ANCHOR_BOTTOM_RIGHT: 3 + }) + var sf = Vb.prototype + T(sf, { + setAnchor: sf.uc, + getAnchor: sf.HD, + setOffset: sf.Ze, + getOffset: sf.Sf, + show: sf.show, + hide: sf.U, + isVisible: sf.jh, + toString: sf.toString + }) + var tf = jb.prototype + T(tf, { + getType: tf.ip, + setType: tf.hn + }) + T(window, { + BMAP_NAVIGATION_CONTROL_LARGE: 0, + BMAP_NAVIGATION_CONTROL_SMALL: 1, + BMAP_NAVIGATION_CONTROL_PAN: 2, + BMAP_NAVIGATION_CONTROL_ZOOM: 3 + }) + var uf = lb.prototype + T(uf, { + changeView: uf.se, + setSize: uf.Ce, + getSize: uf.cb + }) + var vf = kb.prototype + T(vf, { + getUnit: vf.sY, + setUnit: vf.LF + }) + T(window, { + BMAP_UNIT_METRIC: 'metric', + BMAP_UNIT_IMPERIAL: 'us' + }) + var wf = $b.prototype + T(wf, { + addCopyright: wf.Bw, + removeCopyright: wf.qF, + getCopyright: wf.pm, + getCopyrightCollection: wf.PD + }) + T(window, { + BMAP_MAPTYPE_CONTROL_HORIZONTAL: bc, + BMAP_MAPTYPE_CONTROL_DROPDOWN: 1, + BMAP_MAPTYPE_CONTROL_MAP: 2 + }) + var xf = Mc.prototype + T(xf, { + getMapType: xf.oa, + getCopyright: xf.pm, + isTransparentPng: xf.zt + }) + var yf = fc.prototype + T(yf, { + addItem: yf.Dw, + addSeparator: yf.bC, + removeSeparator: yf.sF + }) + var zf = ic.prototype + T(zf, { + setText: zf.cu + }) + var Af = W.prototype + T(Af, { + getStatus: Af.xm, + setSearchCompleteCallback: Af.JF, + getPageCapacity: Af.qf, + setPageCapacity: Af.Np, + setLocation: Af.fn, + disableFirstResultSelection: Af.UC, + enableFirstResultSelection: Af.oD, + gotoPage: Af.Am, + searchNearby: Af.Jp, + searchInBounds: Af.an, + search: Af.search + }) + T(window, { + BMAP_STATUS_SUCCESS: 0, + BMAP_STATUS_CITY_LIST: 1, + BMAP_STATUS_UNKNOWN_LOCATION: sd, + BMAP_STATUS_UNKNOWN_ROUTE: 3, + BMAP_STATUS_INVALID_KEY: 4, + BMAP_STATUS_INVALID_REQUEST: 5, + BMAP_STATUS_PERMISSION_DENIED: td, + BMAP_STATUS_SERVICE_UNAVAILABLE: 7, + BMAP_STATUS_TIMEOUT: ud + }) + T(window, { + BMAP_POI_TYPE_NORMAL: 0, + BMAP_POI_TYPE_BUSSTOP: 1, + BMAP_POI_TYPE_BUSLINE: 2, + BMAP_POI_TYPE_SUBSTOP: 3, + BMAP_POI_TYPE_SUBLINE: 4 + }) + T(window, { + BMAP_TRANSIT_POLICY_RECOMMEND: 0, + BMAP_TRANSIT_POLICY_LEAST_TIME: 4, + BMAP_TRANSIT_POLICY_LEAST_TRANSFER: 1, + BMAP_TRANSIT_POLICY_LEAST_WALKING: 2, + BMAP_TRANSIT_POLICY_AVOID_SUBWAYS: 3, + BMAP_TRANSIT_POLICY_FIRST_SUBWAYS: 5, + BMAP_LINE_TYPE_BUS: 0, + BMAP_LINE_TYPE_SUBWAY: 1, + BMAP_LINE_TYPE_FERRY: 2, + BMAP_LINE_TYPE_TRAIN: 3, + BMAP_LINE_TYPE_AIRPLANE: 4, + BMAP_LINE_TYPE_COACH: 5 + }) + T(window, { + BMAP_TRANSIT_TYPE_POLICY_TRAIN: 0, + BMAP_TRANSIT_TYPE_POLICY_AIRPLANE: 1, + BMAP_TRANSIT_TYPE_POLICY_COACH: 2 + }) + T(window, { + BMAP_INTERCITY_POLICY_LEAST_TIME: 0, + BMAP_INTERCITY_POLICY_EARLY_START: 1, + BMAP_INTERCITY_POLICY_CHEAP_PRICE: 2 + }) + T(window, { + BMAP_TRANSIT_TYPE_IN_CITY: 0, + BMAP_TRANSIT_TYPE_CROSS_CITY: 1 + }) + T(window, { + BMAP_TRANSIT_PLAN_TYPE_ROUTE: 0, + BMAP_TRANSIT_PLAN_TYPE_LINE: 1 + }) + var Bf = Jd.prototype + T(Bf, { + clearResults: Bf.Pe + }) + Ld = Kd.prototype + T(Ld, { + setPolicy: Ld.bu, + toString: Ld.toString, + setPageCapacity: Ld.Np, + setIntercityPolicy: Ld.oO, + setTransitTypePolicy: Ld.xO + }) + T(window, { + BMAP_DRIVING_POLICY_DEFAULT: 0, + BMAP_DRIVING_POLICY_AVOID_HIGHWAYS: 3, + BMAP_DRIVING_POLICY_AVOID_CONGESTION: 5, + BMAP_DRIVING_POLICY_FIRST_HIGHWAYS: 4 + }) + T(window, { + BMAP_MODE_DRIVING: 'driving', + BMAP_MODE_TRANSIT: 'transit', + BMAP_MODE_WALKING: 'walking', + BMAP_MODE_NAVIGATION: 'navigation' + }) + var Cf = Td.prototype + T(Cf, { + routeCall: Cf.gO + }) + T(window, { + BMAP_HIGHLIGHT_STEP: 1, + BMAP_HIGHLIGHT_ROUTE: 2 + }) + T(window, { + BMAP_ROUTE_TYPE_DRIVING: wd, + BMAP_ROUTE_TYPE_WALKING: vd, + BMAP_ROUTE_TYPE_RIDING: xd + }) + T(window, { + BMAP_ROUTE_STATUS_NORMAL: yd, + BMAP_ROUTE_STATUS_EMPTY: 1, + BMAP_ROUTE_STATUS_ADDRESS: 2 + }) + var Df = Nd.prototype + T(Df, { + setPolicy: Df.bu + }) + var Ef = Zd.prototype + T(Ef, { + show: Ef.show, + hide: Ef.U, + setTypes: Ef.KF, + setLocation: Ef.fn, + search: Ef.search, + setInputValue: Ef.Ly + }) + T(nb.prototype, {}) + var Ff = Xd.prototype + T(Ff, { + get: Ff.get + }) + T(dc.prototype, {}) + T(db.prototype, {}) + T(window, { + BMAP_POINT_DENSITY_HIGH: 200, + BMAP_POINT_DENSITY_MEDIUM: Yc, + BMAP_POINT_DENSITY_LOW: 50 + }) + T(window, { + BMAP_POINT_SHAPE_STAR: 1, + BMAP_POINT_SHAPE_WATERDROP: 2, + BMAP_POINT_SHAPE_CIRCLE: wc, + BMAP_POINT_SHAPE_SQUARE: 4, + BMAP_POINT_SHAPE_RHOMBUS: 5 + }) + T(window, { + BMAP_POINT_SIZE_TINY: 1, + BMAP_POINT_SIZE_SMALLER: 2, + BMAP_POINT_SIZE_SMALL: 3, + BMAP_POINT_SIZE_NORMAL: xc, + BMAP_POINT_SIZE_BIG: 5, + BMAP_POINT_SIZE_BIGGER: 6, + BMAP_POINT_SIZE_HUGE: 7 + }) + T(window, { + BMap_Symbol_SHAPE_CAMERA: 11, + BMap_Symbol_SHAPE_WARNING: 12, + BMap_Symbol_SHAPE_SMILE: 13, + BMap_Symbol_SHAPE_CLOCK: 14, + BMap_Symbol_SHAPE_POINT: 9, + BMap_Symbol_SHAPE_PLANE: 10, + BMap_Symbol_SHAPE_CIRCLE: 1, + BMap_Symbol_SHAPE_RECTANGLE: 2, + BMap_Symbol_SHAPE_RHOMBUS: 3, + BMap_Symbol_SHAPE_STAR: 4, + BMap_Symbol_SHAPE_BACKWARD_CLOSED_ARROW: 5, + BMap_Symbol_SHAPE_FORWARD_CLOSED_ARROW: 6, + BMap_Symbol_SHAPE_BACKWARD_OPEN_ARROW: 7, + BMap_Symbol_SHAPE_FORWARD_OPEN_ARROW: 8 + }) + T(window, { + BMAP_CONTEXT_MENU_ICON_ZOOMIN: gc, + BMAP_CONTEXT_MENU_ICON_ZOOMOUT: hc + }) + T(window, { + BMAP_SYS_DRAWER: Ja, + BMAP_SVG_DRAWER: 1, + BMAP_VML_DRAWER: 2, + BMAP_CANVAS_DRAWER: 3, + BMAP_SVG_DRAWER_FIRST: 4 + }) + B.vV() + B.Q0() +} +)() diff --git a/public/images/6.png b/public/images/6.png new file mode 100644 index 0000000..6670cb7 Binary files /dev/null and b/public/images/6.png differ diff --git a/public/images/Mario.png b/public/images/Mario.png new file mode 100644 index 0000000..869d14b Binary files /dev/null and b/public/images/Mario.png differ diff --git a/public/images/blank.gif b/public/images/blank.gif new file mode 100644 index 0000000..71cb4ee Binary files /dev/null and b/public/images/blank.gif differ diff --git a/public/images/circle.png b/public/images/circle.png new file mode 100644 index 0000000..a50af1e Binary files /dev/null and b/public/images/circle.png differ diff --git a/public/images/closedhand.cur b/public/images/closedhand.cur new file mode 100644 index 0000000..ef36639 Binary files /dev/null and b/public/images/closedhand.cur differ diff --git a/public/images/copyright_logo.png b/public/images/copyright_logo.png new file mode 100644 index 0000000..2461ed0 Binary files /dev/null and b/public/images/copyright_logo.png differ diff --git a/public/images/iw3.png b/public/images/iw3.png new file mode 100644 index 0000000..50b19ae Binary files /dev/null and b/public/images/iw3.png differ diff --git a/public/images/iw_close1d3.gif b/public/images/iw_close1d3.gif new file mode 100644 index 0000000..f9f0f50 Binary files /dev/null and b/public/images/iw_close1d3.gif differ diff --git a/public/images/iw_minus.gif b/public/images/iw_minus.gif new file mode 100644 index 0000000..3fb0c72 Binary files /dev/null and b/public/images/iw_minus.gif differ diff --git a/public/images/iw_plus.gif b/public/images/iw_plus.gif new file mode 100644 index 0000000..244763b Binary files /dev/null and b/public/images/iw_plus.gif differ diff --git a/public/images/iw_plus1d3.gif b/public/images/iw_plus1d3.gif new file mode 100644 index 0000000..3efc8b5 Binary files /dev/null and b/public/images/iw_plus1d3.gif differ diff --git a/public/images/iws3.png b/public/images/iws3.png new file mode 100644 index 0000000..4c28596 Binary files /dev/null and b/public/images/iws3.png differ diff --git a/public/images/m0.png b/public/images/m0.png new file mode 100644 index 0000000..329ff52 Binary files /dev/null and b/public/images/m0.png differ diff --git a/public/images/m1.png b/public/images/m1.png new file mode 100644 index 0000000..b999cbc Binary files /dev/null and b/public/images/m1.png differ diff --git a/public/images/m2.png b/public/images/m2.png new file mode 100644 index 0000000..9f30b30 Binary files /dev/null and b/public/images/m2.png differ diff --git a/public/images/m3.png b/public/images/m3.png new file mode 100644 index 0000000..0d3f826 Binary files /dev/null and b/public/images/m3.png differ diff --git a/public/images/m4.png b/public/images/m4.png new file mode 100644 index 0000000..61387d2 Binary files /dev/null and b/public/images/m4.png differ diff --git a/public/images/mapctrls1d3.gif b/public/images/mapctrls1d3.gif new file mode 100644 index 0000000..522c6f8 Binary files /dev/null and b/public/images/mapctrls1d3.gif differ diff --git a/public/images/mapctrls2d0.gif b/public/images/mapctrls2d0.gif new file mode 100644 index 0000000..b02291f Binary files /dev/null and b/public/images/mapctrls2d0.gif differ diff --git a/public/images/mapctrls2d0.png b/public/images/mapctrls2d0.png new file mode 100644 index 0000000..fc6b518 Binary files /dev/null and b/public/images/mapctrls2d0.png differ diff --git a/public/images/marker_red_hd.png b/public/images/marker_red_hd.png new file mode 100644 index 0000000..38a5900 Binary files /dev/null and b/public/images/marker_red_hd.png differ diff --git a/public/images/marker_red_sprite.png b/public/images/marker_red_sprite.png new file mode 100644 index 0000000..38a5900 Binary files /dev/null and b/public/images/marker_red_sprite.png differ diff --git a/public/images/node.gif b/public/images/node.gif new file mode 100644 index 0000000..62afc06 Binary files /dev/null and b/public/images/node.gif differ diff --git a/public/images/openhand.cur b/public/images/openhand.cur new file mode 100644 index 0000000..cb444f9 Binary files /dev/null and b/public/images/openhand.cur differ diff --git a/public/images/panorama/close.png b/public/images/panorama/close.png new file mode 100644 index 0000000..0b8c3bd Binary files /dev/null and b/public/images/panorama/close.png differ diff --git a/public/images/panorama/indoor_exit.png b/public/images/panorama/indoor_exit.png new file mode 100644 index 0000000..f7b31e7 Binary files /dev/null and b/public/images/panorama/indoor_exit.png differ diff --git a/public/images/phone.png b/public/images/phone.png new file mode 100644 index 0000000..6455d91 Binary files /dev/null and b/public/images/phone.png differ diff --git a/public/images/point-collection/blue-marke-15x16.png b/public/images/point-collection/blue-marke-15x16.png new file mode 100644 index 0000000..36a988d Binary files /dev/null and b/public/images/point-collection/blue-marke-15x16.png differ diff --git a/public/images/point-collection/red-marker-10x13.png b/public/images/point-collection/red-marker-10x13.png new file mode 100644 index 0000000..2e343cc Binary files /dev/null and b/public/images/point-collection/red-marker-10x13.png differ diff --git a/public/images/quanjing.png b/public/images/quanjing.png new file mode 100644 index 0000000..866b96d Binary files /dev/null and b/public/images/quanjing.png differ diff --git a/public/images/ruler.cur b/public/images/ruler.cur new file mode 100644 index 0000000..1a900be Binary files /dev/null and b/public/images/ruler.cur differ diff --git a/public/images/stop_icon.png b/public/images/stop_icon.png new file mode 100644 index 0000000..de909a9 Binary files /dev/null and b/public/images/stop_icon.png differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..456bb19 --- /dev/null +++ b/public/index.html @@ -0,0 +1,42 @@ + + + + + + + + 数字化试验训练系统 + + + + + + + + + + <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %> + + <% } %> + + + +
    +
    +

    正在加载,请稍后...

    +
    + +
    + +
    +
    + + <% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %> + + <% } %> + + + diff --git a/public/jquery.min.js b/public/jquery.min.js new file mode 100644 index 0000000..ab28a24 --- /dev/null +++ b/public/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
    ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; +if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
    a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:k.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("